summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of ↵David S. Miller2014-01-0124-1/+16142
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series implements the Linux Virtual Function (VF) driver for the Intel Ethernet Controller XL710 family. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * i40evf: A0 silicon specificGreg Rose2013-12-313-6/+36
| | | | | | | | | | | | | | | | A0 stepping silicon specific code Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: add driver to kernel build systemGreg Rose2013-12-315-1/+103
| | | | | | | | | | | | | | | | | | | | Modify the existing Kconfig, Makefile, and MAINTAINERS to add the driver to the kernel. Add a Makefile and a documentation Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: init code and hardware supportGreg Rose2013-12-3111-0/+9868
| | | | | | | | | | | | | | | | | | This patch implements the hardware specific init and management. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: driver core headersGreg Rose2013-12-313-0/+689
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains the main driver header files, containing structures and data types specific to the linux driver. i40e_osdep.h contains some code that helps us adapt our OS agnostic code to Linux. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: virtual channel interfaceGreg Rose2013-12-312-0/+1136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PCI-E SR-IOV virtual function (VF) driver is dependant upon the physical function (PF) driver (i40e) for nearly all of its hardware configuration. Requests from the VF driver are passed to the PF using the hardware's Admin Queue. This patch contains the functionality for communicating with the PF driver. Because of the delay inherent in this communications channel, most of the replies from the PF driver are handled asynchronously. The exceptions are the "send API version" and "get VF config" messages, which busy-wait because they are done so early during init that interrupts are not yet configured. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: core ethtool functionalityGreg Rose2013-12-311-0/+390
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains the ethtool interface and related functionality. Since the VF driver is mostly unaware of link, much of that functionality is unused. The driver implements ethtool hooks for statistics, driver info, and some basic non-link-related driver settings. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: transmit and receive functionalityGreg Rose2013-12-311-0/+1573
| | | | | | | | | | | | | | | | | | | | | | | | | | This file contains the transmit, receive, and NAPI functionality. Some of the functions in this module are extracted from the i40e driver but functions that are not appropriate for virtual function devices have been removed. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40evf: main driver coreGreg Rose2013-12-311-0/+2353
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the driver for the Intel(R) XL710 X710 Virtual Function. This patch contains the main driver entry points, but does not include transmit and receive or ethtool functionality, which are presented as separate patches in this series. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* | Merge branch 'bonding'David S. Miller2014-01-015-87/+77
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ding Tianhong says: ==================== bonding: slight optimization for bonding This serious of patches will slight optimize the mac address compare and xmit path for bonding, also make some cleanups. Julia was using ether_addr_equal_64bits to instead of ether_addr_equal, it is really a hard work and she may did not make patch for bonding yet, so I have do it in this patchset and that she could miss the bonding drivers. resend and add cc for Julia. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: use ether_addr_equal_64bits to instead of ether_addr_equaldingtianhong2014-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The net_device.dev_addr have more than 2 bytes of additional data after the mac addr, so it is safe to use the ether_addr_equal_64bits(). Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: remove the return value for bond_3ad_bind_slave()dingtianhong2014-01-012-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm sure the operand slave and bond for the function will not be NULL, so the check for the bond will not make any sense, so remove the judgement, and the return value was useless here, remove the unwanted return value. The comments for the bond 3ad is too old, cleanup some errors and warming. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: remove unwanted return value for bond_dev_queue_xmit()dingtianhong2014-01-012-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | The return value for bond_dev_queue_xmit() will not be used anymore, so remove the return value. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: slight optimizztion for bond_slave_override()dingtianhong2014-01-011-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the skb is xmit by the function bond_slave_override(), it will have duplicate judgement for slave state, and I think it will consumes a little performance, maybe it is negligible, so I simplify the function and remove the unwanted judgement. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: slight optimization for bond_alb_xmit()dingtianhong2014-01-011-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bond_alb_xmit will check the return value for bond_dev_queue_xmit() every time, but the bond_dev_queue_xmit() is always return 0, it is no need to check the value every time, so remove the unneed judgement for the xmit path. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: slight optimization for bond_3ad_xmit_xor()dingtianhong2014-01-011-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | The bond_dev_queue_xmit() will always return 0, and as a fast path, it is inappropriate to check the res value when xmit every package, so remove the res check and avoid once judgement for xmit. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: use ether_addr_equal_unaligned for bond addr comparedingtianhong2014-01-011-29/+33
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use possibly more efficient ether_addr_equal_64bits to instead of memcmp. Modify the MAC_ADDR_COMPARE to MAC_ADDR_EQUAL, this looks more appropriate. The comments for the bond 3ad is too old, cleanup some errors and warming. Suggested-by: Joe Perches <joe@perches.com> Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'r8152'David S. Miller2014-01-013-83/+742
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hayes Wang says: ==================== support new chip Remove the trailing "/* CRC */" for patch #3. Change the return value type of rtl_ops_init() from int to boolean for patch #4. Replace VENDOR_ID_SAMSUNG with SAMSUNG_VENDOR_ID for patch #6. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: support RTL8153hayeswang2014-01-013-6/+621
| | | | | | | | | | | | | | | | | | | | | Support new chip RTL8153 which is the USB 3.0 giga ethernet adapter. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: split rtl8152_enablehayeswang2014-01-011-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | Split the contents of rtl8152_enable() into rtl_set_eee_plus() and rtl_enable(). Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: add rtl_opshayeswang2014-01-011-7/+50
| | | | | | | | | | | | | | | | | | | | | | | | The different chips may have different settings. This makes it easy to let different chips have the same flow with differnt settings. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: change some definitionshayeswang2014-01-011-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replace RX_BUF_THR with RX_THR_HIGH. Replace RWSUME_INDICATE with RESUME_INDICATE. Add CRC_SIZE, TX_ALIGN, and RX_ALIGN. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: modify the method of accessing PHYhayeswang2014-01-011-34/+18
| | | | | | | | | | | | | | | | | | | | | | | | The old method to access PHY is through mdio channel. Replace it with the OCP channel. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | r8152: move rtl8152_unload and ocp_reg_writehayeswang2014-01-011-29/+29
|/ / | | | | | | | | | | | | Change the locations of rtl8152_unload() and ocp_reg_write(). Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'for-davem' of ↵David S. Miller2014-01-01123-3982/+5206
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-01-01 These patches were tucked-in with me for my long winter's nap! Please pull them for the 3.14 stream... For the mac80211 bits, Johannes says: "Here I just have a collection of fixes/improvements/cleanups, very little really stands out apart from CSA fixes, vendor command support and the RCU speedups." For the iwlwifi bits, Emmanuel says: "I have hear quite a few things. Alex continues his work on power management. Arik is reworking the transport API by unifying redudant APIs and making error handling more generic. Eyal keeps on digging in the rate scaling code. We also have two new features - Max is using the brand new generic cipher infrastructure in mac80211, and Lilach implements the smart fifo which allows to save power by making interrupt coalescing smarter." Along with those, Arend and company bring a batch of brcmfmac. Sujith and Felix bring the usual high level of ath9k activity as well. Bing gives mwifiex some love as well, and a handful of other bits get updates here and there. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * \ Merge branch 'master' of ↵John W. Linville2014-01-01123-3982/+5206
| |\ \ | | |/ | |/| | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
| | * ath9k: simplify/fix tx packet TID handlingFelix Fietkau2013-12-191-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | mac80211 guarantees that skb->priority is set to the TID, so use it instead of trying to parse the QoS header manually. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: fix TSF offset precision issueFelix Fietkau2013-12-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dividing the beacon interval by ATH_BCBUF (8) truncates the result for the default beacon interval of 100. Fix the calculation by moving the division after conversion from TU to microseconds. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: call ath9k_set_tsfadjust from ath9k_beacon_configFelix Fietkau2013-12-193-12/+11
| | | | | | | | | | | | | | | | | | | | | Make that function and ath9k_allow_beacon_config static Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: move ath9k_debug_sync_cause out of ath9k_hwFelix Fietkau2013-12-198-57/+64
| | | | | | | | | | | | | | | | | | | | | ath9k_hw should not depend on any ath9k data structures like ath_softc Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * bcma: add missing put_device callLevente Kurusa2013-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | This is required so that we give up the last reference to the device. Signed-off-by: Levente Kurusa <levex@linux.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Use a subroutine for the AR9330 reset WARSujith Manoharan2013-12-182-33/+38
| | | | | | | | | | | | | | | Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Fix RTC reset delaySujith Manoharan2013-12-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | The delay that is required after issuing a RTC reset varies for each chip. Handle this properly. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Add a delay between RTC reset/clear for AR9003Sujith Manoharan2013-12-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The small delay that is present between a RTC reset/clear operation is required for the chip to settle and this is needed for all chips, not just the AR9002 family. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Fix regulatory complianceSujith Manoharan2013-12-182-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To comply with ETSI regulations, make sure that the CCA registers are programmed with the threshold values from the EEPROM/Caldata. A new field is used to indicate if the card has been calibrated with the required threshold information. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Update BaseExtension_1 eeprom structureSujith Manoharan2013-12-182-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | * Add a new field "misc_enable" * Use int_8 for tempslopextension. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Initialize "switchcomspdt" eeprom field explicitlySujith Manoharan2013-12-181-0/+10
| | | | | | | | | | | | | | | Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Remove unneeded ref. count initializationSujith Manoharan2013-12-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The interrupt reference counter is always initialized in ath9k_start(). Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Cleanup ath9k.hSujith Manoharan2013-12-182-102/+79
| | | | | | | | | | | | | | | | | | | | | | | | * Remove unused macros. * Move definitions to appropriate sections. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: Cleanup spectral scan codeSujith Manoharan2013-12-187-671/+761
| | | | | | | | | | | | | | | | | | | | | | | | * Move definitions to spectral.h * Move processing/debug code to spectral.c Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * wireless: update MAINTAINERSLuis R. Rodriguez2013-12-181-2/+2
| | | | | | | | | | | | | | | | | | | | | I've thrown the towel at QCA. Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k: properly preserve TSF across resetFelix Fietkau2013-12-182-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The beacon code previously reset TSF on every configuration call, as some of the code was not prepared to properly calculate nexttbtt based on current TSF. This patch adds a common function for calculating nexttbtt and moves the TSF reset to driver start. This should improve AP mode compatibility with various stations that expect the TSF to not randomly jump due to hardware resets. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: clean up station beacon timer APIFelix Fietkau2013-12-184-70/+31
| | | | | | | | | | | | | | | | | | | | | | | | Remove unused fields, pass timer info in usec instead of TU. Preparation for fixing nexttbtt calculation Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: remove spur related unused definesFelix Fietkau2013-12-181-2/+0
| | | | | | | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: remove additional_swba_backoffFelix Fietkau2013-12-183-4/+1
| | | | | | | | | | | | | | | | | | | | | It is unused Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: simplify spur channel handlingFelix Fietkau2013-12-186-88/+3
| | | | | | | | | | | | | | | | | | | | | | | | Remove ah->config.spurmode and ah->config.spurchans, always use EEPROM data. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: remove ah->config.pcie_clock_reqFelix Fietkau2013-12-183-8/+2
| | | | | | | | | | | | | | | | | | | | | It is unused Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: remove defunct ad-hoc mode ATIM window handling codeFelix Fietkau2013-12-182-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware does not have support for ATIM processing, and the driver does not set up ah->atim_window anywhere. Additionally, the code can clobber the timer used by P2P powersave. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: clean up generic timer codeFelix Fietkau2013-12-185-104/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use generic bitops instead of custom hackery - Move interrupt enable/disable logic from ath9k to ath9k_hw - Decouple ISR call from btcoex - Make the overflow callback optional (to prevent IRQ storms) Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * ath9k_hw: use a software timer for btcoex no_stomp_timerFelix Fietkau2013-12-183-47/+15
| | | | | | | | | | | | | | | | | | | | | | | | TSF accuracy is not needed here, and there is only one usable generic timer that is supported by all chips and uses the primary TSF counter. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>