diff options
Diffstat (limited to 'drivers/net/qla3xxx.c')
-rw-r--r-- | drivers/net/qla3xxx.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index 6168a130f33f..771bb614ccc9 100644 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/if_vlan.h> | 35 | #include <linux/if_vlan.h> |
36 | #include <linux/delay.h> | 36 | #include <linux/delay.h> |
37 | #include <linux/mm.h> | 37 | #include <linux/mm.h> |
38 | #include <linux/prefetch.h> | ||
38 | 39 | ||
39 | #include "qla3xxx.h" | 40 | #include "qla3xxx.h" |
40 | 41 | ||
@@ -379,7 +380,7 @@ static void fm93c56a_select(struct ql3_adapter *qdev) | |||
379 | { | 380 | { |
380 | struct ql3xxx_port_registers __iomem *port_regs = | 381 | struct ql3xxx_port_registers __iomem *port_regs = |
381 | qdev->mem_map_registers; | 382 | qdev->mem_map_registers; |
382 | u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; | 383 | __iomem u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; |
383 | 384 | ||
384 | qdev->eeprom_cmd_data = AUBURN_EEPROM_CS_1; | 385 | qdev->eeprom_cmd_data = AUBURN_EEPROM_CS_1; |
385 | ql_write_nvram_reg(qdev, spir, ISP_NVRAM_MASK | qdev->eeprom_cmd_data); | 386 | ql_write_nvram_reg(qdev, spir, ISP_NVRAM_MASK | qdev->eeprom_cmd_data); |
@@ -398,7 +399,7 @@ static void fm93c56a_cmd(struct ql3_adapter *qdev, u32 cmd, u32 eepromAddr) | |||
398 | u32 previousBit; | 399 | u32 previousBit; |
399 | struct ql3xxx_port_registers __iomem *port_regs = | 400 | struct ql3xxx_port_registers __iomem *port_regs = |
400 | qdev->mem_map_registers; | 401 | qdev->mem_map_registers; |
401 | u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; | 402 | __iomem u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; |
402 | 403 | ||
403 | /* Clock in a zero, then do the start bit */ | 404 | /* Clock in a zero, then do the start bit */ |
404 | ql_write_nvram_reg(qdev, spir, | 405 | ql_write_nvram_reg(qdev, spir, |
@@ -467,7 +468,7 @@ static void fm93c56a_deselect(struct ql3_adapter *qdev) | |||
467 | { | 468 | { |
468 | struct ql3xxx_port_registers __iomem *port_regs = | 469 | struct ql3xxx_port_registers __iomem *port_regs = |
469 | qdev->mem_map_registers; | 470 | qdev->mem_map_registers; |
470 | u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; | 471 | __iomem u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; |
471 | 472 | ||
472 | qdev->eeprom_cmd_data = AUBURN_EEPROM_CS_0; | 473 | qdev->eeprom_cmd_data = AUBURN_EEPROM_CS_0; |
473 | ql_write_nvram_reg(qdev, spir, ISP_NVRAM_MASK | qdev->eeprom_cmd_data); | 474 | ql_write_nvram_reg(qdev, spir, ISP_NVRAM_MASK | qdev->eeprom_cmd_data); |
@@ -483,7 +484,7 @@ static void fm93c56a_datain(struct ql3_adapter *qdev, unsigned short *value) | |||
483 | u32 dataBit; | 484 | u32 dataBit; |
484 | struct ql3xxx_port_registers __iomem *port_regs = | 485 | struct ql3xxx_port_registers __iomem *port_regs = |
485 | qdev->mem_map_registers; | 486 | qdev->mem_map_registers; |
486 | u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; | 487 | __iomem u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; |
487 | 488 | ||
488 | /* Read the data bits */ | 489 | /* Read the data bits */ |
489 | /* The first bit is a dummy. Clock right over it. */ | 490 | /* The first bit is a dummy. Clock right over it. */ |
@@ -1725,7 +1726,7 @@ static int ql_get_settings(struct net_device *ndev, struct ethtool_cmd *ecmd) | |||
1725 | } | 1726 | } |
1726 | ecmd->advertising = ql_supported_modes(qdev); | 1727 | ecmd->advertising = ql_supported_modes(qdev); |
1727 | ecmd->autoneg = ql_get_auto_cfg_status(qdev); | 1728 | ecmd->autoneg = ql_get_auto_cfg_status(qdev); |
1728 | ecmd->speed = ql_get_speed(qdev); | 1729 | ethtool_cmd_speed_set(ecmd, ql_get_speed(qdev)); |
1729 | ecmd->duplex = ql_get_full_dup(qdev); | 1730 | ecmd->duplex = ql_get_full_dup(qdev); |
1730 | return 0; | 1731 | return 0; |
1731 | } | 1732 | } |
@@ -2029,7 +2030,7 @@ static void ql_process_mac_rx_intr(struct ql3_adapter *qdev, | |||
2029 | dma_unmap_len(lrg_buf_cb2, maplen), | 2030 | dma_unmap_len(lrg_buf_cb2, maplen), |
2030 | PCI_DMA_FROMDEVICE); | 2031 | PCI_DMA_FROMDEVICE); |
2031 | prefetch(skb->data); | 2032 | prefetch(skb->data); |
2032 | skb->ip_summed = CHECKSUM_NONE; | 2033 | skb_checksum_none_assert(skb); |
2033 | skb->protocol = eth_type_trans(skb, qdev->ndev); | 2034 | skb->protocol = eth_type_trans(skb, qdev->ndev); |
2034 | 2035 | ||
2035 | netif_receive_skb(skb); | 2036 | netif_receive_skb(skb); |
@@ -2076,7 +2077,7 @@ static void ql_process_macip_rx_intr(struct ql3_adapter *qdev, | |||
2076 | PCI_DMA_FROMDEVICE); | 2077 | PCI_DMA_FROMDEVICE); |
2077 | prefetch(skb2->data); | 2078 | prefetch(skb2->data); |
2078 | 2079 | ||
2079 | skb2->ip_summed = CHECKSUM_NONE; | 2080 | skb_checksum_none_assert(skb2); |
2080 | if (qdev->device_id == QL3022_DEVICE_ID) { | 2081 | if (qdev->device_id == QL3022_DEVICE_ID) { |
2081 | /* | 2082 | /* |
2082 | * Copy the ethhdr from first buffer to second. This | 2083 | * Copy the ethhdr from first buffer to second. This |
@@ -2460,14 +2461,14 @@ map_error: | |||
2460 | * The 3032 supports sglists by using the 3 addr/len pairs (ALP) | 2461 | * The 3032 supports sglists by using the 3 addr/len pairs (ALP) |
2461 | * in the IOCB plus a chain of outbound address lists (OAL) that | 2462 | * in the IOCB plus a chain of outbound address lists (OAL) that |
2462 | * each contain 5 ALPs. The last ALP of the IOCB (3rd) or OAL (5th) | 2463 | * each contain 5 ALPs. The last ALP of the IOCB (3rd) or OAL (5th) |
2463 | * will used to point to an OAL when more ALP entries are required. | 2464 | * will be used to point to an OAL when more ALP entries are required. |
2464 | * The IOCB is always the top of the chain followed by one or more | 2465 | * The IOCB is always the top of the chain followed by one or more |
2465 | * OALs (when necessary). | 2466 | * OALs (when necessary). |
2466 | */ | 2467 | */ |
2467 | static netdev_tx_t ql3xxx_send(struct sk_buff *skb, | 2468 | static netdev_tx_t ql3xxx_send(struct sk_buff *skb, |
2468 | struct net_device *ndev) | 2469 | struct net_device *ndev) |
2469 | { | 2470 | { |
2470 | struct ql3_adapter *qdev = (struct ql3_adapter *)netdev_priv(ndev); | 2471 | struct ql3_adapter *qdev = netdev_priv(ndev); |
2471 | struct ql3xxx_port_registers __iomem *port_regs = | 2472 | struct ql3xxx_port_registers __iomem *port_regs = |
2472 | qdev->mem_map_registers; | 2473 | qdev->mem_map_registers; |
2473 | struct ql_tx_buf_cb *tx_cb; | 2474 | struct ql_tx_buf_cb *tx_cb; |
@@ -3011,7 +3012,7 @@ static int ql_adapter_initialize(struct ql3_adapter *qdev) | |||
3011 | u32 value; | 3012 | u32 value; |
3012 | struct ql3xxx_port_registers __iomem *port_regs = | 3013 | struct ql3xxx_port_registers __iomem *port_regs = |
3013 | qdev->mem_map_registers; | 3014 | qdev->mem_map_registers; |
3014 | u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; | 3015 | __iomem u32 *spir = &port_regs->CommonRegs.serialPortInterfaceReg; |
3015 | struct ql3xxx_host_memory_registers __iomem *hmem_regs = | 3016 | struct ql3xxx_host_memory_registers __iomem *hmem_regs = |
3016 | (void __iomem *)port_regs; | 3017 | (void __iomem *)port_regs; |
3017 | u32 delay = 10; | 3018 | u32 delay = 10; |
@@ -3390,7 +3391,7 @@ static void ql_set_mac_info(struct ql3_adapter *qdev) | |||
3390 | 3391 | ||
3391 | static void ql_display_dev_info(struct net_device *ndev) | 3392 | static void ql_display_dev_info(struct net_device *ndev) |
3392 | { | 3393 | { |
3393 | struct ql3_adapter *qdev = (struct ql3_adapter *)netdev_priv(ndev); | 3394 | struct ql3_adapter *qdev = netdev_priv(ndev); |
3394 | struct pci_dev *pdev = qdev->pdev; | 3395 | struct pci_dev *pdev = qdev->pdev; |
3395 | 3396 | ||
3396 | netdev_info(ndev, | 3397 | netdev_info(ndev, |
@@ -3468,7 +3469,7 @@ static int ql_adapter_up(struct ql3_adapter *qdev) | |||
3468 | { | 3469 | { |
3469 | struct net_device *ndev = qdev->ndev; | 3470 | struct net_device *ndev = qdev->ndev; |
3470 | int err; | 3471 | int err; |
3471 | unsigned long irq_flags = IRQF_SAMPLE_RANDOM | IRQF_SHARED; | 3472 | unsigned long irq_flags = IRQF_SHARED; |
3472 | unsigned long hw_flags; | 3473 | unsigned long hw_flags; |
3473 | 3474 | ||
3474 | if (ql_alloc_mem_resources(qdev)) { | 3475 | if (ql_alloc_mem_resources(qdev)) { |
@@ -3573,7 +3574,7 @@ static int ql3xxx_open(struct net_device *ndev) | |||
3573 | 3574 | ||
3574 | static int ql3xxx_set_mac_address(struct net_device *ndev, void *p) | 3575 | static int ql3xxx_set_mac_address(struct net_device *ndev, void *p) |
3575 | { | 3576 | { |
3576 | struct ql3_adapter *qdev = (struct ql3_adapter *)netdev_priv(ndev); | 3577 | struct ql3_adapter *qdev = netdev_priv(ndev); |
3577 | struct ql3xxx_port_registers __iomem *port_regs = | 3578 | struct ql3xxx_port_registers __iomem *port_regs = |
3578 | qdev->mem_map_registers; | 3579 | qdev->mem_map_registers; |
3579 | struct sockaddr *addr = p; | 3580 | struct sockaddr *addr = p; |
@@ -3608,7 +3609,7 @@ static int ql3xxx_set_mac_address(struct net_device *ndev, void *p) | |||
3608 | 3609 | ||
3609 | static void ql3xxx_tx_timeout(struct net_device *ndev) | 3610 | static void ql3xxx_tx_timeout(struct net_device *ndev) |
3610 | { | 3611 | { |
3611 | struct ql3_adapter *qdev = (struct ql3_adapter *)netdev_priv(ndev); | 3612 | struct ql3_adapter *qdev = netdev_priv(ndev); |
3612 | 3613 | ||
3613 | netdev_err(ndev, "Resetting...\n"); | 3614 | netdev_err(ndev, "Resetting...\n"); |
3614 | /* | 3615 | /* |