aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb4
Commit message (Collapse)AuthorAgeFilesLines
...
* cxgb4: add user manipulation of the RSS tableDimitris Michailidis2010-07-112-16/+98
| | | | | | | | | | Implement the get_rxnfc, get_rxfh_indir, and set_rxfh_indir ethtool methods for user manipulation of the RSS table. Besides the methods themselves the rest of the changes here store, initialize, and write the table contents. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: avoid duplicating some resource freeing codeDimitris Michailidis2010-07-111-17/+25
| | | | | | | | Currently there are two copies of some resource freeing code, turn it into a function and call it. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: move the choice of interrupt type before net_device registrationDimitris Michailidis2010-07-111-6/+7
| | | | | | | | | We need to settle on the kind of interrupts we'll be using, a choice that also impacts the number of queues, before registering and making visible the net_devices. Move the relevant code up a bit. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: fix for new ndo_get_stats64 signatureDimitris Michailidis2010-07-071-2/+2
| | | | | | | | | The change to ndo_get_stats64 in "net: fix 64 bit counters on 32 bit arches" missed cxgb4. Fix it. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Use kfree_skb for skb pointersDenis Kirjanov2010-07-071-1/+1
| | | | | | | | Use kfree_skb for skb pointers Acked-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* ethtool: Change ethtool_op_set_flags to validate flagsBen Hutchings2010-06-301-8/+1
| | | | | | | | | | | | | | | | | | ethtool_op_set_flags() does not check for unsupported flags, and has no way of doing so. This means it is not suitable for use as a default implementation of ethtool_ops::set_flags. Add a 'supported' parameter specifying the flags that the driver and hardware support, validate the requested flags against this, and change all current callers to pass this parameter. Change some other trivial implementations of ethtool_ops::set_flags to call ethtool_op_set_flags(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Reviewed-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4vf: Add code to provision T4 PCI-E SR-IOV Virtual Functions with ↵Casey Leedom2010-06-281-0/+106
| | | | | | | | | | hardware resources Add code to provision T4 PCI-E SR-IOV Virtual Functions with hardware resources. Signed-off-by: Casey Leedom Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4vf: Add new macros and definitions for hardware constantsCasey Leedom2010-06-282-0/+42
| | | | | | | Add new macros and definitions for hardware constants. Signed-off-by: Casey Leedom Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4vf: update to latest T4 firmware API fileCasey Leedom2010-06-282-7/+22
| | | | | | | Update to latest T4 firmware API file. Signed-off-by: Casey Leedom Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4vf: small changes to message processing structures/macrosCasey Leedom2010-06-283-5/+17
| | | | | | | | Split cpl_tx_pkt_lso into core message structure and encapsulated message, make RSPD_LEN macro match other response descriptor macros. Signed-off-by: Casey Leedom Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: minor cleanupDimitris Michailidis2010-06-182-3/+2
| | | | | | | Remove an unused flag and replace couple constants with enums. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: update FW definitionsDimitris Michailidis2010-06-184-24/+73
| | | | | | | | Update to latest FW API. Most changes here pertain to port types and querying FW for parameter values. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: add a missing error interruptDimitris Michailidis2010-06-181-0/+1
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: propagate link initialization errors to .ndo_open's callersDimitris Michailidis2010-06-181-3/+4
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: switch to 64 bit inteface statisticsDimitris Michailidis2010-06-181-3/+3
| | | | | | | Implement ndo_get_stats64, remove ndo_get_stats. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: set dev_id to the port numberDimitris Michailidis2010-06-181-0/+1
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: implement EEHDimitris Michailidis2010-06-184-3/+124
| | | | | | | Implement the pci_error_handlers methods for EEH. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: rearrange initialization code in preparation for EEHDimitris Michailidis2010-06-181-49/+60
| | | | | | | | Split some existing initialization code into a separate function for use by EEH next. No functional changes. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: dynamically determine flash size and FW image locationDimitris Michailidis2010-06-184-23/+61
| | | | | | | | | | | | Handle the larger flash memories on newer boards: - get the size and number of sectors by probing the flash - writes and erases can take longer, adjust the timeouts for these operations - the FW image can be at different locations depending on flash size, find its location dynamically as well. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: notify upper drivers if the device is already up when they loadDimitris Michailidis2010-05-181-0/+3
| | | | | | | | Upper layer drivers aren't notified that a device is ready if their modules load after the device becomes ready. Add the missing notification. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: keep interrupts available when the ports are brought downDimitris Michailidis2010-05-182-28/+22
| | | | | | | | | | The PF driver needs to remain alert while its ports are down to service requests or errors from virtual functions or FW so keep interrupts and queues available when the ports are brought down. The change makes open_device_map unnecessary so remove it. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: fix initial addition of MAC addressDimitris Michailidis2010-05-181-1/+1
| | | | | | | | The call to add the MAC address during link initialization wasn't adding the address to one of the HW tables. Fix. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: report GRO stats with ethtool -SDimitris Michailidis2010-05-121-0/+6
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: report the PCIe link speedDimitris Michailidis2010-05-121-2/+8
| | | | | | | Report the PCIe link speed (2.5 or 5 Gbps). Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: configure HW VLAN extraction through FWDimitris Michailidis2010-05-124-28/+20
| | | | | | | | | HW VLAN extraction needs to be configured through FW to work correctly in virtualization environments. Remove the direct register manipulation and rely on FW. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: set skb->rxhashDimitris Michailidis2010-04-273-2/+21
| | | | | | | | | | Implement the ->set_flags ethtool method to control NETIF_F_RXHASH and set skb->rxhash to the HW calculated hash accordingly. Follow Eric Dumazet's suggestion and use the hash value raw. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: increase serial number lengthDimitris Michailidis2010-04-271-1/+1
| | | | | | | Some boards have longer serial numbers in their VPD, up to 24 bytes. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: parse the VPD instead of relying on a static VPD layoutDimitris Michailidis2010-04-271-25/+39
| | | | | | | | | Some boards' VPDs contain additional keywords or have longer serial numbers, meaning the keyword locations are variable. Ditch the static layout and use the pci_vpd_* family of functions to parse the VPD instead. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Make unnecessarily global functions staticRoland Dreier2010-04-213-13/+13
| | | | | | | | Also put t4_write_indirect() inside "#if 0" to avoid a "defined but not used" compile warning. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Use ntohs() on __be16 value instead of htons()Roland Dreier2010-04-211-1/+1
| | | | | | | | | Use the correct direction of byte-swapping function to fix a mistake shown by sparse endianness checking -- c.fl0id is __be16. Signed-off-by: Roland Dreier <rolandd@cisco.com> Acked-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2010-04-061-4/+4
| | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bonding/bond_main.c drivers/net/via-velocity.c drivers/net/wireless/iwlwifi/iwl-agn.c
* cxgb4: Add main driver file and driver MakefileDimitris Michailidis2010-04-012-0/+3395
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Add remaining driver headers and L2T managementDimitris Michailidis2010-04-014-0/+1714
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Add packet queues and packet DMA codeDimitris Michailidis2010-04-011-0/+2431
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Add HW and FW support codeDimitris Michailidis2010-04-012-0/+3231
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: Add register, message, and FW definitionsDimitris Michailidis2010-04-013-0/+3122
Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>