Commit 8a4bdbaa authored by Sivakumar Subramani's avatar Sivakumar Subramani Committed by David S. Miller

S2io: Removed unused feature - bimodal interrupts

Removed bimodal interrupt support - unused feature
Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>

[also, trim trailing whitespace]
parent bd684e43
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
#include "s2io.h" #include "s2io.h"
#include "s2io-regs.h" #include "s2io-regs.h"
#define DRV_VERSION "2.0.26.2" #define DRV_VERSION "2.0.26.4"
/* S2io Driver name & version. */ /* S2io Driver name & version. */
static char s2io_driver_name[] = "Neterion"; static char s2io_driver_name[] = "Neterion";
...@@ -452,7 +452,6 @@ S2IO_PARM_INT(mc_pause_threshold_q4q7, 187); ...@@ -452,7 +452,6 @@ S2IO_PARM_INT(mc_pause_threshold_q4q7, 187);
S2IO_PARM_INT(shared_splits, 0); S2IO_PARM_INT(shared_splits, 0);
S2IO_PARM_INT(tmac_util_period, 5); S2IO_PARM_INT(tmac_util_period, 5);
S2IO_PARM_INT(rmac_util_period, 5); S2IO_PARM_INT(rmac_util_period, 5);
S2IO_PARM_INT(bimodal, 0);
S2IO_PARM_INT(l3l4hdr_size, 128); S2IO_PARM_INT(l3l4hdr_size, 128);
/* Frequency of Rx desc syncs expressed as power of 2 */ /* Frequency of Rx desc syncs expressed as power of 2 */
S2IO_PARM_INT(rxsync_frequency, 3); S2IO_PARM_INT(rxsync_frequency, 3);
...@@ -1565,37 +1564,6 @@ static int init_nic(struct s2io_nic *nic) ...@@ -1565,37 +1564,6 @@ static int init_nic(struct s2io_nic *nic)
time++; time++;
} }
if (nic->config.bimodal) {
int k = 0;
for (k = 0; k < config->rx_ring_num; k++) {
val64 = TTI_CMD_MEM_WE | TTI_CMD_MEM_STROBE_NEW_CMD;
val64 |= TTI_CMD_MEM_OFFSET(0x38+k);
writeq(val64, &bar0->tti_command_mem);
/*
* Once the operation completes, the Strobe bit of the command
* register will be reset. We poll for this particular condition
* We wait for a maximum of 500ms for the operation to complete,
* if it's not complete by then we return error.
*/
time = 0;
while (TRUE) {
val64 = readq(&bar0->tti_command_mem);
if (!(val64 & TTI_CMD_MEM_STROBE_NEW_CMD)) {
break;
}
if (time > 10) {
DBG_PRINT(ERR_DBG,
"%s: TTI init Failed\n",
dev->name);
return -1;
}
time++;
msleep(50);
}
}
} else {
/* RTI Initialization */ /* RTI Initialization */
if (nic->device_type == XFRAME_II_DEVICE) { if (nic->device_type == XFRAME_II_DEVICE) {
/* /*
...@@ -1604,9 +1572,8 @@ static int init_nic(struct s2io_nic *nic) ...@@ -1604,9 +1572,8 @@ static int init_nic(struct s2io_nic *nic)
*/ */
int count = (nic->config.bus_speed * 125)/4; int count = (nic->config.bus_speed * 125)/4;
val64 = RTI_DATA1_MEM_RX_TIMER_VAL(count); val64 = RTI_DATA1_MEM_RX_TIMER_VAL(count);
} else { } else
val64 = RTI_DATA1_MEM_RX_TIMER_VAL(0xFFF); val64 = RTI_DATA1_MEM_RX_TIMER_VAL(0xFFF);
}
val64 |= RTI_DATA1_MEM_RX_URNG_A(0xA) | val64 |= RTI_DATA1_MEM_RX_URNG_A(0xA) |
RTI_DATA1_MEM_RX_URNG_B(0x10) | RTI_DATA1_MEM_RX_URNG_B(0x10) |
RTI_DATA1_MEM_RX_URNG_C(0x30) | RTI_DATA1_MEM_RX_TIMER_AC_EN; RTI_DATA1_MEM_RX_URNG_C(0x30) | RTI_DATA1_MEM_RX_TIMER_AC_EN;
...@@ -1638,9 +1605,9 @@ static int init_nic(struct s2io_nic *nic) ...@@ -1638,9 +1605,9 @@ static int init_nic(struct s2io_nic *nic)
time = 0; time = 0;
while (TRUE) { while (TRUE) {
val64 = readq(&bar0->rti_command_mem); val64 = readq(&bar0->rti_command_mem);
if (!(val64 & RTI_CMD_MEM_STROBE_NEW_CMD)) { if (!(val64 & RTI_CMD_MEM_STROBE_NEW_CMD))
break; break;
}
if (time > 10) { if (time > 10) {
DBG_PRINT(ERR_DBG, "%s: RTI init Failed\n", DBG_PRINT(ERR_DBG, "%s: RTI init Failed\n",
dev->name); dev->name);
...@@ -1650,7 +1617,6 @@ static int init_nic(struct s2io_nic *nic) ...@@ -1650,7 +1617,6 @@ static int init_nic(struct s2io_nic *nic)
msleep(50); msleep(50);
} }
} }
}
/* /*
* Initializing proper values as Pause threshold into all * Initializing proper values as Pause threshold into all
...@@ -2151,8 +2117,6 @@ static int start_nic(struct s2io_nic *nic) ...@@ -2151,8 +2117,6 @@ static int start_nic(struct s2io_nic *nic)
&bar0->prc_rxd0_n[i]); &bar0->prc_rxd0_n[i]);
val64 = readq(&bar0->prc_ctrl_n[i]); val64 = readq(&bar0->prc_ctrl_n[i]);
if (nic->config.bimodal)
val64 |= PRC_CTRL_BIMODAL_INTERRUPT;
if (nic->rxd_mode == RXD_MODE_1) if (nic->rxd_mode == RXD_MODE_1)
val64 |= PRC_CTRL_RC_ENABLED; val64 |= PRC_CTRL_RC_ENABLED;
else else
...@@ -3702,9 +3666,8 @@ static int s2io_enable_msi_x(struct s2io_nic *nic) ...@@ -3702,9 +3666,8 @@ static int s2io_enable_msi_x(struct s2io_nic *nic)
} }
writeq(tx_mat, &bar0->tx_mat0_n[0]); writeq(tx_mat, &bar0->tx_mat0_n[0]);
if (!nic->config.bimodal) {
rx_mat = readq(&bar0->rx_mat); rx_mat = readq(&bar0->rx_mat);
for (j=0; j<nic->config.rx_ring_num; j++, msix_indx++) { for (j = 0; j < nic->config.rx_ring_num; j++, msix_indx++) {
rx_mat |= RX_MAT_SET(j, msix_indx); rx_mat |= RX_MAT_SET(j, msix_indx);
nic->s2io_entries[msix_indx].arg nic->s2io_entries[msix_indx].arg
= &nic->mac_control.rings[j]; = &nic->mac_control.rings[j];
...@@ -3712,17 +3675,6 @@ static int s2io_enable_msi_x(struct s2io_nic *nic) ...@@ -3712,17 +3675,6 @@ static int s2io_enable_msi_x(struct s2io_nic *nic)
nic->s2io_entries[msix_indx].in_use = MSIX_FLG; nic->s2io_entries[msix_indx].in_use = MSIX_FLG;
} }
writeq(rx_mat, &bar0->rx_mat); writeq(rx_mat, &bar0->rx_mat);
} else {
tx_mat = readq(&bar0->tx_mat0_n[7]);
for (j=0; j<nic->config.rx_ring_num; j++, msix_indx++) {
tx_mat |= TX_MAT_SET(i, msix_indx);
nic->s2io_entries[msix_indx].arg
= &nic->mac_control.rings[j];
nic->s2io_entries[msix_indx].type = MSIX_RING_TYPE;
nic->s2io_entries[msix_indx].in_use = MSIX_FLG;
}
writeq(tx_mat, &bar0->tx_mat0_n[7]);
}
nic->avail_msix_vectors = 0; nic->avail_msix_vectors = 0;
ret = pci_enable_msix(nic->pdev, nic->entries, MAX_REQUESTED_MSI_X); ret = pci_enable_msix(nic->pdev, nic->entries, MAX_REQUESTED_MSI_X);
...@@ -7752,14 +7704,6 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre) ...@@ -7752,14 +7704,6 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)
/* Initialize device name */ /* Initialize device name */
sprintf(sp->name, "%s Neterion %s", dev->name, sp->product_name); sprintf(sp->name, "%s Neterion %s", dev->name, sp->product_name);
/* Initialize bimodal Interrupts */
sp->config.bimodal = bimodal;
if (!(sp->device_type & XFRAME_II_DEVICE) && bimodal) {
sp->config.bimodal = 0;
DBG_PRINT(ERR_DBG,"%s:Bimodal intr not supported by Xframe I\n",
dev->name);
}
/* /*
* Make Link state as off at this point, when the Link change * Make Link state as off at this point, when the Link change
* interrupt comes the state will be automatically changed to * interrupt comes the state will be automatically changed to
......
...@@ -444,7 +444,6 @@ struct config_param { ...@@ -444,7 +444,6 @@ struct config_param {
#define MAX_RX_BLOCKS_PER_RING 150 #define MAX_RX_BLOCKS_PER_RING 150
struct rx_ring_config rx_cfg[MAX_RX_RINGS]; /*Per-Rx Ring config */ struct rx_ring_config rx_cfg[MAX_RX_RINGS]; /*Per-Rx Ring config */
u8 bimodal; /*Flag for setting bimodal interrupts*/
#define HEADER_ETHERNET_II_802_3_SIZE 14 #define HEADER_ETHERNET_II_802_3_SIZE 14
#define HEADER_802_2_SIZE 3 #define HEADER_802_2_SIZE 3
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment