summaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* can: c_can: Added support for Bosch C_CAN controllerBhupesh Sharma2011-02-147-0/+1485
| | | | | | | | | | | | | | | | | | | | Bosch C_CAN controller is a full-CAN implementation which is compliant to CAN protocol version 2.0 part A and B. Bosch C_CAN user manual can be obtained from: http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/users_manual_c_can.pdf This patch adds the support for this controller. The following are the design choices made while writing the controller driver: 1. Interface Register set IF1 has be used only in the current design. 2. Out of the 32 Message objects available, 16 are kept aside for RX purposes and the rest for TX purposes. 3. NAPI implementation is such that both the TX and RX paths function in polling mode. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Advance driver versionGuo-Fu Tseng2011-02-141-1/+1
| | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Don't show UDP Checksum error if HW misjudgedGuo-Fu Tseng2011-02-141-3/+29
| | | | | | | | | | Some JMicron Chip treat 0 as error checksum for UDP packets. Which should be "No checksum needed". Reported-by: Adam Swift <Adam.Swift@omnitude.net> Confirmed-by: "Aries Lee" <arieslee@jmicron.com> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Refill receive unicase MAC addr after resumeGuo-Fu Tseng2011-02-142-10/+19
| | | | | | | | | The value of the register which holds receive Unicast MAC Address sometimes get messed-up after resume. This patch refill it before enabling the hardware filter. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Safer MAC processor reset sequenceGuo-Fu Tseng2011-02-142-42/+126
| | | | | | | | | Adding control to clk_rx, and makes the control of clk_{rx|tx|tcp} with safer sequence. This sequence is provided by JMicron. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Fix hardware action of full-duplexGuo-Fu Tseng2011-02-142-4/+10
| | | | | | | Clear Transmit Timer/Retry setting while full-duplex. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Rename phyfifo function for easier understandGuo-Fu Tseng2011-02-141-6/+6
| | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Fix bit typo of JMC250A2 workaroundGuo-Fu Tseng2011-02-141-2/+2
| | | | | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: PHY Power control for new chipGuo-Fu Tseng2011-02-142-14/+106
| | | | | | | | | | | After main chip rev 5, the hardware support more power saving control registers. Some Non-Linux drivers might turn off the phy power with new interfaces, this patch makes it possible for Linux to turn it on again. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Extract main and sub chip revisionGuo-Fu Tseng2011-02-142-6/+10
| | | | | | | Get the main and sub chip revision for later workaround use. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* bond: implement [add/del]_slave opsJiri Pirko2011-02-141-0/+2
| | | | | | | allow enslaving/releasing using netlink interface Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tlan: Fix bugs introduced by the last tlan cleanup patchSakari Ailus2011-02-131-2/+4
| | | | | | | | | | | | | Fix two bugs introduced by the commit c659c38b2796578638548b77ef626d93609ec8ac ("tlan: Code cleanup: checkpatch.pl is relatively happy now.") In that change, TLAN_CSTAT_READY was considered as a bit mask containing a single bit set while it was actually had two set instead. Many thanks to Dan Carpenter for finding the mistake. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: make dev->master generalJiri Pirko2011-02-132-6/+7
| | | | | | | | | | | | dev->master is now tightly connected to bonding driver. This patch makes this pointer more general and ready to be used by others. - netdev_set_master() - bond specifics moved to new function netdev_set_bond_master() - introduced netif_is_bond_slave() to check if device is a bonding slave Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* phy: Remove unneeded depends on PHYLIBhartleys2011-02-121-1/+0Star
| | | | | | | | | Remove unneeded depends on PHYLIB. The config selection is already in an if PHYLIB / endif block. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: restrict WOL to PFs only.Ajit Khaparde2011-02-121-2/+13
| | | | | | | WOL is not supported for Vrtual Functions. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: detect a UE even when a interface is down.Ajit Khaparde2011-02-121-0/+4
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: gracefully handle situations when UE is detectedAjit Khaparde2011-02-122-0/+16
| | | | | | | Avoid accessing the hardware when UE is detected. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: fix be_suspend/resume/shutdownAjit Khaparde2011-02-121-0/+8
| | | | | | | | | | | > call pci msix disable in be_suspend > call pci msix enable in be_resume > stop worker thread in be_suspend > start worker thread in be_resume > stop worker thread in be_shutdown Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: pass proper hdr_size while flashing redboot.Ajit Khaparde2011-02-121-2/+2
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Fix broken priority setting when vlan tagging is enabled.Ajit Khaparde2011-02-121-0/+1
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Allow VFs to call be_cmd_reset_function.Ajit Khaparde2011-02-121-5/+3Star
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: pass domain numbers for pmac_add/del functionsAjit Khaparde2011-02-123-10/+15
| | | | | | | be_cmd_pmac_add/del functions need to pass domain number to the firmware. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: For the VF MAC, use the OUI from current MAC addressAjit Khaparde2011-02-121-3/+2Star
| | | | | | | | Currently we are always using the Emulex OUI for a VF MAC address while generating MAC for a VF. Use OUI from current MAC instead. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Cleanup the VF interface handlesAjit Khaparde2011-02-121-0/+9
| | | | | | | The PF needs to cleanup all the interface handles that it created for the VFs. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: call be_vf_eth_addr_config() after register_netdevAjit Khaparde2011-02-121-9/+8Star
| | | | | | | | | This is to avoid the completion processing for be_vf_eth_addr_config to consume the link status notification before netdev_register. Otherwise this causes the PF miss its first link status update. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Initialize and cleanup sriov resources only if pci_enable_sriov has ↵Ajit Khaparde2011-02-121-17/+22
| | | | | | | succeeded. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Use domain id when be_cmd_if_destroy is called.Ajit Khaparde2011-02-123-5/+8
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: endianness fix in be_cmd_set_qos().Ajit Khaparde2011-02-121-2/+2
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: While configuring QOS for VF, pass proper domain idAjit Khaparde2011-02-121-1/+1
| | | | | | | | While configuring QOS for VFs, the VF number should be translated to domain number correctly. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2011-02-1218-201/+600
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6
| * ixgbe: Adding 100MB FULL support in ethtoolAtita Shirwaikar2011-02-112-3/+36
| | | | | | | | | | | | | | | | | | Current driver does not show 100MB support in ethtool. Adding support for the same. Signed-off-by: Atita Shirwaikar <atita.shirwaikar@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: cleanup ixgbe_init_mbx_params_pf namespace issueDon Skidmore2011-02-112-0/+4
| | | | | | | | | | | | | | | | | | | | The function ixgbe_init_mbx_params_pf isn't used unless CONFIG_PCI_IOV is defined. This is causing namespace warnings. So I wrapped its definition in CONFIG_PCI_IOV too. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: cleanup namespace complaint by removing little used functionDon Skidmore2011-02-112-12/+2Star
| | | | | | | | | | | | | | | | | | | | | | We had a support function that just walked a few pointers to get from the ixgbe_hw struct to the netdev pointer. This was causing a namespace warning so I removed it and just reference the pointers directly. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: fix namespace issue with ixgbe_dcb_txq_to_tcDon Skidmore2011-02-112-2/+1Star
| | | | | | | | | | | | | | | | | | We didn't need the prototype and it was causing namespace complaints so I made it static. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, use hardware independent routinesJohn Fastabend2011-02-111-5/+1Star
| | | | | | | | | | | | | | | | | | This consolidates hardware specifics to ixgbe_dcb.c this simplifies code that was previously branching based on hardware type. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, remove RESET bit it is no longer neededJohn Fastabend2011-02-111-25/+12Star
| | | | | | | | | | | | | | | | | | | | | | | | | | This removes the RESET bit previously used to force a device reset when DCB bandwidth configurations were changed. This can now be done dynamically without a reset so the bit is no longer needed. The only remaining operations that force a device reset are DCB enable/disable and FCoE application priority changes. DCB enable/disable is a hardware requirement. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, do not reset on CEE pg changesJohn Fastabend2011-02-112-13/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | The 82599 and 82598 devices do not require hardware resets to configure CEE pg settings. This patch changes DCB configuration to set the CEE pg values directly from the dcbnl ops routine. This reduces the number of resets seen on the wire and allows LLDP to reach a steady state faster. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, implement 802.1Qaz routinesJohn Fastabend2011-02-116-1/+207
| | | | | | | | | | | | | | | | | | | | Implements 802.1Qaz support for ixgbe driver. Additionally, this adds IEEE_8021QAZ_TSA_{} defines to dcbnl.h this is to avoid having to use cryptic numeric codes for the TSA type. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, abstract out dcb_config from DCB hardware configurationJohn Fastabend2011-02-117-102/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the routines that configure the HW for DCB require a ixgbe_dcb_config structure. This structure was designed to support the CEE standard and does not match the IEEE standard well. This patch changes the HW routines in ixgbe_dcb_8259x.{ch} to use raw pfc and bandwidth values. This requires some parsing of the DCB configuration but makes the HW routines independent of the data structure that contains the DCB configuration. The primary advantage to doing this is we can do HW setup directly from the 802.1Qaz ops without having to arbitrarily encapsulate this data into the CEE structure. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, remove round robin mode on 82598 devicesJohn Fastabend2011-02-113-6/+2Star
| | | | | | | | | | | | | | | | | | | | | | Remove round robin configuration code for 82598 parts it is not settable and is always false. If we need/want this in the future we can add it back properly. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: DCB, only reprogram HW if the FCoE priority is changedJohn Fastabend2011-02-111-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the FCoE priority is not changing do not set the RESET and APP_UPCHG bits. This causes unneeded HW resets and which can cause unneeded LLDP frames and negotiations. The current check is not sufficient because the FCoE priority can change twice during a negotiation which results in the bits being set. This occurs when the switch changes the priority or when the link is reset with switches that do not include the APP priority until after PFC has been negotiated. This results in set_app being called with the local APP priority. Then the negotiation completes and set_app is called again with the peer APP priority. The check fails so the device is reset and the above occurs again resulting in an endless loop of resets. By only resetting the device if the APP priority has really changed we short circuit the loop. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Enable PF side of SR-IOV support for i350 devicesCarolyn Wyborny2011-02-113-24/+33
| | | | | | | | | | | | | | | | This patch adds full support for SR-IOV by enabling the PF side. VF side has already been committed. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: return appropriate errors for 'ethtool -r'Bruce Allan2011-02-111-2/+9
| | | | | | | | | | | | | | | | | | ...when invoked while interface is not up or when auto-negotiation is disabled as done by other drivers. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: use correct pointer when memcpy'ing a 2-dimensional arrayBruce Allan2011-02-111-1/+1
| | | | | | | | | | | | | | | | *e1000_gstrings_test is not the same size as e1000_gstrings_test. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * e1000e: replace unbounded sprintf with snprintfBruce Allan2011-02-111-2/+6
| | | | | | | | | | | | Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* | atl1: Do not use legacy PCI power managementRafael J. Wysocki2011-02-111-46/+31Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The atl1 driver uses the legacy PCI power management, so it has to do some PCI-specific things in its ->suspend() and ->resume() callbacks, which isn't necessary and should better be done by the PCI subsystem-level power management code. Convert atl1 to the new PCI power management framework and make it let the PCI subsystem take care of all the PCI-specific aspects of device handling during system power transitions. Tested-by: Thomas Fjellstrom <thomas@fjellstrom.ca> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
* | atl1c: Do not call device_init_wakeup() in atl1c_probe()Rafael J. Wysocki2011-02-111-1/+0Star
| | | | | | | | | | | | | | | | | | | | The atl1c driver shouldn't call device_init_wakeup() in its probe routine with the second argument equal to 1, because for PCI devices the wakeup capability setting is initialized as appropriate by the PCI subsystem. Remove the potentially harmful call. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tg3: Avoid setting power.can_wakeup for devices that cannot wake upRafael J. Wysocki2011-02-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The tg3 driver uses device_init_wakeup() in such a way that the device's power.can_wakeup flag may be set even though the PCI subsystem cleared it before, in which case the device cannot wake up the system from sleep states. Modify the driver to only change the power.can_wakeup flag if the device is not capable of generating wakeup signals. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tg3: Expand 5719 workaroundMatt Carlson2011-02-111-2/+2
|/ | | | | | | | | As a precautionary measure, expand the fix submitted in commit 4d163b75e979833979cc401ae433cb1d7743d57e entitled "tg3: Fix 5719 A0 tx completion bug" to apply to all 5719 revisions. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2011-02-0920-110/+219
|\ | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/netdev.c