linux/include/soc/fsl
Ioana Ciornei 991e873223 soc: fsl: dpio: use a cpumask to identify which cpus are unused
The current implementation of the dpio driver uses a static next_cpu
variable to keep track of the index of the next cpu available. This
approach does not handle well unbinding and binding dpio devices in a
random order. For example, unbinding a dpio and then binding it again
with the driver, will generate the below error:

$ echo dpio.5 > /sys/bus/fsl-mc/drivers/fsl_mc_dpio/unbind
$ echo dpio.5 > /sys/bus/fsl-mc/drivers/fsl_mc_dpio/bind
[  103.946380] fsl_mc_dpio dpio.5: probe failed. Number of DPIOs exceeds
NR_CPUS.
[  103.955157] fsl_mc_dpio dpio.5: fsl_mc_driver_probe failed: -34
-bash: echo: write error: No such device

Fix this error by keeping a global cpumask of unused cpus that will be
updated at every dpaa2_dpio_[probe,remove].

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
2019-01-08 14:15:37 -06:00
..
qe net/wan/fsl_ucc_hdlc: error counters 2018-10-22 19:58:10 -07:00
bman.h soc: fsl: qbman: add APIs to retrieve the probing status 2018-09-27 15:43:35 -05:00
dpaa2-fd.h soc: fsl: dpio: add frame list format support 2018-09-21 13:24:50 +08:00
dpaa2-global.h soc: fsl: dpio: add congestion notification support 2018-09-21 13:24:50 +08:00
dpaa2-io.h soc: fsl: dpio: use a cpumask to identify which cpus are unused 2019-01-08 14:15:37 -06:00
qman.h soc/qman: add return value to interrupt coalesce changing APIs 2018-11-23 11:17:06 -08:00