summaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/t3_hw.c
Commit message (Collapse)AuthorAgeFilesLines
* cxgb3: fix link fault handlingDivy Le Ray2009-04-201-10/+1
| | | | | | | | | Use the existing periodic task to handle link faults. The link fault interrupt handler is also called in work queue context, which is wrong and might cause potential deadlocks. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: differentiate portx and Tx channelsDivy Le Ray2009-03-271-16/+19
| | | | | | | Separate ports from H/W Tx channels. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: sge setup fixesDivy Le Ray2009-03-271-7/+38
| | | | | | | | | Enable timestamps, update delayed ack threshold for iSCSI/iWARP traffic Remove the len flag in Tx requests. It might corrupt offload trace packets. Update SGE context setup to avoid potential H/W misprogrammation. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: detect mac link faults.Divy Le Ray2009-03-131-1/+133
| | | | | | | | | | The driver currently ignores the local or remote link faults raised at the mac layer. This patch fixes it. Our mac however only advertizes link events, so wait for the phy to stabilize the link, then enable mac link events interrupts. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: disable high freq non-data interruptsDivy Le Ray2009-03-131-4/+26
| | | | | | | | | | Under RX pressure, The HW might generate a high load of interrupts to signal mac fifo or free lists overflow. Disable the interrupts, and poll the relevant status bits to maintain stats. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: Add support for PCI ID 0x35.Divy Le Ray2009-02-181-0/+7
| | | | | | | Add support for adapters with a PCI id equal to 0x35. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: untie strict FW matchingDivy Le Ray2008-12-161-21/+5
| | | | | | | | | | The NIC driver can work with mutliple versions of the FW. Let the driver load when the embedded FW does not match, and the FW update mechanism failed. The iWARP module will make its own loading decision. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3 - eeprom read fixesDivy Le Ray2008-11-111-1/+7
| | | | | | | | Protect against invalid phy entries in the eeprom. Extend eeprom access timeout. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* cxgb3: extend copyrights to 2008Divy Le Ray2008-10-131-1/+1
| | | | | | | Update copyright banner to 2008. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: Add 1G fiber supportDivy Le Ray2008-10-081-0/+23
| | | | | | | Add support for 1G optical Vitesse PHY. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: Support for Aeluros 2005 PHYDivy Le Ray2008-10-081-1/+3
| | | | | | | | Add support for SR PHY. Auto-detect phy module type, and report type changes. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: commnonize LASI phy codeDivy Le Ray2008-10-081-5/+36
| | | | | | | | | | | Add generic code to manage interrupt driven PHYs. Do not reset the phy after link parameters update, the new values might get lost. Return early from link change notification when the link parameters remain unchanged. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: More flexible support for PHY interrupts.Divy Le Ray2008-10-081-16/+21
| | | | | | | | | | | | | Do not require PHY interrupts to be connected to GPIs in ascending order. Base interrupt availability both on PHYs supporting them and on GPIs being hooked up. Allows boards to specify interrupt GPIs though the PHYs don't use them. Remove spurious PHY interrupts due to clearing T3DBG interrupts before setting their polarity. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: simplify port type struct and usageDivy Le Ray2008-10-081-66/+67
| | | | | | | | | | Second step in overall phy layer reorganization. Clean up the port_type_info structure. Support coextistence of clause 22 and clause 45 MDIO devices. Select the type of MDIO transaction on a per transaction basis. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: allow for PHY reset statusDivy Le Ray2008-10-081-5/+10
| | | | | | | | First step towards overall PHY layering re-organization. Allow a status return when a PHY is reset. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: reset the adapter on fatal errorDivy Le Ray2008-10-081-2/+2
| | | | | | | | | | | when a fatal error occurs, bring ports down, reset the chip, and bring ports back up. Factorize code used for both EEH and fatal error recovery. Fix timer usage when bringing up/resetting sge queue sets. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: Allow 64KB firmware images.Steve Wise2008-07-291-1/+1
| | | | | | | Starting with FW version 7.0, the driver needs to allow larger images. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* cxgb3: treat firmware data as constDavid Woodhouse2008-07-101-3/+4
| | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* cxgb3 - fix EEHDivy Le Ray2008-05-131-0/+28
| | | | | | | | | Reset the chip when the PCI link goes down. Preserve the napi structure when a sge qset's resources are freed. Replay only HW initialization when the chip comes out of reset. Signed-off-by: Divy Le ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* cxgb3: Remove incorrect __devinit annotationsRoland Dreier2008-02-031-12/+10
| | | | | | | | | | | | | | When PCI error recovery was added to cxgb3, a function t3_io_slot_reset() was added. This function can call back into t3_prep_adapter() at any time, so t3_prep_adapter() can no longer be marked __devinit. This patch removes the __devinit annotation from t3_prep_adapter() and all the functions that it calls, which fixes WARNING: drivers/net/cxgb3/built-in.o(.text+0x2427): Section mismatch in reference from the function t3_io_slot_reset() to the function .devinit.text:t3_prep_adapter() Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* annotate cxgb3Al Viro2008-01-281-15/+16
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - parity initialization for T3C adapters.Divy Le Ray2008-01-281-20/+111
| | | | | | | Add parity initialization for T3C adapters. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* drivers/net/cxgb3: trim trailing whitespaceJeff Garzik2008-01-281-7/+7
| | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* cxgb3 - HW set up updatesDivy Le Ray2008-01-281-3/+21
| | | | | | | | | Disable PEX errors. The HW generates false positives. Update RSS hash function to a symmetric algorithm. Update T3C HW support Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - FW upgradeDivy Le Ray2008-01-281-3/+7
| | | | | | | | Bump up FW version to 5.0. Do not downgrade FW within the same major version range. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - T3C support updateDivy Le Ray2007-12-071-3/+3
| | | | | | | | | Update GPIO mapping for T3C. Update xgmac for T3C support. Fix typo in mtu table. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 sparse warning fixesStephen Hemminger2007-10-101-4/+4
| | | | | | | | Fix warnings from sparse related to shadowed variables and routines that should be declared static. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - CQ context operations time out too soon.Divy Le Ray2007-10-101-8/+11
| | | | | | | | | | Currently, the driver only tries up to 5 times (5us) to get the results of a CQ context operation. Testing has shown the chip can take as much as 50us to return the response on SG_CONTEXT_CMD operations. So we up the retry count to 100 to cover high loads. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Set the CQ_ERR bit in CQ contexts.Divy Le Ray2007-10-101-1/+2
| | | | | | | | | | The cxgb3 driver is incorrectly configuring the HW CQ context for CQ's that use overflow-avoidance. Namely the RDMA control CQ. This results in a bad DMA from the device to bus address 0. The solution is to set the CQ_ERR bit in the context for these types of CQs. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - log and clear PEX errorsDivy Le Ray2007-10-101-0/+6
| | | | | | | | Clear pciE PEX errors late at module load time. Log details when PEX errors occur. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Firmware updateDivy Le Ray2007-10-101-5/+15
| | | | | | | | Update firmware version. Allow the driver to be up and running with older FW image Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Update internal memory managementDivy Le Ray2007-10-101-0/+2
| | | | | | | | Set PM1 internal memory to round robin mode It balances access to this internal memory for multiport adapters. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - log adapter serial numberDivy Le Ray2007-10-101-1/+2
| | | | | | | Log HW serial number when cxgb3 module is loaded. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* - cxgb3 engine microcode loadDivy Le Ray2007-08-311-6/+40
| | | | | | | | | | | | | | Load the engine microcode when an interface is brought up, instead of of doing it when the module is loaded. Loosen up tight binding between the driver and the engine microcode version. There is no need for microcode update with T3A boards. Fix the file naming. Do a better job at logging the loading activity. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - TP SRAM updateDivy Le Ray2007-07-081-0/+86
| | | | | | | | | | The chip executes microcode present in internal RAM, whose content is loaded from EEPROM on power cycle. This patch allows an update of the microcode through PIO without forcing a power cycle. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Firmware updateDivy Le Ray2007-07-081-19/+23
| | | | | | | | Update FW to 4.1. Proceed to subsequent HW tuning to improve RDMA perfs.. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - PHY interrupts and GPIO pins.Divy Le Ray2007-04-191-6/+12
| | | | | | | | Remove assumption that PHY interrupts use GPIOs 3 and 5. Deal with PHY interrupts connected to any GPIO pins. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - detect NIC only adaptersDivy Le Ray2007-04-031-6/+18
| | | | | | | | Differentiate NIC only adapters from RNICs. Initialize offload capabilities for RNICs only. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - T3B2 pcie config spaceDivy Le Ray2007-03-231-4/+6
| | | | | | | T3B2 does not lose its pcie config space on reset. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Auto-load FW if mismatch detectedDivy Le Ray2007-03-231-2/+3
| | | | | | | The driver attempts to upgrade the FW if the card has the wrong version. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - FW version updateDivy Le Ray2007-02-271-2/+4
| | | | | | | Update FW version to 3.2 Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Add dual licensingDivy Le Ray2007-02-051-9/+29
| | | | | | | Dual licensing, needed for OFED 1.2 Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - white space to tabsDivy Le Ray2007-02-051-15/+15
| | | | | | | Use tabs in comments. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Clean up HW init routineDivy Le Ray2007-02-051-11/+5
| | | | | | | Clean up the tp_config() routine. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - bogus status error stringDivy Le Ray2007-02-051-1/+1
| | | | | | | | Remove a status error string from the pci-x context and add it where it belongs - the pci-e context. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - FW versioningDivy Le Ray2007-02-051-5/+12
| | | | | | | | Clean up FW version checking. The supported FW version is now 3.1. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Add support for the latest 1G/10G Chelsio adapter, T3.Divy Le Ray2007-02-051-0/+3354
This driver is required by the Chelsio T3 RDMA driver posted by Steve Wise. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
OpenPOWER on IntegriCloud