summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa
AgeCommit message (Collapse)Author
2013-12-14Merge remote-tracking branch 'origin/master' into mergeScott Wood
Conflicts: arch/powerpc/boot/dts/b4qds.dts drivers/crypto/caam/Makefile
2013-12-14Merge remote-tracking branch 'linus/master' into mergeScott Wood
Conflicts: Documentation/hwmon/ina2xx arch/powerpc/Kconfig arch/powerpc/boot/dts/b4860emu.dts arch/powerpc/boot/dts/b4qds.dtsi arch/powerpc/boot/dts/fsl/b4si-post.dtsi arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi arch/powerpc/boot/dts/p1023rdb.dts arch/powerpc/boot/dts/t4240emu.dts arch/powerpc/boot/dts/t4240qds.dts arch/powerpc/configs/85xx/p1023_defconfig arch/powerpc/configs/corenet32_smp_defconfig arch/powerpc/configs/corenet64_smp_defconfig arch/powerpc/configs/mpc85xx_smp_defconfig arch/powerpc/include/asm/cputable.h arch/powerpc/include/asm/device.h arch/powerpc/include/asm/epapr_hcalls.h arch/powerpc/include/asm/kvm_host.h arch/powerpc/include/asm/mpic.h arch/powerpc/include/asm/pci.h arch/powerpc/include/asm/ppc-opcode.h arch/powerpc/include/asm/ppc_asm.h arch/powerpc/include/asm/reg_booke.h arch/powerpc/kernel/epapr_paravirt.c arch/powerpc/kernel/process.c arch/powerpc/kernel/prom.c arch/powerpc/kernel/setup-common.c arch/powerpc/kernel/setup_32.c arch/powerpc/kernel/setup_64.c arch/powerpc/kernel/smp.c arch/powerpc/kernel/swsusp_asm64.S arch/powerpc/kernel/swsusp_booke.S arch/powerpc/kvm/book3s_pr.c arch/powerpc/kvm/booke.c arch/powerpc/kvm/booke.h arch/powerpc/kvm/e500.c arch/powerpc/kvm/e500.h arch/powerpc/kvm/e500_emulate.c arch/powerpc/kvm/e500mc.c arch/powerpc/kvm/powerpc.c arch/powerpc/perf/e6500-pmu.c arch/powerpc/platforms/85xx/Kconfig arch/powerpc/platforms/85xx/Makefile arch/powerpc/platforms/85xx/b4_qds.c arch/powerpc/platforms/85xx/c293pcie.c arch/powerpc/platforms/85xx/corenet_ds.c arch/powerpc/platforms/85xx/corenet_ds.h arch/powerpc/platforms/85xx/p1023_rds.c arch/powerpc/platforms/85xx/p2041_rdb.c arch/powerpc/platforms/85xx/p3041_ds.c arch/powerpc/platforms/85xx/p4080_ds.c arch/powerpc/platforms/85xx/p5020_ds.c arch/powerpc/platforms/85xx/p5040_ds.c arch/powerpc/platforms/85xx/smp.c arch/powerpc/platforms/85xx/t4240_qds.c arch/powerpc/platforms/Kconfig arch/powerpc/sysdev/Makefile arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c arch/powerpc/sysdev/fsl_msi.c arch/powerpc/sysdev/fsl_pci.c arch/powerpc/sysdev/fsl_pci.h arch/powerpc/sysdev/fsl_soc.h arch/powerpc/sysdev/mpic.c arch/powerpc/sysdev/mpic_timer.c drivers/Kconfig drivers/clk/Kconfig drivers/clk/clk-ppc-corenet.c drivers/cpufreq/Kconfig.powerpc drivers/cpufreq/Makefile drivers/cpufreq/ppc-corenet-cpufreq.c drivers/crypto/caam/Kconfig drivers/crypto/caam/Makefile drivers/crypto/caam/ctrl.c drivers/crypto/caam/desc_constr.h drivers/crypto/caam/intern.h drivers/crypto/caam/jr.c drivers/crypto/caam/regs.h drivers/dma/fsldma.c drivers/hwmon/ina2xx.c drivers/iommu/Kconfig drivers/iommu/fsl_pamu.c drivers/iommu/fsl_pamu.h drivers/iommu/fsl_pamu_domain.c drivers/iommu/fsl_pamu_domain.h drivers/misc/Makefile drivers/mmc/card/block.c drivers/mmc/core/core.c drivers/mmc/host/sdhci-esdhc.h drivers/mmc/host/sdhci-pltfm.c drivers/mtd/nand/fsl_ifc_nand.c drivers/net/ethernet/freescale/gianfar.c drivers/net/ethernet/freescale/gianfar.h drivers/net/ethernet/freescale/gianfar_ethtool.c drivers/net/phy/at803x.c drivers/net/phy/phy_device.c drivers/net/phy/vitesse.c drivers/pci/msi.c drivers/staging/Kconfig drivers/staging/Makefile drivers/uio/Kconfig drivers/uio/Makefile drivers/uio/uio.c drivers/usb/host/ehci-fsl.c drivers/vfio/Kconfig drivers/vfio/Makefile include/crypto/algapi.h include/linux/iommu.h include/linux/mmc/sdhci.h include/linux/msi.h include/linux/netdev_features.h include/linux/phy.h include/linux/skbuff.h include/net/ip.h include/uapi/linux/vfio.h net/core/ethtool.c net/ipv4/route.c net/ipv6/route.c
2013-11-14dpaa_eth: fix MAC address for macless interfaceMarian Rotariu
If a macless interface controls a MAC device it should ignore the "local-mac-address" attribute from the device tree and use the 'native' MAC address. The 'native' MAC address is the address that is set by uboot at kernel boot-up. Change-Id: Ie387ea5d82dd0cd5292439a66d09a182fd4b9a8a Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/6313 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com>
2013-11-14dpaa_eth: remove pr_alert from proxy interfaceMarian Rotariu
With this patch the user will be able to configure the debug message display through netdev. Also, an unused variable declaration was removed. Change-Id: I203cc77fffd14ecbad8a5d115232d9eab1188168 Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/6315 Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2013-11-14dpaa_eth: macless control over mac deviceMarian Rotariu
This patch adds a new feature to macless DPAA Ethernet Driver. The macless interface is now able to control a mac device through proxy DPAA Ethernet Driver. To do that, it maintains a reference to a proxy interface. The proxy interface offers a simple API to macless interface for start/stop and for adding and removing mac unicast and multicast addresses. Additionally, this patch will generalize some of mac API handlers. In previous implementation, the mac handler and net_device structure belong to the same network interface. With this patch, mac handler and net_device structure could belong to different network interfaces. This is needed for the new macless multicast capability, when the proxy interface that contains the mac device reference should configure multicast addresses on behalf of a macless interface. This feature is optional and can be activated by setting "proxy" attribute in the device tree node of the macless interfaces. Look in feature design document for more details. Change-Id: I92bf506324a9a834fdf27cbf989df817751b446d Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/6102 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com>
2013-10-30dpaa_eth: Update Netpoll to the new NAPI logicCristian Sovaiala
Use the new NAPI logic inside the Netpoll controller callback. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I395db60bc93083030c8d20f0038cb0d1dd8cf23a Reviewed-on: http://git.am.freescale.net:8181/5630 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-30dpaa_eth: Add pool channel in each affined portal's SDQCRCristian Sovaiala
There might be CPUs which are not enabled at boottime, therefore the pool channel is not currently set to the SDQCR of the affined portals of those CPUs. This means that the portals affined to the offline CPUs and which are migrated to the boot CPU, will not issue interrupts to the boot CPU in first instance and to the affined CPU (when this comes online) in the second instance. Therefore we set the pool channel to the SDQCR of each affined portal. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I63f5649e0c2169617dff991f08dd872a435578a8 Reviewed-on: http://git.am.freescale.net:8181/5629 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-30dpaa_eth: Use one NAPI structure per portalCristian Sovaiala
We currently use one NAPI instance per CPU which is enough when having a single portal affined to each CPU. In CPU Hotplug scenario, when CPUs become offline, portals affined to them are migrated to the boot CPU therefore CPU0 will receive interrupts not only from its affined portal but also from the portal(s) that have migrated to it. In this case, a single NAPI structure is not sufficient, therefore we introduce a list of NAPI structures per CPU per portal such that when an interrupt is received from a specific portal, we retrieve and schedule the NAPI corresponding to that CPU and that portal. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I837e007a4256aba31bb1df9f893a20a1b0160a32 Reviewed-on: http://git.am.freescale.net:8181/5628 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-30dpaa_eth: Pass the portal info to the QMan APIs for NAPI scheduling.Haiying Wang
Pass the portal info via callbacks in order to call the new qman apis for napi schedule and napi poll, thus follow the portal to disable its DQRI or enable DQRI for NAPI, regardless the portal is migrated to other cpu (in hotplug case) or not. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Change-Id: Ie79a5ba106726032837299c4c5dd3291e8a10789 Reviewed-on: http://git.am.freescale.net:8181/5454 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-29Revert "dpaa_eth: Add pool channel in each affined portal's SDQCR"J. German Rivera
This reverts commit 5121e5a4941577a18aaee5d4769f97aec6f16030.
2013-10-29dpaa_eth: Add pool channel in each affined portal's SDQCRCristian Sovaiala
There might be CPUs which are not enabled at boottime, therefore the pool channel is not currently set to the SDQCR of the affined portals of those CPUs. This means that the portals affined to the offline CPUs and which are migrated to the boot CPU, will not issue interrupts to the boot CPU in first instance and to the affined CPU (when this comes online) in the second instance. Therefore we set the pool channel to the SDQCR of each affined portal. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I63f5649e0c2169617dff991f08dd872a435578a8 Reviewed-on: http://git.am.freescale.net:8181/5629 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-29Revert "dpaa_eth: Add pool channel in each affined portal's SDQCR"Cristian Sovaiala
This reverts commit 26d7e96258429d498f6fc7e3d2bb32b8f4c01097 which was cherry-picked out of order.
2013-10-28fmd: add fman-mac registers representation inside the sysfsMandy Lavi
Added the following new sysfs files: /sys/devices/fsl,dpaa.*/ethernet.*/net/fm*-gb*/mac_regs Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: If77c82b42d925529ae7eb81b75d51debfa8253e0 Reviewed-on: http://git.am.freescale.net:8181/5844 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com>
2013-10-22dpaa_eth: Offline port queues initializationBogdan Purcareata
Add an optional .dts parameter to the Offline Port node, that would specify a set of TX queues. The Offline Port probe routine will take care of creating those queues. This makes the Offline Port an independent structure with respect to its TX queues creation. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I8f1c045285b373360355b9462c502ce0e745fce9 Reviewed-on: http://git.am.freescale.net:8181/5204 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-21dpaa_eth: TX csum computation refactoringBogdan Purcareata
Automatically set DTC bit in fd.cmd for all traffic originating from macless interfaces. Update dpa_shared_tx code to bypass calling dpa_enable_tx_csum when priv->mac_dev == NULL. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I66c6662559c3c560cba1b55ab082f8390a30988d Reviewed-on: http://git.am.freescale.net:8181/5205 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-17dpaa_eth: Add pool channel in each affined portal's SDQCRCristian Sovaiala
There might be CPUs which are not enabled at boottime, therefore the pool channel is not currently set to the SDQCR of the affined portals of those CPUs. This means that the portals affined to the offline CPUs and which are migrated to the boot CPU, will not issue interrupts to the boot CPU in first instance and to the affined CPU (when this comes online) in the second instance. Therefore we set the pool channel to the SDQCR of each affined portal. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I63f5649e0c2169617dff991f08dd872a435578a8 Reviewed-on: http://git.am.freescale.net:8181/5629 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-08dpaa_eth: Fix freeing of global buffer poolIoana Radulescu
In case an error is encountered during probe, don't actually free the structure containing global buffer pool information unless its reference count has reached zero. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Ica7b995ecf31a878a9e7685ec905119f1c38f17b Reviewed-on: http://git.am.freescale.net:8181/5186 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-02dpaa_eth: Enable FMan v3 recycling on S/G driverIoana Radulescu
Make sure the support for buffer recycling on FMan v3 platforms gets selected for the S/G driver as well. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I39cfaa9482f6204ddc2b788f635de39de6b4c8f3 Reviewed-on: http://git.am.freescale.net:8181/5146 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-10-01dpaa_eth: Replace for_each_online_cpu with for_each_possible_cpuCristian Sovaiala
At bootime, we currently initialize a NAPI instance per each online core, per interface. Booting with a subset of cores and bringing up more cores afterwards means that no NAPI instances are created for the newly added cores. Therefore we create a NAPI instance for each possible core in the system such that there will always be <total_no_of_cores> NAPI instances for each interface. This also gurantees that we do enable/disable NAPI on all possible cores at ifconfig up/down thus eliminating the need to keep track of the cores that were online at the previous ifconfig operation. Even though we do create a NAPI instance and enable it for all possible cores (including offline cores), the scheduler ensures that NAPI will not be scheduled on offline cores. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I666bbb870fb8645495a80343cdbefb047c086f4c Reviewed-on: http://git.am.freescale.net:8181/5118 Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Show all created buffers in sysfsMarian Rotariu
The current sysfs code shows only the default buffer pool. With this patch, sysfs code will show all created buffer pools, including the default one. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: Ia3ff0e72f2806f7a0d7e94a520b12829af8a6a23 Reviewed-on: http://git.am.freescale.net:8181/4847 Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Fix bug in buffer layout settingsIoana Radulescu
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I3cc85c746ac1449e1d8a4192ba680c3083adebb8 Reviewed-on: http://git.am.freescale.net:8181/4842 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Fix kernel crash with timestamp support onIoana Radulescu
Recent changes in the driver moved the allocation of the skb on Rx past the point where the timestamp/1588 code used the skb. Reorder a bit the code to avoid NULL pointer dereferencing. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I65acb8f1a055d925434a5361ca4570032bae9047 Reviewed-on: http://git.am.freescale.net:8181/4841 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Organize Kconfig optionsIoana Radulescu
Organize all Ethernet driver options under CONFIG_FSL_DPAA_ETH (as opposed to the current Kconfig flat structure). Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I5285ff7fa935b933b439581fbee078a3518ea986 Reviewed-on: http://git.am.freescale.net:8181/4840 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Add Kconfig debug optionIoana Radulescu
Add a Kconfig option that enables debug support in the driver. For a start, move (most of) the BUG_ON()'s in the driver's fastpath under this debug option. New debug information (such as trace events, frame content dumps, etc) can be added later under the same umbrella. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I8023a75751cdad9e80d96957b9071f707a03e2b2 Reviewed-on: http://git.am.freescale.net:8181/4839 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: No recycling if timestamp support is onIoana Radulescu
The timestamping code relies on Tx confirmation routine to get the Tx timestamp of a frame. So if timestamp support is activated, don't recycle frames at all. Also fix a couple of compilation warnings when building with timestamp support on. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I5ee3a5b727e28ee337dc9da5c16ad0d1dabe4317 Reviewed-on: http://git.am.freescale.net:8181/4838 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-20dpaa_eth: Minor changesIoana Radulescu
A bit of cleanup in function skb_to_contig_fd(). Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Ifbf32b298d1588574b9eabf90d0bd1607b733d2c Reviewed-on: http://git.am.freescale.net:8181/4837 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-19dpaa_eth: Fix check on return valueIoana Radulescu
Function dpa_bpid2pool() returns NULL if there's no initialized buffer pool associated with the given bpid. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I42b286c1050f273774d645fabee49c105d7ab6f1 Reviewed-on: http://git.am.freescale.net:8181/4836 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-19dpaa_eth: remove obsolete unit test codeMadalin Bucur
The unit test code was rendered obsolete by the addition of the SG codepath. Removing the unit test code for now. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I9cfe97e83a91e0418523ff8ec756105f1b435079 Reviewed-on: http://git.am.freescale.net:8181/4821 Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-13dpa_eth: synchronized content with ↵J. German Rivera
git://git.am.freescale.net/gitolite/users/b32716/dpaa-eth.git
2013-09-11dpa_eth: fix function typeMadalin Bucur
The wrong return type of dpa_bp_priv_seed() caused a crash on the termination optimized driver flavor. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3696 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Change-Id: I538a1529f1c0e27ff5b199e9675a56029f448e64 Reviewed-on: http://git.am.freescale.net:8181/4643 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: Fix draining of buffer poolsIoana Radulescu
When draining buffers in batches of eight, we must take into account the fact that BMan will return an error code if there are less than eight buffers left in the pool; when this happens, drain the remaining buffers one by one. And since we're at buffer pool cleanup, make sure allocated bpools get freed in case of errors inside the probe function. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4191 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Change-Id: If264ca3dd4a8287bc5e5ee4e1c3a10ffe18663b7 Reviewed-on: http://git.am.freescale.net:8181/4657 Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: Fix freeing of frame in error casesIoana Radulescu
In case of a Tx error at FMan level or an ERN, if the frame was marked as recycleable we need to put the buffers in the target pools, otherwise we mess up the pool counters. This was done correctly for the ERN callback, now fixing the Tx error one as well. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4192 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Change-Id: Iafc436208fe560fd098728e421b105cf568017d8 Reviewed-on: http://git.am.freescale.net:8181/4656 Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: Replace per_cpu_ptr with __this_cpu_ptrIoana Radulescu
We randomly used either __this_cpu_ptr() or per_cpu_ptr() on current processor. Use only __this_cpu_ptr() in ordr to make the code more uniform. No functional or performance impact. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4193 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Change-Id: Ifd63f277fe35b3a44f7b7dc7beacf6b86765e900 Reviewed-on: http://git.am.freescale.net:8181/4654 Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: solve several code style issuesMadalin Bucur
Fix a series of checkpatch complaints in the dpaa_eth code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3811 Change-Id: I3674db6613d311431b13c0eae65a977263957647 Reviewed-on: http://git.am.freescale.net:8181/4646 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: fix coccinelle code analysis issuesCristian Bercaru
Assign boolean constants to boolean variables instead of integer constants. Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4021 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Change-Id: I7f3550f1af032349dbedfe59ae39a337195b2aff Reviewed-on: http://git.am.freescale.net:8181/4645 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: move non-upstreamable common code to dpaa_eth_baseMadalin Bucur
The common code contains some parts that are not used in the private interface code. Moved that code to a new file. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3810 Change-Id: I0e5e74b5eb531d20c6de1b1c74a5c1049439c890 Reviewed-on: http://git.am.freescale.net:8181/4644 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-11dpaa_eth: revert driver code to last known good stateMadalin Bucur
Undoing the merge conflict artifacts, out of order and incomplete patch application code changes. This reverts the sdk-kernel-3.8 branch to the state at 70c2c840d8ff41359aafd7f510144c235a32fce1. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ib7282b356eeb38884fce716e247620c431bd3c72 Reviewed-on: http://git.am.freescale.net:8181/4642 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10dpaa_eth: Fix freeing of frame in error casesIoana Radulescu
In case of a Tx error at FMan level or an ERN, if the frame was marked as recycleable we need to put the buffers in the target pools, otherwise we mess up the pool counters. This was done correctly for the ERN callback, now fixing the Tx error one as well. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I0faa77a31af9086806713e593da72b03c2bd3223 Reviewed-on: http://git.am.freescale.net:8181/4192 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4470 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Remove dpa_bp pointer from percpu private structureIoana Radulescu
The reference to the buffer pool can be just as easily obtained from the netdev private structure, so do that and reduce the size of the percpu private struct. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I78aea782014b863994585beccac52567b242a72e Reviewed-on: http://git.am.freescale.net:8181/4194 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4469 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Fix draining of buffer poolsIoana Radulescu
When draining buffers in batches of eight, we must take into account the fact that BMan will return an error code if there are less than eight buffers left in the pool; when this happens, drain the remaining buffers one by one. And since we're at buffer pool cleanup, make sure allocated bpools get freed in case of errors inside the probe function. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I9b2516ea76a19487a2f75412722ea21e67247ed2 Reviewed-on: http://git.am.freescale.net:8181/4191 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4471 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Replace per_cpu_ptr with __this_cpu_ptrIoana Radulescu
We randomly used either __this_cpu_ptr() or per_cpu_ptr() on current processor. Use only __this_cpu_ptr() in ordr to make the code more uniform. No functional or performance impact. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I1d449ec799e8d920935325d283f0ba510ee56e87 Reviewed-on: http://git.am.freescale.net:8181/4193 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4468 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Replace drain callback in dpa_bp structureIoana Radulescu
Instead use a callback for freeing individual buffers acquired from the pool. This solution is more flexible and allows for simpler code when new pools will be added to the driver. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I52376b5dab53957e497b112df7c42ef18d7a9347 Reviewed-on: http://git.am.freescale.net:8181/4190 Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4467 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Fix error message in ethtoolCristian Sovaiala
Interfaces only get their PHYs initialized when they are first brought up, therefore running ethtool on an interface that is down prints an error message and returns with error code. Lower the print to debug mode and return non-error code. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: Ic4e9304cf9e6152868af74a31132e92d95713b62 Reviewed-on: http://git.am.freescale.net:8181/4259 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4466 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Refill global pool only when below thresholdIoana Radulescu
Don't refill the Rx global pool every time it drops below its target count, instead wait for the number of buffers to drop below a certain threshold. This was not so important until now, but is necessary in view of the recycling mechanism. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I341f6bf7bd746465cf6d17644a4edbd1b3d20aba Reviewed-on: http://git.am.freescale.net:8181/4189 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4464 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: Reorder recycling conditionsIoana Radulescu
Reorganize a bit the recycling code without any actual changes in the logic. Reordering of conditions based on which is most likely to fail first brings a bit of performance improvement in case no recycling is actually done. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I6cf3995576b756d9aec678f92f679ee1fa461587 Reviewed-on: http://git.am.freescale.net:8181/4188 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4465 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
2013-09-10dpaa_eth: free bp platform deviceMadalin Bucur
The platform device was not released. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I44c134aba26f5eca5cad60fba3d0051ae9f99c8f Reviewed-on: http://git.am.freescale.net:8181/3911 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4462 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10dpaa_eth: fix non-smp buildMadalin Bucur
Cleanup includes and fix non-smp build, removed unnecessary info. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I32596b8eb0c4b674de1f3684993d1ba09f20947e Reviewed-on: http://git.am.freescale.net:8181/3856 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Tested-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4461 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10dpaa_eth: solve several code style issuesMadalin Bucur
Fix a series of checkpatch complaints in the dpaa_eth code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I341d5835bb0a4491456947b8e1ae714e095cd580 Reviewed-on: http://git.am.freescale.net:8181/3811 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4460 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10dpaa_eth: move non-upstreamable common code to dpaa_eth_baseMadalin Bucur
The common code contains some parts that are not used in the private interface code. Moved that code to a new file. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I5095bc0e7503c413d39e78cd5dff7bf84eebaca9 Reviewed-on: http://git.am.freescale.net:8181/3810 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4458 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10dpa_eth: fix function typeMadalin Bucur
The wrong return type of dpa_bp_priv_seed() caused a crash on the termination optimized driver flavor. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I22cec61c063a901a4d8fd40653fb4fe2cba31435 Reviewed-on: http://git.am.freescale.net:8181/3696 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <Jose.G.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/4457 Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>