Print this page
3014 Intel X540 Support (fix lint)

*** 430,527 **** { u16 i = 0; DEBUGFUNC("ixgbe_clear_hw_cntrs_generic"); ! IXGBE_READ_REG(hw, IXGBE_CRCERRS); ! IXGBE_READ_REG(hw, IXGBE_ILLERRC); ! IXGBE_READ_REG(hw, IXGBE_ERRBC); ! IXGBE_READ_REG(hw, IXGBE_MSPDC); for (i = 0; i < 8; i++) ! IXGBE_READ_REG(hw, IXGBE_MPC(i)); ! IXGBE_READ_REG(hw, IXGBE_MLFC); ! IXGBE_READ_REG(hw, IXGBE_MRFC); ! IXGBE_READ_REG(hw, IXGBE_RLEC); ! IXGBE_READ_REG(hw, IXGBE_LXONTXC); ! IXGBE_READ_REG(hw, IXGBE_LXOFFTXC); if (hw->mac.type >= ixgbe_mac_82599EB) { ! IXGBE_READ_REG(hw, IXGBE_LXONRXCNT); ! IXGBE_READ_REG(hw, IXGBE_LXOFFRXCNT); } else { ! IXGBE_READ_REG(hw, IXGBE_LXONRXC); ! IXGBE_READ_REG(hw, IXGBE_LXOFFRXC); } for (i = 0; i < 8; i++) { ! IXGBE_READ_REG(hw, IXGBE_PXONTXC(i)); ! IXGBE_READ_REG(hw, IXGBE_PXOFFTXC(i)); if (hw->mac.type >= ixgbe_mac_82599EB) { ! IXGBE_READ_REG(hw, IXGBE_PXONRXCNT(i)); ! IXGBE_READ_REG(hw, IXGBE_PXOFFRXCNT(i)); } else { ! IXGBE_READ_REG(hw, IXGBE_PXONRXC(i)); ! IXGBE_READ_REG(hw, IXGBE_PXOFFRXC(i)); } } if (hw->mac.type >= ixgbe_mac_82599EB) for (i = 0; i < 8; i++) ! IXGBE_READ_REG(hw, IXGBE_PXON2OFFCNT(i)); ! IXGBE_READ_REG(hw, IXGBE_PRC64); ! IXGBE_READ_REG(hw, IXGBE_PRC127); ! IXGBE_READ_REG(hw, IXGBE_PRC255); ! IXGBE_READ_REG(hw, IXGBE_PRC511); ! IXGBE_READ_REG(hw, IXGBE_PRC1023); ! IXGBE_READ_REG(hw, IXGBE_PRC1522); ! IXGBE_READ_REG(hw, IXGBE_GPRC); ! IXGBE_READ_REG(hw, IXGBE_BPRC); ! IXGBE_READ_REG(hw, IXGBE_MPRC); ! IXGBE_READ_REG(hw, IXGBE_GPTC); ! IXGBE_READ_REG(hw, IXGBE_GORCL); ! IXGBE_READ_REG(hw, IXGBE_GORCH); ! IXGBE_READ_REG(hw, IXGBE_GOTCL); ! IXGBE_READ_REG(hw, IXGBE_GOTCH); if (hw->mac.type == ixgbe_mac_82598EB) for (i = 0; i < 8; i++) ! IXGBE_READ_REG(hw, IXGBE_RNBC(i)); ! IXGBE_READ_REG(hw, IXGBE_RUC); ! IXGBE_READ_REG(hw, IXGBE_RFC); ! IXGBE_READ_REG(hw, IXGBE_ROC); ! IXGBE_READ_REG(hw, IXGBE_RJC); ! IXGBE_READ_REG(hw, IXGBE_MNGPRC); ! IXGBE_READ_REG(hw, IXGBE_MNGPDC); ! IXGBE_READ_REG(hw, IXGBE_MNGPTC); ! IXGBE_READ_REG(hw, IXGBE_TORL); ! IXGBE_READ_REG(hw, IXGBE_TORH); ! IXGBE_READ_REG(hw, IXGBE_TPR); ! IXGBE_READ_REG(hw, IXGBE_TPT); ! IXGBE_READ_REG(hw, IXGBE_PTC64); ! IXGBE_READ_REG(hw, IXGBE_PTC127); ! IXGBE_READ_REG(hw, IXGBE_PTC255); ! IXGBE_READ_REG(hw, IXGBE_PTC511); ! IXGBE_READ_REG(hw, IXGBE_PTC1023); ! IXGBE_READ_REG(hw, IXGBE_PTC1522); ! IXGBE_READ_REG(hw, IXGBE_MPTC); ! IXGBE_READ_REG(hw, IXGBE_BPTC); for (i = 0; i < 16; i++) { ! IXGBE_READ_REG(hw, IXGBE_QPRC(i)); ! IXGBE_READ_REG(hw, IXGBE_QPTC(i)); if (hw->mac.type >= ixgbe_mac_82599EB) { ! IXGBE_READ_REG(hw, IXGBE_QBRC_L(i)); ! IXGBE_READ_REG(hw, IXGBE_QBRC_H(i)); ! IXGBE_READ_REG(hw, IXGBE_QBTC_L(i)); ! IXGBE_READ_REG(hw, IXGBE_QBTC_H(i)); ! IXGBE_READ_REG(hw, IXGBE_QPRDC(i)); } else { ! IXGBE_READ_REG(hw, IXGBE_QBRC(i)); ! IXGBE_READ_REG(hw, IXGBE_QBTC(i)); } } if (hw->mac.type == ixgbe_mac_X540) { if (hw->phy.id == 0) ! ixgbe_identify_phy(hw); hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECL, IXGBE_MDIO_PCS_DEV_TYPE, &i); hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECH, IXGBE_MDIO_PCS_DEV_TYPE, &i); hw->phy.ops.read_reg(hw, IXGBE_LDPCECL, --- 430,527 ---- { u16 i = 0; DEBUGFUNC("ixgbe_clear_hw_cntrs_generic"); ! (void) IXGBE_READ_REG(hw, IXGBE_CRCERRS); ! (void) IXGBE_READ_REG(hw, IXGBE_ILLERRC); ! (void) IXGBE_READ_REG(hw, IXGBE_ERRBC); ! (void) IXGBE_READ_REG(hw, IXGBE_MSPDC); for (i = 0; i < 8; i++) ! (void) IXGBE_READ_REG(hw, IXGBE_MPC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_MLFC); ! (void) IXGBE_READ_REG(hw, IXGBE_MRFC); ! (void) IXGBE_READ_REG(hw, IXGBE_RLEC); ! (void) IXGBE_READ_REG(hw, IXGBE_LXONTXC); ! (void) IXGBE_READ_REG(hw, IXGBE_LXOFFTXC); if (hw->mac.type >= ixgbe_mac_82599EB) { ! (void) IXGBE_READ_REG(hw, IXGBE_LXONRXCNT); ! (void) IXGBE_READ_REG(hw, IXGBE_LXOFFRXCNT); } else { ! (void) IXGBE_READ_REG(hw, IXGBE_LXONRXC); ! (void) IXGBE_READ_REG(hw, IXGBE_LXOFFRXC); } for (i = 0; i < 8; i++) { ! (void) IXGBE_READ_REG(hw, IXGBE_PXONTXC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_PXOFFTXC(i)); if (hw->mac.type >= ixgbe_mac_82599EB) { ! (void) IXGBE_READ_REG(hw, IXGBE_PXONRXCNT(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_PXOFFRXCNT(i)); } else { ! (void) IXGBE_READ_REG(hw, IXGBE_PXONRXC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_PXOFFRXC(i)); } } if (hw->mac.type >= ixgbe_mac_82599EB) for (i = 0; i < 8; i++) ! (void) IXGBE_READ_REG(hw, IXGBE_PXON2OFFCNT(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC64); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC127); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC255); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC511); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC1023); ! (void) IXGBE_READ_REG(hw, IXGBE_PRC1522); ! (void) IXGBE_READ_REG(hw, IXGBE_GPRC); ! (void) IXGBE_READ_REG(hw, IXGBE_BPRC); ! (void) IXGBE_READ_REG(hw, IXGBE_MPRC); ! (void) IXGBE_READ_REG(hw, IXGBE_GPTC); ! (void) IXGBE_READ_REG(hw, IXGBE_GORCL); ! (void) IXGBE_READ_REG(hw, IXGBE_GORCH); ! (void) IXGBE_READ_REG(hw, IXGBE_GOTCL); ! (void) IXGBE_READ_REG(hw, IXGBE_GOTCH); if (hw->mac.type == ixgbe_mac_82598EB) for (i = 0; i < 8; i++) ! (void) IXGBE_READ_REG(hw, IXGBE_RNBC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_RUC); ! (void) IXGBE_READ_REG(hw, IXGBE_RFC); ! (void) IXGBE_READ_REG(hw, IXGBE_ROC); ! (void) IXGBE_READ_REG(hw, IXGBE_RJC); ! (void) IXGBE_READ_REG(hw, IXGBE_MNGPRC); ! (void) IXGBE_READ_REG(hw, IXGBE_MNGPDC); ! (void) IXGBE_READ_REG(hw, IXGBE_MNGPTC); ! (void) IXGBE_READ_REG(hw, IXGBE_TORL); ! (void) IXGBE_READ_REG(hw, IXGBE_TORH); ! (void) IXGBE_READ_REG(hw, IXGBE_TPR); ! (void) IXGBE_READ_REG(hw, IXGBE_TPT); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC64); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC127); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC255); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC511); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC1023); ! (void) IXGBE_READ_REG(hw, IXGBE_PTC1522); ! (void) IXGBE_READ_REG(hw, IXGBE_MPTC); ! (void) IXGBE_READ_REG(hw, IXGBE_BPTC); for (i = 0; i < 16; i++) { ! (void) IXGBE_READ_REG(hw, IXGBE_QPRC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QPTC(i)); if (hw->mac.type >= ixgbe_mac_82599EB) { ! (void) IXGBE_READ_REG(hw, IXGBE_QBRC_L(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QBRC_H(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QBTC_L(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QBTC_H(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QPRDC(i)); } else { ! (void) IXGBE_READ_REG(hw, IXGBE_QBRC(i)); ! (void) IXGBE_READ_REG(hw, IXGBE_QBTC(i)); } } if (hw->mac.type == ixgbe_mac_X540) { if (hw->phy.id == 0) ! (void) ixgbe_identify_phy(hw); hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECL, IXGBE_MDIO_PCS_DEV_TYPE, &i); hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECH, IXGBE_MDIO_PCS_DEV_TYPE, &i); hw->phy.ops.read_reg(hw, IXGBE_LDPCECL,
*** 814,824 **** /* Clear interrupt mask to stop interrupts from being generated */ IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_IRQ_CLEAR_MASK); /* Clear any pending interrupts, flush previous writes */ ! IXGBE_READ_REG(hw, IXGBE_EICR); /* Disable the transmit unit. Each queue must be disabled. */ for (i = 0; i < hw->mac.max_tx_queues; i++) IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(i), IXGBE_TXDCTL_SWFLSH); --- 814,824 ---- /* Clear interrupt mask to stop interrupts from being generated */ IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_IRQ_CLEAR_MASK); /* Clear any pending interrupts, flush previous writes */ ! (void) IXGBE_READ_REG(hw, IXGBE_EICR); /* Disable the transmit unit. Each queue must be disabled. */ for (i = 0; i < hw->mac.max_tx_queues; i++) IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(i), IXGBE_TXDCTL_SWFLSH);
*** 967,977 **** * The EEPROM page size cannot be queried from the chip. We do lazy * initialization. It is worth to do that when we write large buffer. */ if ((hw->eeprom.word_page_size == 0) && (words > IXGBE_EEPROM_PAGE_SIZE_MAX)) ! ixgbe_detect_eeprom_page_size_generic(hw, offset); /* * We cannot hold synchronization semaphores for too long * to avoid other entity starvation. However it is more efficient * to read in bursts than synchronizing access for each word. --- 967,979 ---- * The EEPROM page size cannot be queried from the chip. We do lazy * initialization. It is worth to do that when we write large buffer. */ if ((hw->eeprom.word_page_size == 0) && (words > IXGBE_EEPROM_PAGE_SIZE_MAX)) ! status = ixgbe_detect_eeprom_page_size_generic(hw, offset); ! if (status != IXGBE_SUCCESS) ! goto out; /* * We cannot hold synchronization semaphores for too long * to avoid other entity starvation. However it is more efficient * to read in bursts than synchronizing access for each word.
*** 2134,2146 **** DEBUGOUT(" Clearing MTA\n"); for (i = 0; i < hw->mac.mcft_size; i++) IXGBE_WRITE_REG(hw, IXGBE_MTA(i), 0); ! ixgbe_init_uta_tables(hw); ! ! return IXGBE_SUCCESS; } /** * ixgbe_add_uc_addr - Adds a secondary unicast address. * @hw: pointer to hardware structure --- 2136,2147 ---- DEBUGOUT(" Clearing MTA\n"); for (i = 0; i < hw->mac.mcft_size; i++) IXGBE_WRITE_REG(hw, IXGBE_MTA(i), 0); ! /* Should always be IXGBE_SUCCESS. */ ! return ixgbe_init_uta_tables(hw); } /** * ixgbe_add_uc_addr - Adds a secondary unicast address. * @hw: pointer to hardware structure
*** 2348,2358 **** hw->addr_ctrl.mta_in_use = 0; /* Clear mta_shadow */ if (clear) { DEBUGOUT(" Clearing MTA\n"); ! memset(&hw->mac.mta_shadow, 0, sizeof(hw->mac.mta_shadow)); } /* Update mta_shadow */ for (i = 0; i < mc_addr_count; i++) { DEBUGOUT(" Adding the multicast addresses:\n"); --- 2349,2360 ---- hw->addr_ctrl.mta_in_use = 0; /* Clear mta_shadow */ if (clear) { DEBUGOUT(" Clearing MTA\n"); ! (void) memset(&hw->mac.mta_shadow, 0, ! sizeof(hw->mac.mta_shadow)); } /* Update mta_shadow */ for (i = 0; i < mc_addr_count; i++) { DEBUGOUT(" Adding the multicast addresses:\n");
*** 2868,2878 **** u32 gssr; u32 swmask = mask; DEBUGFUNC("ixgbe_release_swfw_sync"); ! ixgbe_get_eeprom_semaphore(hw); gssr = IXGBE_READ_REG(hw, IXGBE_GSSR); gssr &= ~swmask; IXGBE_WRITE_REG(hw, IXGBE_GSSR, gssr); --- 2870,2880 ---- u32 gssr; u32 swmask = mask; DEBUGFUNC("ixgbe_release_swfw_sync"); ! (void) ixgbe_get_eeprom_semaphore(hw); gssr = IXGBE_READ_REG(hw, IXGBE_GSSR); gssr &= ~swmask; IXGBE_WRITE_REG(hw, IXGBE_GSSR, gssr);
*** 3056,3066 **** /* * First read the EEPROM pointer to see if the MAC addresses are * available. If they're not, no point in calling set_lan_id() here. */ ! ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset); if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) { /* * No addresses available in this EEPROM. It's not an * error though, so just wipe the local address and return. --- 3058,3068 ---- /* * First read the EEPROM pointer to see if the MAC addresses are * available. If they're not, no point in calling set_lan_id() here. */ ! (void) ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset); if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) { /* * No addresses available in this EEPROM. It's not an * error though, so just wipe the local address and return.
*** 3101,3111 **** u8 i; DEBUGFUNC("ixgbe_set_san_mac_addr_generic"); /* Look for SAN mac address pointer. If not defined, return */ ! ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset); if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) { status = IXGBE_ERR_NO_SAN_ADDR_PTR; goto san_mac_addr_out; } --- 3103,3113 ---- u8 i; DEBUGFUNC("ixgbe_set_san_mac_addr_generic"); /* Look for SAN mac address pointer. If not defined, return */ ! (void) ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset); if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) { status = IXGBE_ERR_NO_SAN_ADDR_PTR; goto san_mac_addr_out; }
*** 3211,3228 **** } } if (rar < hw->mac.rar_highwater) { /* already there so just add to the pool bits */ ! ixgbe_set_vmdq(hw, rar, vmdq); } else if (first_empty_rar != NO_EMPTY_RAR_FOUND) { /* stick it into first empty RAR slot we found */ rar = first_empty_rar; ! ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV); } else if (rar == hw->mac.rar_highwater) { /* add it to the top of the list and inc the highwater mark */ ! ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV); hw->mac.rar_highwater++; } else if (rar >= hw->mac.num_rar_entries) { return IXGBE_ERR_INVALID_MAC_ADDR; } --- 3213,3230 ---- } } if (rar < hw->mac.rar_highwater) { /* already there so just add to the pool bits */ ! (void) ixgbe_set_vmdq(hw, rar, vmdq); } else if (first_empty_rar != NO_EMPTY_RAR_FOUND) { /* stick it into first empty RAR slot we found */ rar = first_empty_rar; ! (void) ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV); } else if (rar == hw->mac.rar_highwater) { /* add it to the top of the list and inc the highwater mark */ ! (void) ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV); hw->mac.rar_highwater++; } else if (rar >= hw->mac.num_rar_entries) { return IXGBE_ERR_INVALID_MAC_ADDR; }
*** 3229,3239 **** /* * If we found rar[0], make sure the default pool bit (we use pool 0) * remains cleared to be sure default pool packets will get delivered */ if (rar == 0) ! ixgbe_clear_vmdq(hw, rar, 0); return rar; } /** --- 3231,3241 ---- /* * If we found rar[0], make sure the default pool bit (we use pool 0) * remains cleared to be sure default pool packets will get delivered */ if (rar == 0) ! (void) ixgbe_clear_vmdq(hw, rar, 0); return rar; } /**
*** 4035,4044 **** --- 4037,4047 ---- (FW_CEM_HDR_LEN + fw_cmd.hdr.buf_len)); fw_cmd.pad = 0; fw_cmd.pad2 = 0; for (i = 0; i <= FW_CEM_MAX_RETRIES; i++) { + /* LINTED */ ret_val = ixgbe_host_interface_command(hw, (u32 *)&fw_cmd, sizeof(fw_cmd)); if (ret_val != IXGBE_SUCCESS) continue;
*** 4088,4097 **** --- 4091,4101 ---- pbsize -= rxpktsize * (num_pb / 2); rxpktsize <<= IXGBE_RXPBSIZE_SHIFT; for (; i < (num_pb / 2); i++) IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize); /* Fall through to configure remaining packet buffers */ + /* FALLTHRU */ case PBA_STRATEGY_EQUAL: rxpktsize = (pbsize / (num_pb - i)) << IXGBE_RXPBSIZE_SHIFT; for (; i < num_pb; i++) IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize); break;