summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/ti
AgeCommit message (Collapse)Author
2013-04-30net/cpsw: Use fallback for active_slaveSebastian Andrzej Siewior
In case the .dts has not been yet updated we also try to look for the old "cpts_active_slave" property. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: use a lock around source testingSebastian Andrzej Siewior
For some reason on RT it happens that the TX interrupt fires over and over again but according to tx_stat there is nothing going on. Same goes for RX but not that often. With this lock around it this is gone. However I still see from time to time interrupts where each source is set to 0. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: fix missplaced init chunkSebastian Andrzej Siewior
this is a fixup for "net/cpsw: fix irq_disable() with threaded interrupts" where the assignment made into the slave and not into the main device. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: revert 80d5c3689b886308247da295a228a54df49a44f6Sebastian Andrzej Siewior
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: revert f646968f8f7c624587de729115d802372b9063ddSebastian Andrzej Siewior
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: revert f9a8f83b04e0c362a2fc660dbad980d24af209fcSebastian Andrzej Siewior
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: giant cpsw patchSebastian Siewior
This patch contains: git diff v3.8..net-merge drivers/net/ethernet/ti arch/arm/boot/dts/am33* include/linux/platform_data/cpsw.h where the net-merge branch contains the following branches merged: net-next as of 37fe066 net: fix address check in rtnl_fdb_del net as of b9e48de isdn/sc: Fix incorrect module_param_array types linus as of 697dfd8 Merge tag 'efi-urgent' into x86/urgent including the following patches: |commit 15c6ff3bc0ff3464a8c7efcdea09c86454571622 |Author: Jiri Pirko <jiri@resnulli.us> |Date: Tue Jan 1 03:30:17 2013 +0000 | | net: remove unnecessary NET_ADDR_RANDOM "bitclean" | | NET_ADDR_SET is set in dev_set_mac_address() no need to alter | dev->addr_assign_type value in drivers. | | Signed-off-by: Jiri Pirko <jiri@resnulli.us> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 7826d43f2db45c9305a6e0ba165650e1a203f517 |Author: Jiri Pirko <jiri@resnulli.us> |Date: Sun Jan 6 00:44:26 2013 +0000 | | ethtool: fix drvinfo strings set in drivers | | Use strlcpy where possible to ensure the string is \0 terminated. | Use always sizeof(string) instead of 32, ETHTOOL_BUSINFO_LEN | and custom defines. | Use snprintf instead of sprint. | Remove unnecessary inits of ->fw_version | Remove unnecessary inits of drvinfo struct. | | Signed-off-by: Jiri Pirko <jiri@resnulli.us> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 8ff25eebb8161d08ddc48539e6b4afa0b18d778f |Author: Kees Cook <keescook@chromium.org> |Date: Tue Oct 2 11:18:24 2012 -0700 | | drivers/net/ethernet/ti: remove depends on CONFIG_EXPERIMENTAL | | The CONFIG_EXPERIMENTAL config item has not carried much meaning for a | while now and is almost always enabled by default. As agreed during the | Linux kernel summit, remove it from any "depends on" lines in Kconfigs. | | CC: Tony Lindgren <tony@atomide.com> | CC: Mugunthan V N <mugunthanvnm@ti.com> | CC: Kevin Hilman <khilman@ti.com> | CC: "David S. Miller" <davem@davemloft.net> | CC: Cyril Chemparathy <cyril@ti.com> | Signed-off-by: Kees Cook <keescook@chromium.org> | Acked-by: David S. Miller <davem@davemloft.net> | |commit f9a8f83b04e0c362a2fc660dbad980d24af209fc |Author: Florian Fainelli <florian@openwrt.org> |Date: Mon Jan 14 00:52:52 2013 +0000 | | net: phy: remove flags argument from phy_{attach, connect, connect_direct} | | The flags argument of the phy_{attach,connect,connect_direct} functions | is then used to assign a struct phy_device dev_flags with its value. | All callers but the tg3 driver pass the flag 0, which results in the | underlying PHY drivers in drivers/net/phy/ not being able to actually | use any of the flags they would set in dev_flags. This patch gets rid of | the flags argument, and passes phydev->dev_flags to the internal PHY | library call phy_attach_direct() such that drivers which actually modify | a phy device dev_flags get the value preserved for use by the underlying | phy driver. | | Acked-by: Kosta Zertsekel <konszert@marvell.com> | Signed-off-by: Florian Fainelli <florian@openwrt.org> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit fae50823d0ee579e006a7ba2b20880e354388b25 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Thu Jan 17 06:31:34 2013 +0000 | | net: ethernet: davinci_cpdma: Add boundary for rx and tx descriptors | | When there is heavy transmission traffic in the CPDMA, then Rx descriptors | memory is also utilized as tx desc memory looses all rx descriptors and the | driver stops working then. | | This patch adds boundary for tx and rx descriptors in bd ram dividing the | descriptor memory to ensure that during heavy transmission tx doesn't use | rx descriptors. | | This patch is already applied to davinci_emac driver, since CPSW and | davici_dmac shares the same CPDMA, moving the boundry seperation from | Davinci EMAC driver to CPDMA driver which was done in the following | commit | | commit 86d8c07ff2448eb4e860e50f34ef6ee78e45c40c | Author: Sascha Hauer <s.hauer@pengutronix.de> | Date: Tue Jan 3 05:27:47 2012 +0000 | | net/davinci: do not use all descriptors for tx packets | | The driver uses a shared pool for both rx and tx descriptors. | During open it queues fixed number of 128 descriptors for receive | packets. For each received packet it tries to queue another | descriptor. If this fails the descriptor is lost for rx. | The driver has no limitation on tx descriptors to use, so it | can happen during a nmap / ping -f attack that the driver | allocates all descriptors for tx and looses all rx descriptors. | The driver stops working then. | To fix this limit the number of tx descriptors used to half of | the descriptors available, the rx path uses the other half. | | Tested on a custom board using nmap / ping -f to the board from | two different hosts. | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 7373470202a3c98e1a338bf1acf51247cd100868 |Author: Thierry Reding <thierry.reding@avionic-design.de> |Date: Mon Jan 21 10:38:39 2013 +0100 | | net: ethernet: davinci: Fix build breakage | | The correct name of the transmit DMA channel field in struct emac_priv | is txchan, not txch. | | Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit b2adaca92c63b9bb8beb021d554f656e387a7648 |Author: Joe Perches <joe@perches.com> |Date: Sun Feb 3 17:43:58 2013 +0000 | | ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups | | alloc failures already get standardized OOM | messages and a dump_stack. | | Convert kzalloc's with multiplies to kcalloc. | Convert kmalloc's with multiplies to kmalloc_array. | Fix a few whitespace defects. | Convert a constant 6 to ETH_ALEN. | Use parentheses around sizeof. | Convert vmalloc/memset to vzalloc. | Remove now unused size variables. | | Signed-off-by: Joe Perches <joe@perches.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit e11b220f336c654db876027d40953acef90b0cae |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Tue Feb 5 08:26:47 2013 +0000 | | drivers: net: cpsw: Add helper functions for VLAN ALE implementation | | Add helper functions for VLAN ALE implementations for Add, Delete | Dump VLAN related ALE entries | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 3b72c2fe0c6bbec42ed7f899931daef227b80322 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Tue Feb 5 08:26:48 2013 +0000 | | drivers: net:ethernet: cpsw: add support for VLAN | | adding support for VLAN interface for cpsw. | | CPSW VLAN Capability | * Can filter VLAN packets in Hardware | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit f6575c90f6fc637697f130ea4a05892296c9a473 |Author: Vaibhav Bedia <vaibhav.bedia@ti.com> |Date: Tue Jan 29 16:45:07 2013 +0530 | | ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 | | Since AM33XX supports only DT-boot, this is needed | for the appropriate device nodes to be created. | | Note: OCMC RAM is part of the PER power domain and supports | retention. The assembly code for low power entry/exit will | run from OCMC RAM. To ensure that the OMAP PM code does not | attempt to disable the clock to OCMC RAM as part of the | suspend process add the no_idle_on_suspend flag. | | Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com> | Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> | Acked-by: Peter Korsgaard <jacmet@sunsite.dk> | Signed-off-by: Paul Walmsley <paul@pwsan.com> | |commit f6e135c81eeb648c6addc6aeff2ee80f28ea413b |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Feb 11 09:52:18 2013 +0000 | | driver: net: ethernet: davinci_cpdma: add support for directed packet and source port detection | | * Introduced parameter to add port number for directed packet in cpdma_chan_submit | * Source port detection macro with DMA descriptor status | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 9232b16df2167c8afcb89de39ee85f5091ebacff |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Feb 11 09:52:19 2013 +0000 | | driver: net: ethernet: cpsw: make cpts as pointer | | As CPTS is common module for both EMAC in Dual EMAC mode so making cpts as | pointer. | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit d9ba8f9e6298af71ec1c1fd3d88c3ef68abd0ec3 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Feb 11 09:52:20 2013 +0000 | | driver: net: ethernet: cpsw: dual emac interface implementation | | The CPSW switch can act as Dual EMAC by segregating the switch ports | using VLAN and port VLAN as per the TRM description in | 14.3.2.10.2 Dual Mac Mode | | Following CPSW components will be common for both the interfaces. | * Interrupt source is common for both eth interfaces | * Interrupt pacing is common for both interfaces | * Hardware statistics is common for all the ports | * CPDMA is common for both eth interface | * CPTS is common for both the interface and it should not be enabled on | both the interface as timestamping information doesn't contain port | information. | | Constrains | * Reserved VID of One port should not be used in other interface which will | enable switching functionality | * Same VID must not be used in both the interface which will enable switching | functionality | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 79876e0394aa46e74267a5871c4f4469544dcacf |Author: Cyril Roelandt <tipecaml@gmail.com> |Date: Tue Feb 12 12:52:30 2013 +0000 | | net: ethernet: ti: remove redundant NULL check. | | cpdma_chan_destroy() on a NULL pointer is a no-op, so the NULL check in | cpdma_ctlr_destroy() can safely be removed. | | Signed-off-by: Cyril Roelandt <tipecaml@gmail.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 6929e24e4cc46ce8d5b7dd8f8bdf4244c8d77f76 |Author: Arnd Bergmann <arnd@arndb.de> |Date: Thu Feb 14 17:53:01 2013 +0100 | | net: cwdavinci_cpdma: export symbols for cpsw | | With the support for ARM AM33xx in multiplatform kernels | in 3.9, an older bug appears in ARM allmodconfig: | When the cpsw driver is built as a module with cpdma | support enabled, it uses symbols that the cpdma driver | does not export. | | Without this patch, building allmodconfig results in: | | ERROR: "cpdma_ctlr_int_ctrl" [drivers/net/ethernet/ti/ti_cpsw.ko] undefined! | ERROR: "cpdma_control_set" [drivers/net/ethernet/ti/ti_cpsw.ko] undefined! | ERROR: "cpdma_ctlr_eoi" [drivers/net/ethernet/ti/ti_cpsw.ko] undefined! | | Signed-off-by: Arnd Bergmann <arnd@arndb.de> | Acked-by: David S. Miller <davem@davemloft.net> | Cc: Mugunthan V N <mugunthanvnm@ti.com> | Cc: Vaibhav Hiremath <hvaibhav@ti.com> | Cc: Richard Cochran <richardcochran@gmail.com> | Cc: netdev@vger.kernel.org | |commit 510a1e7249298f6bbd049e1ec98041ddf5ef6452 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Sun Feb 17 22:19:20 2013 +0000 | | drivers: net: davinci_cpdma: acknowledge interrupt properly | | CPDMA interrupts are not properly acknowledged which leads to interrupt | storm, only cpdma interrupt 0 is acknowledged in Davinci CPDMA driver. | Changed cpdma_ctlr_eoi api to acknowledge 1 and 2 interrupts which are | used for rx and tx respectively. | | Reported-by: Pantelis Antoniou <panto@antoniou-consulting.com> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 06991c28f37ad68e5c03777f5c3b679b56e3dac1 |Merge: 460dc1e 74fef7a |Author: Linus Torvalds <torvalds@linux-foundation.org> |Date: Thu Feb 21 12:05:51 2013 -0800 | | Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core | | Pull driver core patches from Greg Kroah-Hartman: | "Here is the big driver core merge for 3.9-rc1 | | There are two major series here, both of which touch lots of drivers | all over the kernel, and will cause you some merge conflicts: | | - add a new function called devm_ioremap_resource() to properly be | able to check return values. | | - remove CONFIG_EXPERIMENTAL | | Other than those patches, there's not much here, some minor fixes and | updates" | | Fix up trivial conflicts | | * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits) | base: memory: fix soft/hard_offline_page permissions | drivercore: Fix ordering between deferred_probe and exiting initcalls | backlight: fix class_find_device() arguments | TTY: mark tty_get_device call with the proper const values | driver-core: constify data for class_find_device() | firmware: Ignore abort check when no user-helper is used | firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER | firmware: Make user-mode helper optional | firmware: Refactoring for splitting user-mode helper code | Driver core: treat unregistered bus_types as having no devices | watchdog: Convert to devm_ioremap_resource() | thermal: Convert to devm_ioremap_resource() | spi: Convert to devm_ioremap_resource() | power: Convert to devm_ioremap_resource() | mtd: Convert to devm_ioremap_resource() | mmc: Convert to devm_ioremap_resource() | mfd: Convert to devm_ioremap_resource() | media: Convert to devm_ioremap_resource() | iommu: Convert to devm_ioremap_resource() | drm: Convert to devm_ioremap_resource() | ... | |commit 3298a3511f1e73255a8dc023efd909e569eea037 |Merge: 5ce7aba acb7452 |Author: Linus Torvalds <torvalds@linux-foundation.org> |Date: Thu Feb 21 15:20:41 2013 -0800 | | Merge tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc | | Pull ARM SoC multiplatform support from Arnd Bergmann: | "Converting more ARM platforms to multiplatform support. This time, | OMAP gets converted, which is a major step since this is by far the | largest platform in terms of code size. The same thing happens to the | vt8500 platform." | | * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: | net: cwdavinci_cpdma: export symbols for cpsw | remoteproc: omap: depend on OMAP_MBOX_FWK | [media] davinci: do not include mach/hardware.h | ARM: OMAP2+: Make sure files with omap initcalls include soc.h | ARM: OMAP2+: Include soc.h to drm.c to fix compiling | ARM: OMAP2+: Fix warning for hwspinlock omap_postcore_initcall | ARM: multi_v7_defconfig: add ARCH_ZYNQ | ARM: multi_v7_defconfig: remove unnecessary CONFIG_GPIOLIB | arm: vt8500: Remove remaining mach includes | arm: vt8500: Convert debug-macro.S to be multiplatform friendly | arm: vt8500: Remove single platform Kconfig options | ARM: OMAP2+: Remove now obsolete uncompress.h and debug-macro.S | ARM: OMAP2+: Add minimal support for booting vexpress | ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support | ARM: OMAP2+: Disable code that currently does not work with multiplaform | ARM: OMAP2+: Add multiplatform debug_ll support | ARM: OMAP: Fix dmaengine init for multiplatform | ARM: OMAP: Fix i2c cmdline initcall for multiplatform | ARM: OMAP2+: Use omap initcalls | ARM: OMAP2+: Limit omap initcalls to omap only on multiplatform kernels | |commit 0237c11044b3670adcbe80cd6dd721285347f497 |Author: Daniel Mack <zonque@gmail.com> |Date: Tue Feb 26 04:06:20 2013 +0000 | | drivers: net: ethernet: cpsw: consider number of slaves in interation | | Make cpsw_add_default_vlan() look at the actual number of slaves for its | iteration, so boards with less than 2 slaves don't ooops at boot. | | Signed-off-by: Daniel Mack <zonque@gmail.com> | Cc: Mugunthan V N <mugunthanvnm@ti.com> | Cc: David S. Miller <davem@davemloft.net> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 7307c00f335a4e986586b12334696098d2fc2bcd |Merge: f8f466c 55ccb1a |Author: Linus Torvalds <torvalds@linux-foundation.org> |Date: Thu Feb 28 20:00:40 2013 -0800 | | Merge tag 'late-omap' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc | | Pull ARM SoC late OMAP changes from Olof Johansson: | "This branch contains changes for OMAP that came in late during the | release staging, close to when the merge window opened. | | It contains, among other things: | | - OMAP PM fixes and some patches for audio device integration | - OMAP clock fixes related to common clock conversion | - A set of patches cleaning up WFI entry and blocking. | - A set of fixes and IP block support for PM on TI AM33xx SoCs | (Beaglebone, etc) | - A set of smaller fixes and cleanups around AM33xx restart and | revision detection, as well as removal of some dead code | (CONFIG_32K_TIMER_HZ)" | | * tag 'late-omap' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits) | ARM: omap2: include linux/errno.h in hwmod_reset | ARM: OMAP2+: fix some omap_device_build() calls that aren't compiled by default | ARM: OMAP4: hwmod data: Enable AESS hwmod device | ARM: OMAP4: hwmod data: Update AESS data with memory bank area | ARM: OMAP4+: AESS: enable internal auto-gating during initial setup | ASoC: TI AESS: add autogating-enable function, callable from architecture code | ARM: OMAP2+: hwmod: add enable_preprogram hook | ARM: OMAP4: clock data: Add missing clkdm association for dpll_usb | ARM: OMAP2+: PM: Fix the dt return condition in pm_late_init() | ARM: OMAP2: am33xx-hwmod: Fix "register offset NULL check" bug | ARM: OMAP2+: AM33xx: hwmod: add missing HWMOD_NO_IDLEST flags | ARM: OMAP: AM33xx hwmod: Add parent-child relationship for PWM subsystem | ARM: OMAP: AM33xx hwmod: Corrects PWM subsystem HWMOD entries | ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 | ARM: OMAP2+: AM33XX: Update the hardreset API | ARM: OMAP2+: AM33XX: hwmod: Update the WKUP-M3 hwmod with reset status bit | ARM: OMAP2+: AM33XX: hwmod: Fixup cpgmac0 hwmod entry | ARM: OMAP2+: AM33XX: hwmod: Update TPTC0 hwmod with the right flags | ARM: OMAP2+: AM33XX: hwmod: Register OCMC RAM hwmod | ARM: OMAP2+: AM33XX: CM/PRM: Use __ASSEMBLER__ macros in header files | ... | |commit 9da060d0ed571bbff434c4a1ef3e48db99a37ee0 |Merge: e3b5951 aab2b4b |Author: Linus Torvalds <torvalds@linux-foundation.org> |Date: Tue Mar 5 18:42:29 2013 -0800 | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net | | Pull networking fixes from David Miller: | "A moderately sized pile of fixes, some specifically for merge window | introduced regressions although others are for longer standing items | and have been queued up for -stable. | | I'm kind of tired of all the RDS protocol bugs over the years, to be | honest, it's way out of proportion to the number of people who | actually use it. | | 1) Fix missing range initialization in netfilter IPSET, from Jozsef | Kadlecsik. | | 2) ieee80211_local->tim_lock needs to use BH disabling, from Johannes | Berg. | | 3) Fix DMA syncing in SFC driver, from Ben Hutchings. | | 4) Fix regression in BOND device MAC address setting, from Jiri | Pirko. | | 5) Missing usb_free_urb in ISDN Hisax driver, from Marina Makienko. | | 6) Fix UDP checksumming in bnx2x driver for 57710 and 57711 chips, | fix from Dmitry Kravkov. | | 7) Missing cfgspace_lock initialization in BCMA driver. | | 8) Validate parameter size for SCTP assoc stats getsockopt(), from | Guenter Roeck. | | 9) Fix SCTP association hangs, from Lee A Roberts. | | 10) Fix jumbo frame handling in r8169, from Francois Romieu. | | 11) Fix phy_device memory leak, from Petr Malat. | | 12) Omit trailing FCS from frames received in BGMAC driver, from Hauke | Mehrtens. | | 13) Missing socket refcount release in L2TP, from Guillaume Nault. | | 14) sctp_endpoint_init should respect passed in gfp_t, rather than use | GFP_KERNEL unconditionally. From Dan Carpenter. | | 15) Add AISX AX88179 USB driver, from Freddy Xin. | | 16) Remove MAINTAINERS entries for drivers deleted during the merge | window, from Cesar Eduardo Barros. | | 17) RDS protocol can try to allocate huge amounts of memory, check | that the user's request length makes sense, from Cong Wang. | | 18) SCTP should use the provided KMALLOC_MAX_SIZE instead of it's own, | bogus, definition. From Cong Wang. | | 19) Fix deadlocks in FEC driver by moving TX reclaim into NAPI poll, | from Frank Li. Also, fix a build error introduced in the merge | window. | | 20) Fix bogus purging of default routes in ipv6, from Lorenzo Colitti. | | 21) Don't double count RTT measurements when we leave the TCP receive | fast path, from Neal Cardwell." | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits) | tcp: fix double-counted receiver RTT when leaving receiver fast path | CAIF: fix sparse warning for caif_usb | rds: simplify a warning message | net: fec: fix build error in no MXC platform | net: ipv6: Don't purge default router if accept_ra=2 | net: fec: put tx to napi poll function to fix dead lock | sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE | rds: limit the size allocated by rds_message_alloc() | MAINTAINERS: remove eexpress | MAINTAINERS: remove drivers/net/wan/cycx* | MAINTAINERS: remove 3c505 | caif_dev: fix sparse warnings for caif_flow_cb | ax88179_178a: ASIX AX88179_178A USB 3.0/2.0 to gigabit ethernet adapter driver | sctp: use the passed in gfp flags instead GFP_KERNEL | ipv[4|6]: correct dropwatch false positive in local_deliver_finish | l2tp: Restore socket refcount when sendmsg succeeds | net/phy: micrel: Disable asymmetric pause for KSZ9021 | bgmac: omit the fcs | phy: Fix phy_device_free memory leak | bnx2x: Fix KR2 work-around condition | ... | |commit 720a43efd30f04a0a492c85fb997361c44fbae05 |Author: Joe Perches <joe@perches.com> |Date: Fri Mar 8 15:03:25 2013 +0000 | | drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb | | Emitting netdev_alloc_skb and netdev_alloc_skb_ip_align OOM | messages is unnecessary as there is already a dump_stack | after allocation failures. | | Other trivial changes around these removals: | | Convert a few comparisons of pointer to 0 to !pointer. | Change flow to remove unnecessary label. | Remove now unused variable. | Hoist assignment from if. | | Signed-off-by: Joe Perches <joe@perches.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit e86ac13b031cf71d8f40ff513e627aac80e6b765 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Mar 11 23:16:35 2013 +0000 | | drivers: net: ethernet: cpsw: change cpts_active_slave to active_slave | | Change cpts_active_slave to active_slave so that the same DT property | can be used to ethtool and SIOCGMIIPHY. | | CC: Richard Cochran <richardcochran@gmail.com> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit d3bb9c58b567d240eaaa2dc8bd778696eaed5fbd |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Mar 11 23:16:36 2013 +0000 | | driver: net: ethernet: cpsw: implement ethtool get/set phy setting | | This patch implements get/set of the phy settings via ethtool apis | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit ff5b8ef2ef3af0fd7e1cf6c8c1ed9ec5afbda422 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Mar 11 23:16:37 2013 +0000 | | driver: net: ethernet: cpsw: implement interrupt pacing via ethtool | | This patch implements support for interrupt pacing block of CPSW via ethtool | Inetrrupt pacing block is common of both the ethernet interface in | dual emac mode | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 11f2c988382b880e602a005c26436043c5d2c274 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Mar 11 23:16:38 2013 +0000 | | drivers: net: ethernet: cpsw: implement get phy_id via ioctl | | Implement get phy_id via ioctl SIOCGMIIPHY. In switch mode active phy_id | is returned and in dual EMAC mode slave's specific phy_id is returned. | | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit d35162f89b8f00537d7b240b76d2d0e8b8d29aa0 |Author: Daniel Mack <zonque@gmail.com> |Date: Tue Mar 12 06:31:19 2013 +0000 | | net: ethernet: cpsw: fix usage of cpdma_check_free_tx_desc() | | Commit fae50823d0 ("net: ethernet: davinci_cpdma: Add boundary for rx | and tx descriptors") introduced a function to check the current | allocation state of tx packets. The return value is taken into account | to stop the netqork queue on the adapter in case there are no free | slots. | | However, cpdma_check_free_tx_desc() returns 'true' if there is room in | the bitmap, not 'false', so the usage of the function is wrong. | | Signed-off-by: Daniel Mack <zonque@gmail.com> | Cc: Mugunthan V N <mugunthanvnm@ti.com> | Reported-by: Sven Neumann <s.neumann@raumfeld.com> | Reported-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com> | Tested-by: Mugunthan V N <mugunthanvnm@ti.com> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Tested-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 75b9b61bb8a18e75afe7b10dd55681e748fa27df |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Fri Mar 15 04:10:16 2013 +0000 | | drivers: net: ethernet: ti: davinci_emac: fix usage of cpdma_check_free_tx_desc() | | Fix which was done in the following commit in cpsw driver has | to be taken forward to davinci emac driver as well. | | commit d35162f89b8f00537d7b240b76d2d0e8b8d29aa0 | Author: Daniel Mack <zonque@gmail.com> | Date: Tue Mar 12 06:31:19 2013 +0000 | | net: ethernet: cpsw: fix usage of cpdma_check_free_tx_desc() | | Commit fae50823d0 ("net: ethernet: davinci_cpdma: Add boundary for rx | and tx descriptors") introduced a function to check the current | allocation state of tx packets. The return value is taken into account | to stop the netqork queue on the adapter in case there are no free | slots. | | However, cpdma_check_free_tx_desc() returns 'true' if there is room in | the bitmap, not 'false', so the usage of the function is wrong. | | Reported-by: Prabhakar Lad <prabhakar.csengg@gmail.com> | Tested-by: Prabhakar Lad <prabhakar.csengg@gmail.com> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 61816596d1c9026d0ecb20c44f90452c41596ffe |Merge: 23a9072 da2191e |Author: David S. Miller <davem@davemloft.net> |Date: Wed Mar 20 12:46:26 2013 -0400 | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net | | Pull in the 'net' tree to get Daniel Borkmann's flow dissector | infrastructure change. | | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit e052a5893b78d43bd183c6cc33bc346efe6bc6e5 |Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn> |Date: Wed Mar 20 05:01:45 2013 +0000 | | net: ethernet: davinci_emac: make local function emac_poll_controller() static | | emac_poll_controller() was not declared. It should be static. | | Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit ce16294fda230c787ce5c35f61b2f80d14d70a72 |Author: Lothar Waßmann <LW@KARO-electronics.de> |Date: Thu Mar 21 02:20:11 2013 +0000 | | net: ethernet: cpsw: fix erroneous condition in error check | | The error check in cpsw_probe_dt() has an '&&' where an '||' is | meant to be. This causes a NULL pointer dereference when incomplet DT | data is passed to the driver ('phy_id' property for cpsw_emac1 | missing). | | Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit ea3d1cc285bf1ae1fa81b47418cd7fd79990bb06 |Merge: 2fa70df f4541d6 |Author: David S. Miller <davem@davemloft.net> |Date: Fri Mar 22 12:53:09 2013 -0400 | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net | | Pull to get the thermal netlink multicast group name fix, otherwise | the assertion added in net-next to netlink to detect that kind of bug | makes systems unbootable for some folks. | | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit b8092861efd827deb8d84292674704ee8bf41b04 |Author: Sekhar Nori <nsekhar@ti.com> |Date: Sun Mar 24 23:25:46 2013 +0000 | | net/davinci_emac: use devres APIs | | Use devres APIs where possible to simplify error handling | in driver probe. | | While at it, also rename the goto targets in error path to | introduce some consistency in how they are named. | | Signed-off-by: Sekhar Nori <nsekhar@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit b56d6b3fca6d1214dbc9c5655f26e5d4ec04afc8 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Wed Mar 27 04:41:59 2013 +0000 | | drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting tx queue | | To restart tx queue use netif_wake_queue() intead of netif_start_queue() | so that net schedule will restart transmission immediately which will | increase network performance while doing huge data transfers. | | Reported-by: Dan Franke <dan.franke@schneider-electric.com> | Suggested-by: Sriramakrishnan A G <srk@ti.com> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Acked-by: Eric Dumazet <edumazet@google.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 7e51cde276ca820d526c6c21cf8147df595a36bf |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Wed Mar 27 04:42:00 2013 +0000 | | drivers: net: ethernet: davinci_emac: use netif_wake_queue() while restarting tx queue | | To restart tx queue use netif_wake_queue() intead of netif_start_queue() | so that net schedule will restart transmission immediately which will | increase network performance while doing huge data transfers. | | Reported-by: Dan Franke <dan.franke@schneider-electric.com> | Suggested-by: Sriramakrishnan A G <srk@ti.com> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Acked-by: Eric Dumazet <edumazet@google.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit a210576cf891e9e6d2c238eabcf5c1286b1e7526 |Merge: 7d4c04f 3658f36 |Author: David S. Miller <davem@davemloft.net> |Date: Mon Apr 1 13:36:50 2013 -0400 | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net | | Conflicts: | net/mac80211/sta_info.c | net/wireless/core.h | | Two minor conflicts in wireless. Overlapping additions of extern | declarations in net/wireless/core.h and a bug fix overlapping with | the addition of a boolean parameter to __ieee80211_key_free(). | | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 91c4166c1a01c00b8bed74f7a7defa620071de88 |Author: Mugunthan V N <mugunthanvnm@ti.com> |Date: Mon Apr 15 07:31:28 2013 +0000 | | drivers: net: ethernet: cpsw: get slave VLAN id from slave node instead of cpsw node | | Dual EMAC slave VLAN id must be got from slave node instead of cpsw node as | VLAN id for each slave will be different. | | Reported-by: Mark Jackson <mpfj-list@mimc.co.uk> | Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 1e0a8b13d35510e711fdf72e9a3e30bcb2bd49fa |Author: Devendra Naga <devendra.aaru@gmail.com> |Date: Tue Apr 16 01:30:38 2013 +0000 | | tlan: cancel work at remove path | | the work has been scheduled from interrupt, and not been | cancelled when the driver is unloaded, which doesn't remove | the work item from the global workqueue. call the | cancel_work_sync when the driver is removed (rmmod'ed). | | Cc: Sriram <srk@ti.com> | Cc: Cyril Chemparathy <cyril@ti.com> | Cc: Vinay Hegde <vinay.hegde@ti.com> | Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit f646968f8f7c624587de729115d802372b9063dd |Author: Patrick McHardy <kaber@trash.net> |Date: Fri Apr 19 02:04:27 2013 +0000 | | net: vlan: rename NETIF_F_HW_VLAN_* feature flags to NETIF_F_HW_VLAN_CTAG_* | | Rename the hardware VLAN acceleration features to include "CTAG" to indicate | that they only support CTAGs. Follow up patches will introduce 802.1ad | server provider tagging (STAGs) and require the distinction for hardware not | supporting acclerating both. | | Signed-off-by: Patrick McHardy <kaber@trash.net> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 80d5c3689b886308247da295a228a54df49a44f6 |Author: Patrick McHardy <kaber@trash.net> |Date: Fri Apr 19 02:04:28 2013 +0000 | | net: vlan: prepare for 802.1ad VLAN filtering offload | | Change the rx_{add,kill}_vid callbacks to take a protocol argument in | preparation of 802.1ad support. The protocol argument used so far is | always htons(ETH_P_8021Q). | | Signed-off-by: Patrick McHardy <kaber@trash.net> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 6e0895c2ea326cc4bb11e8fa2f654628d5754c31 |Merge: 55fbbe4 60d509f |Author: David S. Miller <davem@davemloft.net> |Date: Mon Apr 22 20:32:51 2013 -0400 | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net | | Conflicts: | drivers/net/ethernet/emulex/benet/be_main.c | drivers/net/ethernet/intel/igb/igb_main.c | drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | include/net/scm.h | net/batman-adv/routing.c | net/ipv4/tcp_input.c | | The e{uid,gid} --> {uid,gid} credentials fix conflicted with the | cleanup in net-next to now pass cred structs around. | | The be2net driver had a bug fix in 'net' that overlapped with the VLAN | interface changes by Patrick McHardy in net-next. | | An IGB conflict existed because in 'net' the build_skb() support was | reverted, and in 'net-next' there was a comment style fix within that | code. | | Several batman-adv conflicts were resolved by making sure that all | calls to batadv_is_my_mac() are changed to have a new bat_priv first | argument. | | Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO | rewrite in 'net-next', mostly overlapping changes. | | Thanks to Stephen Rothwell and Antonio Quartulli for help with several | of these merge resolutions. | | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 817f6d1a13754b043e1a6c1cb713763022860689 |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Tue Apr 23 07:31:35 2013 +0000 | | net/davinci_cpdma: don't check for jiffies with interrupts | | __cpdma_chan_process() holds the lock with interrupts off (and its | caller as well), same goes for cpdma_ctlr_start(). With interrupts off, | jiffies will not make any progress and if the wait condition never gets | true we wait for ever. | Tgis patch adds a a simple udelay and counting down attempt. | | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit aacebbf8026ecdae1b55db3912e65c6b1308f5ed |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Tue Apr 23 07:31:36 2013 +0000 | | net/cpsw: don't continue if we miss to allocate rx skbs | | if during "ifconfig up" we run out of mem we continue regardless how | many skbs we got. In worst case we have zero RX skbs and can't ever | receive further packets since the RX skbs are never reallocated. If | cpdma_chan_submit() fails we even leak the skb. | This patch changes the behavior here: | If we fail to allocate an skb during bring up we don't continue and | report that error. Same goes for errors from cpdma_chan_submit(). | While here I changed to __netdev_alloc_skb_ip_align() so GFP_KERNEL can | be used. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit fd51cf199421197d14099b4ba382301cc28e5544 |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Tue Apr 23 07:31:37 2013 +0000 | | net/cpsw: don't rely only on netif_running() to check which device is active | | netif_running() reports false before the ->ndo_stop() callback is | called. That means if one executes "ifconfig down" and the system | receives an interrupt before the interrupt source has been disabled we | hang for always for two reasons: | - we never disable the interrupt source because devices claim to be | already inactive and don't feel responsible. | - since the ISR always reports IRQ_HANDLED the line is never deactivated | because it looks like the ISR feels responsible. | | This patch changes the logic in the ISR a little: | - If none of the status registers reports an active source (RX or TX, | misc is ignored because it is not actived) we leave with IRQ_NONE. | - the interrupt is deactivated | - The first active network device is taken and napi is scheduled. If | none are active (a small race window between ndo_down() and the | interrupt the) then we leave and should not come back because the | source is off. | There is no need to schedule the second NAPI because both share the | same dma queue. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit aef614e13dfbdd3b9ae44ad110159f75b9029bba |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Tue Apr 23 07:31:38 2013 +0000 | | net/davinci_cpdma: remove unused argument in cpdma_chan_submit() | | The gfp_mask argument is not used in cpdma_chan_submit() and always set | to GFP_KERNEL even in atomic sections. This patch drops it since it is | unused. | | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit b4727e69b81b71c6e9696185091e8256d863f9be |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Tue Apr 23 07:31:39 2013 +0000 | | net/cpsw: redo rx skb allocation in rx path | | In case that we run into OOM during the allocation of the new rx-skb we | don't get one and we have one skb less than we used to have. If this | continues to happen then we end up with no rx-skbs at all. | This patch changes the following: | - if we fail to allocate the new skb, then we treat the currently | completed skb as the new one and so drop the currently received data. | - instead of testing multiple times if the device is gone we rely one | the status field which is set to -ENOSYS in case the channel is going | down and incomplete requests are purged. | cpdma_chan_stop() removes most of the packages with -ENOSYS. The | currently active packet which is removed has the "tear down" bit set. | So if that bit is set, we send ENOSYS as well otherwise we pass the | status bits which are required to figure out which of the two possible | just finished. | | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 4bc21d4162366bb892dc1a4a92110c656e2622ca |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Wed Apr 24 08:48:22 2013 +0000 | | net/ti: add MODULE_DEVICE_TABLE + MODULE_LICENSE | | If compiled as modules each one of these modules is missing something. | With this patch the modules are loaded on demand and don't taint the | kernel due to license issues. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit d1bd9acfa3419dc9d5c32589b34a370ca6ae100e |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Wed Apr 24 08:48:23 2013 +0000 | | net/cpsw: make sure modules remove does not leak any ressources | | This driver does not clean up properly after leaving. Here is a list: | - Use unregister_netdev(). free_netdev() is good but not enough | - Use the above also on the other ndev in case of dual mac | - Free data.slave_data. The name of the strucre makes it look like | it is platform_data but it is not. It is just a trick! | - Free all irqs. Again: freeing one irq is good start, but freeing all | of them is better. | | With this rmmod & modprobe of cpsw seems to work. The remaining issue | is: | |WARNING: at fs/sysfs/dir.c:536 sysfs_add_one+0x9c/0xd4() | |sysfs: cannot create duplicate filename '/devices/ocp.2/4a100000.ethernet/4a101000.mdio' | |WARNING: at lib/kobject.c:196 kobject_add_internal+0x1a4/0x1c8() | | comming from of_platform_populate() and I am not sure that this belongs | here. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit 6e6ceaedb5901c7ebd23e5222726dab5362938bd |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Wed Apr 24 08:48:24 2013 +0000 | | net/cpsw: optimize the for_each_slave_macro() | | text data bss dec hex filename | 15530 92 4 15626 3d0a cpsw.o.before | 15478 92 4 15574 3cd6 cpsw.o.after | | 52 bytes smaller, 13 for each invocation. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> | |commit a11fbba9a7d338c4a4e4be624af0334bbf2c9a5a |Author: Sebastian Siewior <bigeasy@linutronix.de> |Date: Wed Apr 24 08:48:25 2013 +0000 | | net/cpsw: fix irq_disable() with threaded interrupts | | During high throughput it is likely that we receive both: an RX and TX | interrupt. The normal behaviour is that once we enter the ISR the | interrupts are disabled in the IRQ chip and so the ISR is invoked only | once and the interrupt line is disabled once. It will be re-enabled | after napi completes. | With threaded interrupts on the other hand the interrupt the interrupt | is disabled immediately and the ISR is marked for "later". By having TX | and RX interrupt marked pending we invoke them both and disable the | interrupt line twice. The napi callback is still executed once and so | after it completes we remain with interrupts disabled. | | The initial patch simply removed the cpsw_{enable|disable}_irq() calls | and it worked well on my AM335X ES1.0 (beagle bone). On ES2.0 (beagle | bone black) it caused an never ending interrupt (even after the mask via | cpsw_intr_disable()) according to Mugunthan V N. Since I don't have the | ES2.0 and no idea what is going on this patch tracks the state of the | irq_disable() call and execute it only when not yet done. | The book keeping is done on the first struct since with dual_emac we can | have two of those and only one interrupt line. | | Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> | Acked-by: Mugunthan V N <mugunthanvnm@ti.com> | Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-30net/cpsw: revert stable patches v3.8..v3.8.9Sebastian Andrzej Siewior $
and apply them from net & net-next branch. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-04-05net: ethernet: cpsw: fix erroneous condition in error checkLothar Waßmann
[ Upstream commit ce16294fda230c787ce5c35f61b2f80d14d70a72 ] The error check in cpsw_probe_dt() has an '&&' where an '||' is meant to be. This causes a NULL pointer dereference when incomplet DT data is passed to the driver ('phy_id' property for cpsw_emac1 missing). Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-05drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting tx queueMugunthan V N
[ Upstream commit b56d6b3fca6d1214dbc9c5655f26e5d4ec04afc8 ] To restart tx queue use netif_wake_queue() intead of netif_start_queue() so that net schedule will restart transmission immediately which will increase network performance while doing huge data transfers. Reported-by: Dan Franke <dan.franke@schneider-electric.com> Suggested-by: Sriramakrishnan A G <srk@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-05drivers: net: ethernet: davinci_emac: use netif_wake_queue() while ↵Mugunthan V N
restarting tx queue To restart tx queue use netif_wake_queue() intead of netif_start_queue() so that net schedule will restart transmission immediately which will increase network performance while doing huge data transfers. Reported-by: Dan Franke <dan.franke@schneider-electric.com> Suggested-by: Sriramakrishnan A G <srk@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-26cpts: fix a run time warn_on.Richard Cochran
This patch fixes a warning in clk_enable by calling clk_prepare_enable instead. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-12-26cpts: fix build error by removing useless code.Richard Cochran
The cpts driver tries to obtain the input clock frequency by calling the clock's internal 'recalc' method. Since <plat/clock.h> has been removed, this code can no longer compile. However, the driver never makes use of the frequency value, so this patch fixes the issue by removing the offending code altogether. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-12-14cpts: Fix build error caused by include of plat/clock.hTony Lindgren
Commit 87c0e764 (cpts: introduce time stamping code and a PTP hardware clock) mistakenly included plat/clock.h that should not be included by drivers even if it exists. Otherwise we get the following error with at least omap2plus_defconfig: drivers/net/ethernet/ti/cpts.c:30:24: error: plat/clock.h: No such file or directory Signed-off-by: Tony Lindgren <tony@atomide.com Signed-off-by: David S. Miller <davem@davemloft.net>
2012-12-07drivers/net: fix up function prototypes after __dev* removalsGreg Kroah-Hartman
The __dev* removal patches for the network drivers ended up messing up the function prototypes for a bunch of drivers. This patch fixes all of them back up to be properly aligned. Bonus is that this almost removes 100 lines of code, always a nice surprise. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-12-03net/davinci_emac: remove __dev* attributesBill Pemberton
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-03cpsw: remove __dev* attributesBill Pemberton
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-03tlan: remove __dev* attributesBill Pemberton
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Samuel Chessman <chessman@tux.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-03cpmac: remove __dev* attributesBill Pemberton
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Florian Fainelli <florian@openwrt.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-28net: ethernet: cpsw: fix build warnings for CPSW when CPTS not selectedMugunthan V N
CC drivers/net/ethernet/ti/cpsw.o drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_ndo_ioctl': drivers/net/ethernet/ti/cpsw.c:881:20: warning: unused variable 'priv' The build warning is generated when CPTS is not selected in Kernel Build. Fixing by passing the net_device pointer to cpts IOCTL instead of passing priv Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26cpts: add missing kconfig dependencyRichard Cochran
The Common Platform Time Sync function of the CPSW does not depend the CPSW configuration option as it should. This patch fixes the issue by adding the dependency. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15net: cpsw: halt network stack before halting the device during suspendMugunthan V N
Move network stack halt APIs before halting the hardware to ensure no packets are queued to hardware during closing the device during suspend sequence. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15cpsw: simplify the setup of the register pointersRichard Cochran
Instead of having a host of different register offsets in the device tree, this patch simplifies the CPSW code by letting the driver set the proper register offsets automatically, based on the CPSW version. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15net: cpsw: Add parent<->child relation support between cpsw and mdioVaibhav Hiremath
CPGMAC SubSystem consist of various sub-modules, like, mdio, cpdma, cpsw, etc... These sub-modules are also used in some of Davinci family of devices. Now based on requirement, use-case and available technology nodes the integration of these sub-modules varies across devices. So coming back to Linux net driver, currently separate and independent platform devices & drivers for CPSW and MDIO is implemented. In case of Davinci they both has separate control, from resources perspective, like clock. In case of AM33XX, the resources are shared and only one register bit-field is provided to control module/clock enable/disable, makes it difficult to handle common resource. So the solution here implemented in this patch is, Create parent<->child relationship between both the drivers, making CPSW as a parent and MDIO as its child and enumerate all the child nodes under CPSW module. Both the drivers will function exactly the way it was operating before, including runtime-pm functionality. No change is required in MDIO driver (for that matter to any child driver). As this is only supported during DT boot, the parent<->child relationship is created and populated in DT execution flow. The only required change is inside DTS file, making MDIO as a child to CPSW node. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-15net: davinci_mdio: Fix typo mistake in calling runtime-pm apiVaibhav Hiremath
By mistake (most likely a copy-paste), instead of pm_runtime_get_sync() api, driver is calling pm_runtime_put_sync() api in resume callback function. The bug was introduced by commit id (ae2c07aaf74: davinci_mdio: runtime PM support). Now, the reason why it didn't impact functionality is, the patch has been tested on AM335x-EVM and BeagleBone platform while submitting; and in case of AM335x the MDIO driver doesn't control the module enable/disable part, which is handled by CPSW driver. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-10Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
Conflicts: drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c Minor conflict between the BCM_CNIC define removal in net-next and a bug fix added to net. Based upon a conflict resolution patch posted by Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-03cpsw: fix leaking IO mappingsRichard Cochran
The CPSW driver remaps two different IO regions, but fails to unmap them both. This patch fixes the issue by calling iounmap in the appropriate places. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-03cpsw: rename register banks to match the reference manual, part 2Richard Cochran
The code mixes up the CPSW_SS and the CPSW_WR register naming. This patch changes the names to conform to the published Technical Reference Manual from TI, in order to make working on the code less confusing. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-03ptp: fixup Kconfig for two PHC drivers.Richard Cochran
Ben Hutchings recently came up with a better way to handle the kconfig dependencies for the PTP hardware clocks. This patch converts one new and one older driver to the new scheme. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: support the HWTSTAMP ioctl and the CPTSRichard Cochran
This patch hooks into the CPTS code and adds support for the HWTSTAMP ioctl. The patch includes code for the CPSW version found in the dm814x even though the background device tree support for this board is still missing. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpts: specify the input clock frequency via DTRichard Cochran
This patch adds a way to configure the CPTS input clock scaling factors via the device tree. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: add a DT field for the active time stamping portRichard Cochran
Because time stamping on both external ports of the switch simultaneously is positively useless from the application's point of view, this patch provides a DT configuration method to choose the active port. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: add a DT field for the cpts offsetRichard Cochran
Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpts: introduce time stamping code and a PTP hardware clock.Richard Cochran
This patch adds a driver for the CPTS that offers time stamping and a PTP hardware clock. Because some of the CPTS hardware variants (like the am335x) do not support frequency adjustment, we have implemented this in software by changing the multiplication factor of the timecounter. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: support both silicon versionsRichard Cochran
This patch fixes the cpsw driver to operate correctly with both the dm814x and the am335x versions of the switch hardware. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: remember the silicon versionRichard Cochran
This patch lets the CPSW driver remember the version number in order to support the two different variants already in the wild. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: add missing fields to the CPSW_SS register bank.Richard Cochran
Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01cpsw: rename register banks to match the reference manualRichard Cochran
The code mixes up the CPSW_SS and the CPSW_WR register naming. This patch changes the names to conform to the published Technical Reference Manual from TI, in order to make working on the code less confusing. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-01drivers: net: ethernet: cpsw: add multicast address to ALE tableMugunthan V N
Adding multicast address to ALE table via netdev ops to subscribe, transmit or receive multicast frames to and from the network Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-25NET_VENDOR_TI: make available for am33xx as wellPeter Korsgaard
The cpsw/davinci mdio ip cores are present on am33xx, so make NET_VENDOR_TI visible for it as well. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-03net: ethernet: davinci_cpdma: decrease the desc count when cleaning up the ↵htbegin
remaining packets chan->count is used by rx channel. If the desc count is not updated by the clean up loop in cpdma_chan_stop, the value written to the rxfree register in cpdma_chan_start will be incorrect. Signed-off-by: Tao Hou <hotforest@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-01Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"David S. Miller
This reverts commit d7559982701ac500662b2e8e150ff34f7faf0281. It wasn't meant to be applied, commit 342b7b741d76bc8aadeff844634348bb2a343d19 ("net: ti cpsw ethernet: set IFCTL_A bit in MACCONTROL") was redone in such a way to make this commit unnecessary. Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-01net: ti cpsw ethernet: allow reading phy interface mode from DTDaniel Mack
Allow users to specify the phy interface of the CPSW slaves. The new node parameter is called "phy_if_mode" and is optional. The original behaviour of the driver is preserved when not given. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-01net: ti cpsw ethernet: set IFCTL_A bit in MACCONTROLDaniel Mack
For RMII/RGMII mode operation in 100Mbps, the CPSW needs to set the IFCTL_A bits in the MACCONTROL register. For all other PHY modes, this bit is unused, so setting it unconditionally shouldn't cause any trouble. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-09-15Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
Conflicts: net/netfilter/nfnetlink_log.c net/netfilter/xt_LOG.c Rather easy conflict resolution, the 'net' tree had bug fixes to make sure we checked if a socket is a time-wait one or not and elide the logging code if so. Whereas on the 'net-next' side we are calculating the UID and GID from the creds using different interfaces due to the user namespace changes from Eric Biederman. Signed-off-by: David S. Miller <davem@davemloft.net>
2012-08-31net: ethernet: fix kernel OOPS when remove davinci_mdio moduleBin Liu
davinci mdio device is not unregistered from mdiobus when removing the module, which causes BUG_ON() when free the device from mdiobus. Calling mdiobus_unregister() before mdiobus_free() fixes the issue. Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-08-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
2012-08-14drivers/net/ethernet/ti/davinci_cpdma.c: Remove potential NULL dereferenceJulia Lawall
If the NULL test is necessary, the initialization involving a dereference of the tested value should be moved after the NULL test. The sematic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-08-07drivers: net: ethernet: davince_mdio: device tree implementationMugunthan V N
device tree implementation for davinci mdio driver Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-08-04drivers: net: ethernet: cpsw: Add device tree support to CPSWMugunthan V N
This patch adds device tree support for cpsw driver Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>