Age | Commit message (Collapse) | Author |
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I97d5d65ac7a08ad86c989c3a5a5c8f0dae0c7f21
Reviewed-on: http://git.am.freescale.net:8181/27827
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I65b4dd679835504d5031f341b61bbf4e8b09b6cd
Reviewed-on: http://git.am.freescale.net:8181/27614
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I9e2c0f43bee3842ff3822ae4bdd0a7d806c5b6f7
Reviewed-on: http://git.am.freescale.net:8181/27613
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Icd0fcfadbbf24edfd7eaa1bdac2ccc18951df9eb
Reviewed-on: http://git.am.freescale.net:8181/26788
|
|
Use resource managed variant of alloc_percpu().
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I51f3fe816792535bdf01827c77a6f504f9c22e7a
Reviewed-on: http://git.am.freescale.net:8181/24141
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I6a27c4300890d8c3a2f892bbbc254ebc9ce6d538
Reviewed-on: http://git.am.freescale.net:8181/16879
|
|
Support for multiple drivers per kernel module comes in kernel 3.14
so we are forced to generate several modules for the advanced drivers.
This patch can be dropped when the code is rebased on a kernel newer
than 3.14. The problem is with the MODULE_DEVICE_TABLE macro that only
from 3.14 generates different named structured based on the name
parameter. The change that introduces that also needs a synchronized
change in scripts/mod/file2alias.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I24f7b9c39c1cf24dbb78987c491ab9a56c22eb10
Reviewed-on: http://git.am.freescale.net:8181/15302
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
Add symbol exports required by the advanced drivers.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I66f280f8ec9fb1da73dc2db772c0287360fa5417
Reviewed-on: http://git.am.freescale.net:8181/15300
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I4bb6955baf63962dbb5dda09fd2302dbaba9c85a
Reviewed-on: http://git.am.freescale.net:8181/15299
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/Makefile
|
|
Group DPAA Ethernet generic driver code under one Kconfig option.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I96061198d022d344280f8b52b14f25e9b3daf2ba
Reviewed-on: http://git.am.freescale.net:8181/15298
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/Makefile
|
|
Group the DPAA Ethernet advanced drivers under one Kconfig option.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I832e0dd99e18087fa0b091373f023c67ea69a434
Reviewed-on: http://git.am.freescale.net:8181/15297
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/Kconfig
drivers/net/ethernet/freescale/dpa/Makefile
|
|
Use a common initialization function for MACless, shared and proxy
Ethernet drivers.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I7a0ec70b33ad7ad92cb559dbd828572f83b5c98e
Reviewed-on: http://git.am.freescale.net:8181/15296
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c
|
|
Initialize debugfs from the DPAA generic driver.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I032589647a56a6704b4044078a8468ca786149fc
Reviewed-on: http://git.am.freescale.net:8181/15295
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
Move dpaa_debugfs.h header inclusion where needed.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I2d85c4bc3822987d019bde07b7539875872b9125
Reviewed-on: http://git.am.freescale.net:8181/15294
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
DPAA Ethernet debugfs is initialized from the Ethernet driver.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Ia42ee938286cede2e60837388f376b477bc28c62
Reviewed-on: http://git.am.freescale.net:8181/15293
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
Removed empty code.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I0abc82f3a49b073044d5cabd704ff4771990dcfb
Reviewed-on: http://git.am.freescale.net:8181/15292
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
Tristate option in Kconfig is not supported for those features.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I2215749c57b56a5f6bb1b426a819beda97926e81
Reviewed-on: http://git.am.freescale.net:8181/15291
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
|
|
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
|
|
Exported API is used by the Ethernet driver.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Conflicts:
drivers/net/ethernet/freescale/dpa/mac-api.c
|
|
Signed-off-by: Scott Wood <scottwood@freescale.com>
Conflicts:
arch/arm/kvm/mmu.c
arch/arm/mm/proc-v7-3level.S
arch/powerpc/kernel/vdso32/getcpu.S
drivers/crypto/caam/error.c
drivers/crypto/caam/sg_sw_sec4.h
drivers/usb/host/ehci-fsl.c
|
|
This reverts commit 4a77edc195f0b03644e84dda00fcfe9827868e8e.
This commit was added to the -rt tree and submitted to stable. But because
the stable version inserted pci_disable_device() in a slightly different
location, when stable was merged it caused this to be duplicated.
Remove the version that was added to -rt and keep the stable one.
Link: http://lkml.kernel.org/r/1403149603.5189.10.camel@marge.simpson.net
Reported-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
The patch "net: gianfar: do not try to cleanup TX packets if they are
not done" for 3.12-rt left out the return value for gfar_clean_tx_ring().
This would cause an error when building this module. Note, this module
does not build on x86 and was not tested because of that.
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
On RT the trans_pcie->irq_lock lock is converted into a sleeping lock
and can't be used in primary irq handler. The lock is used in mutliple
places which means turning it into a raw lock could increase the
latency of the system.
For now both handlers are moved into the thread.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Clark Williams <clark.williams@gmail.com>
|
|
What I observe is that the TX queue is not empty and does not make any
progress. gfar_clean_tx_ring() does not clean up the packet because it
is not completed yet.
The root cause is that the DMA engine did not start yet (it was
preempted before doing so) and that dumb loop, loops until that packet
is gone.
This is broken since c233cf4 ("gianfar: Fix tx napi polling").
What remains are spurious interrupts if CPU0 cleans up TX packages and
CPU1 returns with IRQ_NONE.
Cc: stable-rt@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
each per-queue lock is taken with spin_lock_irqsave() except in the case
where all of them are taken for some kind of serialisation. As an
optimisation local_irq_save() is used so that lock_tx_qs() and
lock_rx_qs() can use just the spin_lock() variant instead.
On RT local_irq_save() behaves differently so we use the nort()
variant.
Lockdep screems easily by "ethtool -K eth0 rx off tx off"
What remains is missing lockdep annotation that makes lockdep think
lock_tx_qs() may cause a dead lock.
Cc: stable-rt@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
The adjust_link() disables interrupts before taking the queue
locks. On RT those locks are converted to "sleeping" locks and
therefor the local_irq_save/restore must be converted to
local_irq_save/restore_nort.
Reported-by: Xianghua Xiao <xiaoxianghua@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Xianghua Xiao <xiaoxianghua@gmail.com>
|
|
Argh, cut and paste wasn't enough...
Use this patch instead. It needs an irq disable. But, believe it or not,
on SMP this is actually better. If the irq is shared (as it is in Mark's
case), we don't stop the irq of other devices from being handled on
another CPU (unfortunately for Mark, he pinned all interrupts to one CPU).
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/net/ethernet/3com/3c59x.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Preempt-RT runs into a live lock issue with the NETDEV_TX_LOCKED micro
optimization. The reason is that the softirq thread is rescheduling
itself on that return value. Depending on priorities it starts to
monoplize the CPU and livelock on UP systems.
Remove it.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Disable stuff which is known to have issues on RT
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Use disable_irq_nosync() instead of disable_irq() as this might be
called in atomic context with netpoll.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Otherwise the device is not completely shut down.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
|
|
This patch provides compatibility for the Ethernet driver ports with the VSP
capability. Until now, the FMan ports managed by the Ethernet driver were not
able to properly configure VSP because of the buffer layout of the FMan ports
used.
When VSPs are not enabled, the RX and TX path buffer layout are different, the
Ethernet driver maintains separate buffer layouts for transmission and
reception. When VSPs are enabled on a certain FMan port, the buffer layouts for
Rx and Tx should be the same, the same buffer layout being used inside a
storage profile.
In order to bypass this the VSP capability is disabled on the Tx path by setting
ContextB to 0 in the FQ descriptor of the queues that are transmitting the
frames to the Tx port.
Change-Id: Ie29b8a0fe8b0b9c2344658f8e4a35e0392b6bf8e
Signed-off-by: Marian-Cristian Rotariu <marian.rotariu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/25613
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
It was observed that Rx snooping incurs a significant
performance penalty. My suspicion is that it interferes
with the DMA software coherency, currently performed
by DMA-API. It is known that there are H/W coherency
issues at least for the Tx side (see read data interleaving
issue) which is why the software coherency is needed in the
first place. This patch disables Rx snooping as well, as a
workaround, until the root cause for the Rx side coherency
related issue is found.
Change-Id: I00c3a5723d52d2f9a9d18e11b5c64c9c208c466b
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/25325
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
|
|
Change-Id: Id7aeeb432a397008ac08c87418c68f0ec70413b2
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/25100
Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
|
|
Several patches in drivers/crypto/caam starting with
fa9659cd4d3f40cead6263986cc235f3e67ab872 changed the API for error
source reporting.
Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
Change-Id: I9a2339272251b0e7a67ae8fe1fede5608e1aedc9
Reviewed-on: http://git.am.freescale.net:8181/25119
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
It existed a settime issue for 1588 timer module on
some platforms' 32-bit kernels. It's caused by the
difference of data type length between 32-bit and 64-bit
platforms or kernels.
Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Change-Id: Ia223770de71fd30d08c6dab5d58bec62719e4a32
Reviewed-on: http://git.am.freescale.net:8181/24537
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
The addition of the capwap related structures required
a few changes in the compat layer to better support
64b kernel space working with 32b user space
Change-Id: I7d49c8cec351ada65259f928df2d6014f5d81342
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/24499
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jiafei Pan <Jiafei.Pan@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
| drivers/net/ethernet/freescale/gianfar.c: In function 'gfar_init_bds':
| drivers/net/ethernet/freescale/gianfar.c:227:16: error: 'struct gfar'
has no member named 'rfbptr0'
| rfbptr = ®s->rfbptr0;
| ^
| drivers/net/ethernet/freescale/gianfar.c: In function 'gfar_init_rqprm':
| drivers/net/ethernet/freescale/gianfar.c:385:15: error: 'struct gfar'
has no member named 'rqprm0'
| baddr = ®s->rqprm0;
| ^
Signed-off-by: Matei Pavaluca <matei.pavaluca@freescale.com>
Change-Id: I90b995bdf88d5e6779c3eb2b13cefb37b603bdc7
Reviewed-on: http://git.am.freescale.net:8181/23975
Reviewed-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-by: Yangbo Lu <yangbo.lu@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
Change-Id: I37dbffe63e57af8a783b251d0f78087400b09d99
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/23940
Reviewed-by: Eyal Harari <Eyal.Harari@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
Change-Id: I2d6cead7b62116cd6a264ec91d82f3bdc3a03c10
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/23939
Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com>
Tested-by: Richard Schmitt <richard.schmitt@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
Linux.
This patch is workaround for watchdog expiry problem on running
netperf client on DUT with UDP traffic with ASF enabled.
Change-Id: Ib9a9c8fd13e5ecb6f9daf30deb8f128b629c002d
Signed-off-by: Sahil Malhotra <sahilmalhotra@freescale.com>
CR:ENGR00336061
Reviewed-on: http://git.am.freescale.net:8181/23065
Reviewed-by: Sandeep Malik <Sandeep.Malik@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
Placing required compilation flags and hooks in gianfar
driver for both ARM and PowerPC platforms.
Signed-off-by: Ganga Negi <ganga.negi@freescale.com>
Change-Id: I2f6c8fe40a2223013559bc6909a60e8963aa2a96
CR:ENGR00338962
(cherry picked from commit 509f3236615193c77e07797cde4729ccc8cb2ef5)
Reviewed-on: http://git.am.freescale.net:8181/23585
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
This reverts commit 5e921ed07acbc6f05536aac89b9edc2578663840.
Change-Id: Ic4d1166b5ad6419f369e3be278f41ea5764ff6fc
Reviewed-on: http://git.am.freescale.net:8181/23784
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Tested-by: Matthew Weigel <Matthew.Weigel@freescale.com>
|
|
Change-Id: I428d24ec05b1e6ef2137ad2ba6385ddfa3a01872
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/22882
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Tested-by: Matthew Weigel <Matthew.Weigel@freescale.com>
|
|
- add CONFIG_FMAN_V3L by default for FMan_V3L platform.
- t1024 officially supports 6 portals of QMan/BMan instead of 10
- remove CONFIG_ALTIVEC as e5500 core has no ALTIVEC.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: I71a5426ad441ef034c66e2d794a86b366092530d
Reviewed-on: http://git.am.freescale.net:8181/23188
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
Support PTPd 1588 stack by adding PTP 1588 clock
using the dTSEC
Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Change-Id: I4f6fb9a721cede75c6cf23560014b55b46c84fef
Reviewed-on: http://git.am.freescale.net:8181/20295
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
The hardware can automatically generate pause frames when the number
of free buffers drops under a certain threshold, but in order to do this,
the address of the last free buffer needs to be written to a specific
register for each RX queue.
This has to be done in 'gfar_clean_rx_ring' which is called for each
RX queue. In order not to impact performance, by adding a register write
for each incoming packet, this operation is done only when the PAUSE frame
transmission is enabled.
Whenever the link is readjusted, this capability is turned on or off.
Change-Id Ib4751d205a00c0813355cf23c4428bf6dcbda003
Signed-off-by: Matei Pavaluca <matei.pavaluca@freescale.com>
Change-Id: I22a836b86f256128ea1bd39e87902321030f7742
Reviewed-on: http://git.am.freescale.net:8181/23138
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
|