summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2012-07-20ENGR00209520-03 - FEC : Add support for MX6SL MSL.Fugang Duan
- Modify the the platform macro define like as cpu_is_xxx() for supporting Mergrez chip. - Config MIIGSK for FEC IP to enable RMII mode. MX25,MX53, and MX6Sololite use FEC IP, which need to config the MIIGSK registers memory map for RMII and MII. - Correct device id_table entry name for differnt IP. - Rewrite FEC MAC address by net_device address when reset FEC, which can avoid invalid MAC address to result in FEC cannot work. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00171114 flexcan: enable can2 remote wakeup for mx6qDong Aisheng
The root cause is missed to set CAN2_STOP_REQ in iomuxc group register which is used to support can wakeup feature. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-07-20ENGR00179636-04 - FEC : allocate the enough DMA size for BD.Fugang Duan
- Increase RX BD size to 384 entrys from 16 entrys, and allocate the enough DMA memory for buffer description. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00181514 - FEC : fix kernel dump warning with suspend/resume.Fugang Duan
- Fix clock enable/disable match operation to avoid kernel dump warning "clock enable/disable mismatch". Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00179636-02 - FEC : Enet RX FIFO overruns issue.Fugang Duan
- Increase RX BD size to 384 entrys from 16 entrys, which can reduce the overruns number in busy system. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00179636-01 - FEC : Enet RX FIFO overruns issue.Fugang Duan
- Add NAPI methods. NAPI can improve the performance of high-speed networking, which can reduce the cpu loading of interrupt generate and drop packets. - Enet RX FIFO overruns number has been reduced by NAPI method. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00172303 - FEC : fix 'eth0: tx queue full!' issue.Fugang Duan
The issue is hard to reproduce in normal envrionment. And the reproduce rate is about 40% when doing VTE auto test. while the driver did report being busy when the link is down or no transmission buffers are available, it did not stop the queue, causing instant retries. furthermore, transmission being triggered with link down was caused by unconditional queue wakes, especially on timeouts. Now, wake queue only if link is up and transmission buffers are available, and dont forget to wake queue when link has been adjusted. next, add stop queue notification upon driver induced transmission problems, so network stack has a chance to handle the situation. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20Add ath6kl cleaned up driverKalle Valo
Last May we started working on cleaning up ath6kl driver which is currently in staging. The work has happened in a separate ath6kl-cleanup tree: http://git.kernel.org/?p=linux/kernel/git/kvalo/ath6kl-cleanup.git;a=summary After over 1100 (!) patches we have now reached a state where I would like to start discussing about pushing the driver to the wireless trees and replacing the staging driver. The driver is now a lot smaller and looks like a proper Linux driver. The size of the driver (measured with simple wc -l) dropped from 49 kLOC to 18 kLOC and the number of the .c and .h files dropped from 107 to 22. Most importantly the number of subdirectories reduced from 26 to zero :) There are two remaining checkpatch warnings in the driver which we decided to omit for now: drivers/net/wireless/ath/ath6kl/debug.c:31: WARNING: printk() should include KERN_ facility level drivers/net/wireless/ath/ath6kl/sdio.c:527: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt The driver has endian annotations for all the hardware specific structures and there are no sparse errors. Unfortunately I don't have any big endian hardware to test that right now. We have been testing the driver both on x86 and arm platforms. The code is also compiled with sparc and parisc cross compilers. Notable missing features compared to the current staging driver are: o HCI over SDIO support o nl80211 testmode o firmware logging o suspend support Testmode, firmware logging and suspend support will be added soon. HCI over SDIO support will be more difficult as the HCI driver needs to share code with the wifi driver. This is something we need to research more. Also I want to point out the changes I did for signed endian support. As I wasn't able to find any support for signed endian annotations I decided to follow what NTFS has done and added my own. Grep for sle16 and sle32, especially from wmi.h. Various people have been working on the cleanup, the hall of fame based on number of patches is: 543 Vasanthakumar Thiagarajan 403 Raja Mani 252 Kalle Valo 16 Vivek Natarajan 12 Suraj Sumangala 3 Joe Perches 2 Jouni Malinen Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Suraj Sumangala <surajs@qca.qualcomm.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2012-07-20ENGR00172274-02 - IEEE-1588: rework ts_clk in MX6 ARIK CPU board.Fugang Duan
Default use RMII 50MHz clock for ts_clk. Test result: Enet work fine at 100/1000Mbps in TO1.1 and Rigel. IEEE 1588 timestamp is convergent for 25M & 50M & 100MHz timestamp clock. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00173869-9: i.mx6dl: add the misc drivers supportJason Liu
This patch change is very trivial and simply just add cpu_is_mx6dl() or using cpu_is_mx6 to replace cpu_is_mx6q each driver owner will check it and adjust it accordingly later, such as sdhc etc. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-07-20net: remove mm.h inclusion from netdevice.hAlexey Dobriyan
Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually). To prevent mm.h inclusion via other channels also extract "enum dma_data_direction" definition into separate header. This tiny piece is what gluing netdevice.h with mm.h via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h". Removal of mm.h from scatterlist.h was tried and was found not feasible on most archs, so the link was cutoff earlier. Hope people are OK with tiny include file. Note, that mm_types.h is still dragged in, but it is a separate story. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-07-20ENGR00172374-3: flexcan: use irq_set_irq_wakeJason Liu
fix the building errors when upgrade to v3.0 The following commit change the function name: commit a0cd9ca2b907d7ee26575e7b63ac92dad768a75e Author: Thomas Gleixner <tglx@linutronix.de> Date: Thu Feb 10 11:36:33 2011 +0100 genirq: Namespace cleanup The irq namespace has become quite convoluted. My bad. Clean it up and deprecate the old functions. All new functions follow the scheme: irq number based: irq_set/get/xxx/_xxx(unsigned int irq, ...) irq_data based: irq_data_set/get/xxx/_xxx(struct irq_data *d, ....) irq_desc based: irq_desc_get_xxx(struct irq_desc *desc) Signed-off-by: Thomas Gleixner <tglx@linutronix.de> We need give one fix to change the function call name to align this change, - ret = set_irq_wake(dev->irq, 1); + ret = irq_set_irq_wake(dev->irq, 1); Signed-off-by: Jason Liu <r64343@freescale.com>
2012-07-20ENGR00171113 flexcan: add self wakeup functionDong Aisheng
Flexcan can use the self wakeup function to wakeup system in system suspend state. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-07-20ENGR00161871: ENET: Changing MDIO read and write timeoutRogerio Pimentel
The original FEC_MII_TIMEOUT was set to 1ms, which is too low when passed to the usecs_to_jiffies macro. On ARM one jiffy is 10ms, so use msecs_to_jiffies instead and use a timeout of 30ms, which corresponds to 3 jiffies. After running 3 hours NFS boots, the MDIO timeout do not occur anymore. Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
2012-07-20ENGR00170784 - FEC : dma skb buffer map is not used rightly.Fugang Duan
Enable "CONFIG_DMA_API_DEBUG" in kernel, and system print: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x0000000046688020]...[<80222494>] (debug_dma_unmap_page+0x8c/0x98) from [<802a36a0>] (fec_enet_interrupt+0x430/0x5ac) Correct the usage of "dma_map_single" function. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20fix build issues: remove the include of smp_lock.hJason Liu
since smp_lock.h has been removed on v3.0 Signed-off-by: Jason Liu <r64343@freescale.com>
2012-07-20build fix and driver fixJason Liu
Signed-off-by: Jason Liu <jason.hui@linaro.org>
2012-07-20ENGR00162013 - FEC : Fix loss interrupt when add "rootwait"Fugang Duan
- MII timeout when config ipg 40MHz mode and add "rootwait" para in uboot. Kernel will delay before peripheral equipment are ready, which lead to CPU loss interrupt. - So, prolong the timeout time, and increase the MII clock. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00162364 flexcan: fix endless errors causing system hangDong Aisheng
Clear state error to avoid ednless state error if error happens which will call napi_schedule() each time, seems a little high load, to cause system hang. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-07-20ENGR00159982 - FEC: low power mode when FEC is no use.Fugang Duan
- Set phy AR8031 to save power mode when no cable connect. - Close enet clock gate when FEC is no use. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00161256-1 flexcan: convert driver to use platform idsDong Aisheng
Using platform ids to handle differences between different SoCs. The default rx fifo global mask register, newly introduced in mx6q, is 0xffffffff and the reset value in Message buffers(can be reused as the memory of rx fifo filter table) is none zero, it will wrongly cause the can to be unable to recevie packets due to filter. We need to clear it to make sure to receive all packets. Signed-off-by: Dong Aisheng <b29396@freescale.com>
2012-07-20ENGR00161312 - FEC: fix build warningFugang Duan
fix build warning: > drivers/net/fec.c:435: warning: unused variable 'estatus' Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00161207 - FEC: Add IEEE 1588 driver for imx6Fugang Duan
- Support time stamp sync with networking master timer. - Support ipg 40MHz clock, and precision is about 20ns. - Don't support ipg 66MHz clock. - Test flow: 1. Enable CONFIG_FEC_1588 in imx6_defconfig file. 2. Select pll3 for ipg clk 40M in uboot plugin code. I. set reg 0x20c8028 value to 0x10000; II.set reg 0x20c8024 value to 0x3040; III. set reg 0x20c4014[25] to 0x1 IV. set reg 0x20c4014[12:10] to 0x5 3. Rebuid uboot and setup the ethernet environment. 4. Run the 1588 stack ptp_main in master and slave. Signed-off-by: Fugang Duan <B38611@freescale.com>
2012-07-20ENGR00160701 Fix the Micrel PHY driverMahesh Mahadevan
Received a fix from Micrel to fix their driver. Without this patch the Micrel PHY does not get recognized during boot Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-07-20ENGR00160709-2 Move board specific code out of FEC driverMahesh Mahadevan
Move the board specific code out of the FEC driver to the platform layer Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-07-20ENGR00155400 [ath6kl]build warningTony Lin
fix following build warning: drivers/staging/ath6kl/os/linux/ioctl.c:4673: warning: the frame size of 1976 bytes is larger than 1024 bytes Signed-off-by: Tony Lin <tony.lin@freescale.com>
2012-07-20ENGR00139260-2 [ath6k wifi]add some delay after resumingTony Lin
add some delay after resuming. Signed-off-by: Tony Lin <tony.lin@freescale.com>
2012-07-20ENGR00139260-1 [ath6k wifi]remove drivers under drivers/net/wirelessTony Lin
instead we will use ath6k driver under drivers/staging Signed-off-by: Tony Lin <tony.lin@freescale.com>
2012-07-20ENGR00153127 ENET: Enet not works in 1G modeZeng Zhaoming
Mx6 not works when connnect to a 1G switch. This is caused by phy_dev->supported != PHY_GBIT_FEATURES, more bits will set to phy_dev->supported when negotiation complete. Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
2012-07-20ENGR00152528-2 ENET: add enet support for mx6q.Zeng Zhaoming
Enabled all speed mode, 10M/100M/1G. add "fec_mac" kernel parameter to set mac address. Since clock and board rework issue, some hard code stays to make it work. Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
2012-07-20ENGR00122691-1 Add atheros driver ath6klRichard Zhao
Integrate atheros driver package from atheros company. It's mainly for AR6003. NGR00132491-1 ath6kl upgrade: change Kconfig This series of patches are for upgrading Atheros AR6003(ath6kl) in 31 kernel to 35 kernel. The WLAN_80211 config option has been changed to WLAN in 35 kernel. ENGR00132491-2 ath6kl upgrade: add missed semaphore.h headfile ENGR00132491-3 ath6kl upgrade: enable WEXT implicitely Atheros ath6kl driver is based on WEXT subsystem and therefore needs to select CONFIG_WIRELESS_EXT for compiling. However in the latest kernel such as 2.6.35, this option can no longer be configured using menuconfig. So we select it when the user selects ath6kl driver to compile. Signed-off-by: Nathan Cheng <Nathan.Cheng@Atheros.com> Signed-off-by: Richard Zhao <richard.zhao@freescale.com> Signed-off-by: Aisheng.Dong <b29396@freescale.com>
2012-07-18net: wireless: bcmdhd: Prevent HT Avail request failure to flood the logDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-17net: wireless: bcmdhd: Use proper jiffie-related functionsDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> Conflicts: drivers/net/wireless/bcmdhd/wl_cfg80211.c drivers/net/wireless/bcmdhd/wl_iw.c
2012-07-17net: wireless: bcmdhd: Adjust driver/fw/chip info formatDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Add info_string param with driver/fw/chip infoDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Remove country update from wl_update_wiphybandsDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Fix P2P GO hang issueNeeraj Kumar Garg
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Update wiphy bands on band changeDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Init locks in dhd_attach() at the beginningAndrey Vagin
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcm4329: Init locks in dhd_attach() at the beginningAndrey Vagin
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Add mutex to wl_update_wiphybands()Dmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Skip country setting if unnecessaryDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Return wl_construct_reginfo() callDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-07-12net: wireless: bcmdhd: Add wiphyband update for country changeDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-06-28net: wireless: bcmdhd: Skip inaccurate wl_construct_reginfo() callDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-06-20net: wireless: bcmdhd: Ignore error if "chanspecs" command is not supportedDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-06-19net: wireless: bcmdhd: Reduce priority for dhd_dpc and watchdogDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-06-19net: wireless: bcmdhd: Reload FW in case of constant scan failureDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-06-17e1000: save skb counts in TX to avoid cache missesDean Nelson
commit 31c15a2f24ebdab14333d9bf5df49757842ae2ec upstream. Virtual Machines with emulated e1000 network adapter running on Parallels' server were seeing kernel panics due to the e1000 driver dereferencing an unexpected NULL pointer retrieved from buffer_info->skb. The problem has been addressed for the e1000e driver, but not for the e1000. Since the two drivers share similar code in the affected area, a port of the following e1000e driver commit solves the issue for the e1000 driver: commit 9ed318d546a29d7a591dbe648fd1a2efe3be1180 Author: Tom Herbert <therbert@google.com> Date: Wed May 5 14:02:27 2010 +0000 e1000e: save skb counts in TX to avoid cache misses In e1000_tx_map, precompute number of segements and bytecounts which are derived from fields in skb; these are stored in buffer_info. When cleaning tx in e1000_clean_tx_irq use the values in the associated buffer_info for statistics counting, this eliminates cache misses on skb fields. Signed-off-by: Dean Nelson <dnelson@redhat.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Roman Kagan <rkagan@parallels.com>
2012-06-17iwlwifi: don't mess up the SCD when removing a keyEmmanuel Grumbach
commit d6ee27eb13beab94056e0de52d81220058ca2297 upstream. When we remove a key, we put a key index which was supposed to tell the fw that we are actually removing the key. But instead the fw took that index as a valid index and messed up the SRAM of the device. This memory corruption on the device mangled the data of the SCD. The impact on the user is that SCD queue 2 got stuck after having removed keys. The message is the log that was printed is: Queue 2 stuck for 10000ms This doesn't seem to fix the higher queues that get stuck from time to time. Reviewed-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>