Age | Commit message (Collapse) | Author |
|
For KG & Policer:
Renamed pointedOwners --> RequiredActionFlag
changed from counter to flag
added flag clear at delete
Change-Id: I55dd4125202d59e7659a3ffb8e39f56eaac7cd62
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9261
Reviewed-by: Eyal Harari <Eyal.Harari@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9449
|
|
The same hang issue was observed on T208x and T4160v2 also.
So extend the workaround for now.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Change-Id: If75d58a3d609f3607050c0cf306d9c86aa69cfaf
Reviewed-on: http://git.am.freescale.net:8181/7205
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9450
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
|
|
Change-Id: Iad7a7c608e738661c1a9205fa2da45681ab2bc84
Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9305
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Sunil Kumar Kori <Sunil.Kori@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9446
|
|
Change-Id: I249456d0f157547fab221286e1c18e59ce5345d3
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9257
Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9448
|
|
- New code for auto-response
- Changed parser init
- Added DsarCheckParams and fm_port_dsar_dump_regs
- Added snmp support
- Added statistics features
- Fixed SNMP oid table
- Removed usage of create_proc_entry - for merging to master
Change-Id: Icd6292c8d68ddb4ee60ecfed87419c1f4cbf5e74
Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8711
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9445
|
|
Change-Id: I1da08cec47972011c871796ab0d1b7a8fbe3024e
Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9306
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Sunil Kumar Kori <Sunil.Kori@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9447
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Fixes memory corruption issues within lnxwrp_ioctls_fm.c
Caused by wrong usage of some data structures.
Change-Id: I75b710dd5888cc6ab3b86f0604cd5ef177396e23
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9041
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9386
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
|
|
Change-Id: I1d0661f217d96c530ad03e797be85edf2c8a3b1e
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9077
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
(cherry picked from commit 431aea6cc98e1c0350214dc3bdb2a32269307211)
Change-Id: I1d0661f217d96c530ad03e797be85edf2c8a3b1e
Reviewed-on: http://git.am.freescale.net:8181/9431
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
When a USDPAA memory fragment is mapped into a user space process the
owner should only be initialized if the fragment has just been created.
Failure to do this will cause an error if another process is using the
fragment when the mapping is done.
Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com>
Change-Id: I0fdeb195f5d1910ec70f6f56d772dd2b8cedab4c
Reviewed-on: http://git.am.freescale.net:8181/9427
Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Add support for allocation of raw (unconfigured) portals to the
USDPAA kernel driver. This allows a USDPAA process to allocate
a portal on behalf of another user.
Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com>
Change-Id: I5764ff1f8e46c8d22cb28367a70ce5a83a8ede85
Reviewed-on: http://git.am.freescale.net:8181/9381
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Vakul Garg <vakul@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I1898186679983caccc4e51a8674ee7909955e346
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9076
Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
(cherry picked from commit 19640982a1c57f9f81508f9fa15dcc6ec1841cb4)
Change-Id: I1898186679983caccc4e51a8674ee7909955e346
Reviewed-on: http://git.am.freescale.net:8181/9385
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I308873aa47e84169f51840b10340da30a5689d36
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8638
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
(cherry picked from commit 6d27c61eccf7b68e5bdcb751f8bc829e9317da47)
Change-Id: I308873aa47e84169f51840b10340da30a5689d36
Reviewed-on: http://git.am.freescale.net:8181/9384
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I7347668005c7979c2c64a97cbf05c16faddff49a
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/7945
Tested-by: Richard Schmitt <richard.schmitt@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
(cherry picked from commit 978622644e30299070942ff53c9908c1c01e59e4)
Change-Id: I7347668005c7979c2c64a97cbf05c16faddff49a
Reviewed-on: http://git.am.freescale.net:8181/9383
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
B4/T4 rev2 introduced two new registers in memac block
named: RX_FIFO_SECTIONS and TX_FIFO_SECTIONS
TX_FIFO_SECTIONS[TX_AVAIL] field requires a specific (non default)
init value when working with 10g interface (0x19)
Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/6882
Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com>
(cherry picked from commit 2818e16b8a8c4f49ef8c7438505f0dc952b3d46f)
Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e
Reviewed-on: http://git.am.freescale.net:8181/7386
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
(cherry picked from commit fc1388287f2ad1566be2b7c8c6897a277e96ca98)
Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e
Reviewed-on: http://git.am.freescale.net:8181/9382
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This patch enables the ethtool control of PAUSE frame autonegotiation.
ethtool calculats symmetric/asymmetric PAUSE frame capabilities based
on the PAUSE RX/TX settings it receives. If the the capabilities
differ from the previous, it forces link renegotiation and triggers
the advertisment of the new values.
If autonegotiation is disabled, ethtool enforces RX/TX PAUSE settings
for the FMan port. Else, RX/TX is determined from the negotiated
symmetric/asymmetric capabilities.
Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Change-Id: I7b2cba1813f44b97f67885e7d7fe575859db61e0
Reviewed-on: http://git.am.freescale.net:8181/8722
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
64 bit types the PAMU driver.
is_power_of_2 requires an unsigned long parameter which would
lead to truncation of 64 bit values on 32 bit architectures.
__ffs also expects an unsigned long parameter thus won't work
for 64 bit values on 32 bit architectures.
Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Change-Id: I01c043a04ad5b66cdf30673292ffa099be1c7996
Reviewed-on: http://git.am.freescale.net:8181/9300
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
A build error occurs in dpa_ipsec since the commit "dpa_ipsec: Patch
to update the append_math_ldshift command" due to an incomplete
fix. This patch did not replace all occurences of "append_math_ldshift"
call.
Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com>
Signed-off-by: Marian Chereji <marian.chereji@freescale.com>
Change-Id: I11e14418cc91b25918943a8e06563bf528ffe790
Reviewed-on: http://git.am.freescale.net:8181/9370
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
When doing the Multiple IPSec instances implementation
I had to change the API for dpa_ipsec_get_stats which did
not received as parameter the intance ID.
Unfortunately when updating the IPSec wrapper I forgot to
update also in case of compat mode.
Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com>
Change-Id: I6acddda0e54d1c5e6c1b47122d81559ecd0cf0f3
Reviewed-on: http://git.am.freescale.net:8181/9369
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
With the addition of US PDCP SEC driver as part of SDK 1.6,
the UIO JR driver needs to be enabled, thus some of the JRs
from kernel can be exposed via UIO to userspace.
Change-Id: I8aa6988a2bab452bb3fa081f495d76d380c64d2e
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8472
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This patch allocates memory from DMAable region to the caam_rng_ctx object,
earlier it had been statically allocated which resulted in errorneous
behaviour on inserting the caamrng module at the runtime.
Signed-off-by: Nitesh Lal <NiteshNarayanLal@freescale.com>
Change-Id: I5706dfeb5a7ba15bb9a757d64f239fbc1568e1ce
Reviewed-on: http://git.am.freescale.net:8181/9324
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This patch updated the data collection module driver. It removed
all the hard-coded parameters by detecting automatically.
Adding new board support will be easier in this way.
Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Change-Id: Ibb67c243faac53fee7865154e0fdb703933ace3f
Reviewed-on: http://git.am.freescale.net:8181/8991
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Hongtao Jia <hongtao.jia@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Implemented the code needed to support multiple intances of
DPA IPSec. Basically the IPSec was using only one FMAN and
if the boards had multiple FMANs they could not be used.
Thanks to this patch the IPSec is now able to create multiple
intances using as much of FMAN as available.
Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com>
Change-Id: I98f25f45f1949ce9e922837ae5824e2b186916f2
Reviewed-on: http://git.am.freescale.net:8181/9262
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Nicolae-Sebastian Grigore <sebastian.grigore@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
PHY devices advertise symmetric/asymmetric PAUSE frame capabilities to
their peers.
This patch changes the 'adjust_link' function behavior. When a
change occurs in the advertised or remote capabilities and PAUSE frame
autonegotiation is enabled, the FMan port adjusts PAUSE frames
reception and transmission depending on these settings.
When PAUSE autonegotiation is disabled, the FMan interface adjusts
PAUSE frames RX/TX depending on the values in the 'mac_device'.
Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Change-Id: I360ad283e2820d9f681f66606abf073f1c0708a9
Reviewed-on: http://git.am.freescale.net:8181/8721
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The new feature of IPSec, multiple instances require additional
FMAN resources in order to initialize, create multiple instances and
test using trafic the newly added feature.
Basically it is required to add another 3 offline ports from the
other FMAN (fman 0). Aditional it requires another macless device,
since USDPAA can't reuse the macles given as input for first
initialized DPA IPSec instance. And finally the ethernet 1 has to
be initialize by the USDPPA.
Change-Id: Ice624be15a98bd120ee53b57f266dac1db0ba3ac
Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/9264
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
When CONFIG_LOCKDEP is set to yes, the following WARNING is generated:
WARNING: at kernel/lockdep.c:2986
Modules linked in:
NIP: c00000000008d3a0 LR: c00000000008d380 CTR: c000000000317130
REGS: c0000000791071d0 TRAP: 0700 Not tainted (3.8.13-rt9-01934-gc5021a4-dirty)
MSR: 0000000080029000 <CE,EE,ME> CR: 24ad2e42 XER: 20000000
SOFTE: 1
TASK = c000000079102040[1] 'swapper/0' THREAD: c000000079104000 CPU: 7
GPR00: c00000000008d36c c000000079107450 c000000000b513e8 0000000000000001
GPR04: 0000000084ad2e44 00000000a14394ec 0000000000000008 0000000000000001
GPR08: 0000000000000000 0000000000000000 000000000000000f 0000000000000001
GPR12: 0000000022ad2e84 c00000000fffbc00 c000000000001c50 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 c0000000007a71d8
GPR20: 0000000000000100 c000000000b2c288 c00000007966b800 c00000000095f860
GPR24: c0000000007a71c0 c00000007966b820 0000000000000000 0000000000000100
GPR28: c000000000b6aef0 c0000000058ab12f c000000005d819a8 0000000000000000
NIP [c00000000008d3a0] .lockdep_init_map+0x3d0/0x580
LR [c00000000008d380] .lockdep_init_map+0x3b0/0x580
Call Trace:
[c000000079107450] [c00000000008d36c] .lockdep_init_map+0x39c/0x580 (unreliable)
[c000000079107520] [c000000000194eac] .sysfs_add_file_mode+0xbc/0x140
[c0000000791075e0] [c000000000198e08] .internal_create_group+0x118/0x2e0
[c000000079107690] [c0000000005c1db4] .of_fsl_bman_probe+0x294/0x320
[c000000079107770] [c00000000032e64c] .platform_drv_probe+0x2c/0x40
[c0000000791077e0] [c00000000032ca04] .driver_probe_device+0xa4/0x2b0
[c000000079107880] [c00000000032cd0c] .__driver_attach+0xfc/0x100
[c000000079107910] [c00000000032a368] .bus_for_each_dev+0x78/0xe0
[c0000000791079b0] [c00000000032c384] .driver_attach+0x24/0x40
[c000000079107a20] [c00000000032bdb8] .bus_add_driver+0x1f8/0x330
[c000000079107ac0] [c00000000032d3bc] .driver_register+0x9c/0x240
[c000000079107b60] [c00000000032e7d8] .platform_driver_register+0x68/0x80
[c000000079107bd0] [c0000000005c1e58] .bman_ctrl_init+0x18/0x30
[c000000079107c40] [c000000000001534] .do_one_initcall+0x164/0x1e0
[c000000079107cf0] [c0000000009f3c04] .kernel_init_freeable+0x188/0x270
[c000000079107db0] [c000000000001c6c] .kernel_init+0x1c/0x3b0
[c000000079107e30] [c0000000000008d0] .ret_from_kernel_thread+0x64/0x94
Instruction dump:
813c0000 2f890000 409efcf8 48226d15 60000000 2fa30000 419efce8 3d220084
3929c718 81290000 2f890000 409efcd4 <0fe00000> 4bfffccc fbde0000 7fddf378
---[ end trace 39bdd3537239024e ]---
BUG: key c0000000058ab048 not in .data!
BUG: key c0000000058ab078 not in .data!
...
As per upstream commit 6992f5334995af474c2b58d010d08bc597f0f2fe,
"non-static sysfs attributes need to be initialized with
sysfs_attr_init or sysfs_bin_attr_init. Strictly speaking this
requirement only exists when lockdep is enabled, and when
lockdep is enabled we get a bit fat warning if this requirement is not met."
This patch adds the necessary function call in the qbman driver for
eliminating the warning.
Change-Id: Ia1cb069dc551a8a47ed3682f5e8d1eb2fedb9b6c
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8460
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Changed the rx port to 1G for chosen dts file for T4240QDS platform in
order to be able to run dpa_offloading applications.
Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com>
Change-Id: Ie4fcb1748f4efff67905c72e0b9b9661295d3332
Reviewed-on: http://git.am.freescale.net:8181/9226
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Adding the errors-to-discard option improves DPA offloading apps
performances. This optimization was accidentally omitted for the
T4240 platform.
Signed-off-by: Marian Chereji <marian.chereji@freescale.com>
Change-Id: Ib909b6bac08c6cc905aca4b4de2c8aeb4ee90a7a
Reviewed-on: http://git.am.freescale.net:8181/9142
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Right now, the macless probe function will set mac_dev on NULL even if
mac_dev variable was previously initialiazed with a MAC device reference.
The MAC device reference is needed for the new macless capability of having
some control on a proxy initialized MAC device.
This patch removes the undesired mac_dev variable overwrite.
Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com>
Change-Id: Idd1830a464f172ead8a824d7d39bddf9fd66a0b0
Reviewed-on: http://git.am.freescale.net:8181/9227
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
(cherry picked from commit 80854e726ec82d0d5c903de4b284ed387908000d)
Reviewed-on: http://git.am.freescale.net:8181/9259
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
Minor comment changes in mac.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Ieecc4a7941be4d63b9750ff8a549594989a244f8
Reviewed-on: http://git.am.freescale.net:8181/9222
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit aa960d51f8394e700a951e7319157a133469bec3)
Reviewed-on: http://git.am.freescale.net:8181/9256
|
|
Masking the link partner's capabilities with local capabilities can be
misleading in autonegotiation scenarios such as PAUSE frame
autonegotiation.
This patch calculates the join between the local capabilities and the
link parner capabilities, when it determines the speed and duplex
settings, but does not mask any of the link partner capabilities when
it calculates PAUSE frame settings.
Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Change-Id: I08907f357f63fb953db8695ed0cebcf85d96d0ff
Reviewed-on: http://git.am.freescale.net:8181/8875
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
P4080 DS is using GPIO(s) to mux the on board MDIO buses. The P4080 DS is
the only board that uses GPIO(s) for MDIO muxing and commit '431f241
qoriq: Enable muxing MDIO buses' missed this particular board
Signed-off-by: Shruti Kanetkar <Shruti@Freescale.com>
Change-Id: I6e085b131e0cec1dadeda8f2c31b4b81f6587640
Reviewed-on: http://git.am.freescale.net:8181/9080
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Emilian Medve <Emilian.Medve@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The errors-to-discard value in FMan chosen node is intended to set
FM_PORT_FRM_ERR_NON_FM and FM_PORT_FRM_ERR_CLS_DISCARD for
DPA offloading applications. However, the configuration
FM_PORT_FRM_ERR_NON_FM is not valid for Rx ports and it will be
avoided.
Signed-off-by: Marian Chereji <marian.chereji@freescale.com>
Change-Id: I77dcfe62caac7355e69fe2b69e941040a04a155c
Reviewed-on: http://git.am.freescale.net:8181/9022
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I83eb8533d747a5da8c06df54398db1a43b22fe4b
Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8744
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Yang Li <LeoLi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
These compile errors are caused by the changes of the internal interface
of kernel. Also fix some problems found by the script checkpatch.
Change-Id: Ie719d3f40f1ffcf932dd00b9c5b1b5e1bb0d1b22
Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8743
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Yang Li <LeoLi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
If CONFIG_TRACE_IRQFLAGS is set to 'y' in the kernel configuration file,
then compilation will fail with the following error message:
CC arch/powerpc/kernel/irq.o
arch/powerpc/kernel/irq.c: In function 'arch_local_irq_restore':
arch/powerpc/kernel/irq.c:233:2: error: 'else' without a previous 'if'
make[1]: *** [arch/powerpc/kernel/irq.o] Error 1
make: *** [arch/powerpc/kernel] Error 2
This is due to the fact that the __hard_irq_disable() macro used
if erratum A006198 is not enabled has a trailing semicolon. This leads
to having two statements instead of one in arch/powerpc/kernel/irq.c:
...
if (unlikely(irq_happened != PACA_IRQ_HARD_DIS))
__hard_irq_disable();
else {
...
The 2nd semicolon (coming from the code above) signals the end of the
braceless "if", which leaves the subsequent "else" without a
corresponding "if", which is exactly what the compiler complains about.
This patch removes the trailing semicolon from the __hard_irq_disable()
macro.
Change-Id: If223ee6f85f3f0e0bd0883ccf3ea95768cb6e69e
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/8547
Reviewed-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Solved the sparse warnings in the mac code.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I7efdda3ab818279dc2f9d7bdfeb3e22e889fe047
Reviewed-on: http://git.am.freescale.net:8181/9031
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 21dd7822fc2120e7c82c17d02a35f0d683b42ea0)
Reviewed-on: http://git.am.freescale.net:8181/9195
|
|
Solved several sparse warnings in dpaa_ethtool.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I612785dc4839b6377a768e823b2eae9898e6b9e4
Reviewed-on: http://git.am.freescale.net:8181/9030
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 7fa30bc4adea9bbde0eb05fe507c3a9dc2a80474)
Reviewed-on: http://git.am.freescale.net:8181/9194
|
|
Fix a series of sparse reports related to percpu types.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I7a482a325d2457323ef895aa514779037b5c87a1
Reviewed-on: http://git.am.freescale.net:8181/9029
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 53f3f24c412966c1d7e98ec2edc95b192b490b8b)
Reviewed-on: http://git.am.freescale.net:8181/9193
|
|
Fix one sparse warning in dpaa_eth_common.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I12a0bb8463830b0b264f84f427cd8f954981d26f
Reviewed-on: http://git.am.freescale.net:8181/9027
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 888b343d28d612f0bb4dc99a0ce39238e03e7f09)
Reviewed-on: http://git.am.freescale.net:8181/9192
|
|
Move dpa_alloc_pcd_fqids and dpa_free_pcd_fqids to dpaa_eth_common.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I6322cdc377e2b8061680fc39129d567726ec4c29
Reviewed-on: http://git.am.freescale.net:8181/9026
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit fe1d9e3e097efe1c330f4209b7cca7f75049a6a8)
Reviewed-on: http://git.am.freescale.net:8181/9191
|
|
Fix one sparse warning in dpaa_eth.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Idc00cd8e670bc0cbb4a25408276b0ddce04953f5
Reviewed-on: http://git.am.freescale.net:8181/9024
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 5c4387d198f8f5d211968a0dd50e046bdaff1b22)
Reviewed-on: http://git.am.freescale.net:8181/9189
|
|
Fix the warnings reported by sparse in dpaa_eth_base.c.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Icb5deda70e94a74c7bbf02e002625f6c5548c788
Reviewed-on: http://git.am.freescale.net:8181/8963
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
(cherry picked from commit 3771f9d89faf95e9a8b2dbb35765a853220bafc1)
Reviewed-on: http://git.am.freescale.net:8181/9188
|
|
Programming the interrupt coalescing (IC) registers while
the controller/DMA is on may incur the loss of one Tx
confirmation interrupt, under certain conditions. This is
a subtle hw race because it does not occur during a burst
of Tx packets. It has been observed on p2020 devices that,
if just one packet is being xmit'ed, the Tx confirmation
doesn't trigger and BQL evetually blocks the Tx queues,
followed by Tx timeout and an un-responsive device.
This issue was not apparent prior to introducing BQL
support, as a late Tx confirmation was not an issue back then
and the next burst of Tx frames would have triggered the
Tx confirmation/ Tx ring cleanup anyway.
Bottom line, the hw specifications state that the IC registers
should not be programmed while the Rx/Tx blocks (the DMA) are
enabled. Further more, these registers are currently re-written
with the same values on the processing path, over and over again.
To fix this, rewriting the IC registers has been removed from
the processing path (napi poll). A complete MAC reset procedure
has been implemented for the ethtool -c option instead, to
reliably update these registers while the controller is stopped.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I279d163671e0f3fef73dd11c4aa8587e598fc152
Reviewed-on: http://git.am.freescale.net:8181/9151
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
The device reset procedure, stop_gfar()/startup_gfar(), has
concurrency issues.
"Kernel access of bad area" oopses show up during Tx timeout
device reset or other reset cases (like changing MTU) that
happen while the interface still has traffic. The oopses
happen in start_xmit and clean_tx_ring when accessing tx_queue->
tx_skbuff which is NULL. The race comes from de-allocating the
tx_skbuff while transmission and napi processing are still
active. Though the Tx queues get temoprarily stopped when Tx
timeout occurs, they get re-enabled as a result of Tx congestion
handling inside the napi context (see clean_tx_ring()). Not
disabling the napi during reset is also a bug, because
clean_tx_ring() will try to access tx_skbuff while it is being
de-alloc'ed and re-alloc'ed.
To fix this, stop_gfar() needs to disable napi processing
after stopping the Tx queues. However, in order to prevent
clean_tx_ring() to re-enable the Tx queue before the napi
gets disabled, the device state DOWN has been introduced.
It prevents the Tx congestion management from re-enabling the
de-congested Tx queue while the device is brought down.
An additional locking state, RESETTING, has been introduced
to prevent simultaneous resets or to prevent configuring the
device while it is resetting.
The bogus 'rxlock's (for each Rx queue) have been removed since
their purpose is not justified, as they don't prevent nor are
suited to prevent device reset/reconfig races (such as this one).
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I08103dd29cf54ea20c198dea508a63b380f6c92f
Reviewed-on: http://git.am.freescale.net:8181/9150
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
Resetting the device (stop_gfar()/startup_gfar()) should
be fast and to the point, in order to timely recover
from an error condition (like Tx timeout) or during
device reconfig. The irq free/ request routines are just
redundant here, and they should be part of the device
close/ open routines instead.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I3f22ec285591c720f3c9f09d03e68d2ffc37e399
Reviewed-on: http://git.am.freescale.net:8181/9149
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
The RCTRL and TCTRL registers should not be changed
on-the-fly, while the controller is running, otherwise
unexpected behaviour occurs. But that's exactly what
gfar_vlan_mode() does, updating the VLAN acceleration
bits inside RCTRL/TCTRL. The attempt to lock these
operations doesn't help, but only adds to the confusion.
There's also a dependency for Rx FCB insertion (activating
/de-activating the TOE offload block on Rx) which might
change the required rx buffer size. This makes matters
worse as gfar_vlan_mode() ends up calling gfar_change_mtu(),
though the MTU size remains the same. Note that there are
other situations that may affect the required rx buffer size,
like changing RXCSUM or rx hw timestamping, but errorneously
the rx buffer size is not recomputed/ updated in the process.
To fix this, do the vlan updates properly inside the MAC
reset and reconfiguration procedure, which takes care of
the rx buffer size dependecy and the rx TOE block (PRSDEP)
activation/deactivation as well (in the correct order).
As a consequence, MTU/ rx buff size updates are done now
by the same MAC reset and reconfig procedure, so that out
of context updates to MAXFRM, MRBLR, and MACCFG inside
change_mtu() are no longer needed. The rx buffer size
dependecy to Rx FCB is now handled for the other cases too
(RXCSUM and rx hw timestamping).
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I3fb0e795e41465b201fb3888638d7d069ad16bb7
Reviewed-on: http://git.am.freescale.net:8181/9148
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
The main MAC config registers like: RCTRL/TCTRL, MRBLR,
MAXFRM, RXIC/TXIC, most fields of MACCFG1/2, should not
be changed on-the-fly, but at least after stopping the
DMA and disabling the Rx/Tx blocks and, for increased
reliability, after a MAC soft reset.
Impelement a complete MAC soft reset and reconfig procedure
following the latest HW advisories - gfar_mac_reset() - to
replace gfar_mac_init() and (the confusing) init_registers()
functions.
Factor out separate config functions for RCTRL and TCTRL,
insure programming order of the relevant config regs after
MAC soft reset.
Split gfar_hw_init() into gfar_mac_reset() and the remaining
global regs that don't need to be reconfigured after MAC soft
reset (FIFOCFG, ATTRELI, HW counters a.s.o).
As gfar_hw_init() now makes all the register writes @probe()
time, based on all the device flags and config options, it
must be moved further down, just before register_netdev(),
as the last config step when the config values are comitted
to HW. Also, move netif_carrier_off() after register_netdev(),
because it has no effect if called before.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I8c89d4eac35553329f99277a6249bf477bbacdf6
Reviewed-on: http://git.am.freescale.net:8181/9147
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
gfar_clean_rx_ring() was designed to be called from napi
(rx softirq) context to do the Rx processing. Calling it
from a process context like this is a bug as it will
clearly race with the napi Rx processing.
There's also no point in initializing num_txbdfree since
startup_gfar() already does that, when bringing the device
up again (after reset). Changing num_txbdfree "on-the-fly"
like this is also subject to race conditions. num_txbdfree
is handled by the Tx processing path and the device reset
procedure. Also, don't assume that num_rx_queues is always
equal to num_tx_queues.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: I698c5dcdf75a04e8227f98cc65eb3b23b51b0c03
Reviewed-on: http://git.am.freescale.net:8181/9054
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
gfar_halt() and gfar_start() are responsible for stopping
and starting the DMA and the Rx/Tx hw rings. They implement
the support for the "graceful Rx/Tx stop/start" hw procedure,
and also disable/enable eTSEC's hw interrupts in the process.
The GRS/GTS procedure requires however to have the RQUEUE/TQUEUE
registers cleared first and to wait for a period of time for the
current frame to pass through the interface (around ~10ms for a
jumbo frame). Only then may the GTS and GRS bits from DMACTRL be
set to shut down the DMA, and finally the Tx_EN and Rx_EN bits in
MACCFG1 may be cleared to disable the Tx/Rx blocks.
The same register programming order applies to start the Rx/Tx:
enabling the RQUEUE/TQUEUE *before* clearing the GRS/GTS bits.
This is a HW recommendation in order to avoid a possible
controller "lock up" during graceful reset.
Cleanup the gfar_halt()/start() prototypes, to take priv instead
of ndev as their purpose is to operate on HW. Enabling the
RQUEUE/TQUEUE in the hw_init() is not needed anymore since
that's the job of gfar_start().
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: Idd62100c52aca887f743298c63df15bf54f38308
Reviewed-on: http://git.am.freescale.net:8181/9053
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|
|
Throughout the code there are places where the controller's
hw interrupt sources need to get disabled/enabled (masked/
un-masked) all at once. The recommendation for disabling
the interrupts is to clear the ievent first then the imask
register (not the other way around).
Use the gfar_ints_enable/disable() helpers to make these
operations consistent.
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: Ic8cb048056ed2e02b0701a6489c5ebc2b9d3ce71
Reviewed-on: http://git.am.freescale.net:8181/9052
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
|