diff options
Diffstat (limited to 'drivers/net/netxen/netxen_nic_ctx.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_ctx.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/net/netxen/netxen_nic_ctx.c b/drivers/net/netxen/netxen_nic_ctx.c index 8ab5773e47d6..33f82db01293 100644 --- a/drivers/net/netxen/netxen_nic_ctx.c +++ b/drivers/net/netxen/netxen_nic_ctx.c | |||
@@ -229,7 +229,8 @@ nx_fw_cmd_create_rx_ctx(struct netxen_adapter *adapter) | |||
229 | rds_ring = &recv_ctx->rds_rings[i]; | 229 | rds_ring = &recv_ctx->rds_rings[i]; |
230 | 230 | ||
231 | reg = le32_to_cpu(prsp_rds[i].host_producer_crb); | 231 | reg = le32_to_cpu(prsp_rds[i].host_producer_crb); |
232 | rds_ring->crb_rcv_producer = NETXEN_NIC_REG(reg - 0x200); | 232 | rds_ring->crb_rcv_producer = netxen_get_ioaddr(adapter, |
233 | NETXEN_NIC_REG(reg - 0x200)); | ||
233 | } | 234 | } |
234 | 235 | ||
235 | prsp_sds = ((nx_cardrsp_sds_ring_t *) | 236 | prsp_sds = ((nx_cardrsp_sds_ring_t *) |
@@ -239,10 +240,12 @@ nx_fw_cmd_create_rx_ctx(struct netxen_adapter *adapter) | |||
239 | sds_ring = &recv_ctx->sds_rings[i]; | 240 | sds_ring = &recv_ctx->sds_rings[i]; |
240 | 241 | ||
241 | reg = le32_to_cpu(prsp_sds[i].host_consumer_crb); | 242 | reg = le32_to_cpu(prsp_sds[i].host_consumer_crb); |
242 | sds_ring->crb_sts_consumer = NETXEN_NIC_REG(reg - 0x200); | 243 | sds_ring->crb_sts_consumer = netxen_get_ioaddr(adapter, |
244 | NETXEN_NIC_REG(reg - 0x200)); | ||
243 | 245 | ||
244 | reg = le32_to_cpu(prsp_sds[i].interrupt_crb); | 246 | reg = le32_to_cpu(prsp_sds[i].interrupt_crb); |
245 | sds_ring->crb_intr_mask = NETXEN_NIC_REG(reg - 0x200); | 247 | sds_ring->crb_intr_mask = netxen_get_ioaddr(adapter, |
248 | NETXEN_NIC_REG(reg - 0x200)); | ||
246 | } | 249 | } |
247 | 250 | ||
248 | recv_ctx->state = le32_to_cpu(prsp->host_ctx_state); | 251 | recv_ctx->state = le32_to_cpu(prsp->host_ctx_state); |
@@ -342,7 +345,8 @@ nx_fw_cmd_create_tx_ctx(struct netxen_adapter *adapter) | |||
342 | 345 | ||
343 | if (err == NX_RCODE_SUCCESS) { | 346 | if (err == NX_RCODE_SUCCESS) { |
344 | temp = le32_to_cpu(prsp->cds_ring.host_producer_crb); | 347 | temp = le32_to_cpu(prsp->cds_ring.host_producer_crb); |
345 | tx_ring->crb_cmd_producer = NETXEN_NIC_REG(temp - 0x200); | 348 | tx_ring->crb_cmd_producer = netxen_get_ioaddr(adapter, |
349 | NETXEN_NIC_REG(temp - 0x200)); | ||
346 | #if 0 | 350 | #if 0 |
347 | adapter->tx_state = | 351 | adapter->tx_state = |
348 | le32_to_cpu(prsp->host_ctx_state); | 352 | le32_to_cpu(prsp->host_ctx_state); |
@@ -651,7 +655,8 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter) | |||
651 | 655 | ||
652 | if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) | 656 | if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) |
653 | rds_ring->crb_rcv_producer = | 657 | rds_ring->crb_rcv_producer = |
654 | recv_crb_registers[port].crb_rcv_producer[ring]; | 658 | netxen_get_ioaddr(adapter, |
659 | recv_crb_registers[port].crb_rcv_producer[ring]); | ||
655 | } | 660 | } |
656 | 661 | ||
657 | for (ring = 0; ring < adapter->max_sds_rings; ring++) { | 662 | for (ring = 0; ring < adapter->max_sds_rings; ring++) { |
@@ -670,10 +675,12 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter) | |||
670 | sds_ring->desc_head = (struct status_desc *)addr; | 675 | sds_ring->desc_head = (struct status_desc *)addr; |
671 | 676 | ||
672 | sds_ring->crb_sts_consumer = | 677 | sds_ring->crb_sts_consumer = |
673 | recv_crb_registers[port].crb_sts_consumer[ring]; | 678 | netxen_get_ioaddr(adapter, |
679 | recv_crb_registers[port].crb_sts_consumer[ring]); | ||
674 | 680 | ||
675 | sds_ring->crb_intr_mask = | 681 | sds_ring->crb_intr_mask = |
676 | recv_crb_registers[port].sw_int_mask[ring]; | 682 | netxen_get_ioaddr(adapter, |
683 | recv_crb_registers[port].sw_int_mask[ring]); | ||
677 | } | 684 | } |
678 | 685 | ||
679 | 686 | ||