Messages in this thread | | | From | Antoine Tenart <> | Subject | [PATCH net-next 00/12] net: mvpp2: improve the interrupt usage | Date | Wed, 19 Sep 2018 11:26:59 +0200 |
| |
Hi all,
This series aims to improve the interrupts descriptions and usage in the Marvell PPv2 driver.
- Before the series interrupts were named after their s/w usage, which in fact can be configured. The series rename all those interrupts and add a description of the ones left over.
- In PPv2 the interrupts are mapped to vectors. Those vectors were directly mapped to a given CPU, and per-cpu accesses were done. While this worked on our cases, the registers accesses mapped to the vectors are not actually linked to a given CPU. They instead are linked to what is called a "s/w thread". The series modify this so that the s/w threads are used instead of the CPU numbers, by adding an indirection. This means we now can have systems with more CPUs than s/w threads.
This is based on today's net-next, and was tested on various boards using both versions of the PPv2 engine.
Two more patches will be coming, to update the device trees describing a PPv2 engine. The patches are ready, but will go through a different tree. I'll send them once this series will be accepted. This is not an issue as the PPv2 driver keeps the dt bindings backward compatibility.
Thanks! Antoine
Antoine Tenart (12): net: mvpp2: increase the number of s/w threads to 9 net: mvpp2: rename the IRQs to match the hardware Documentation/bindings: net: marvell-pp2: update the IRQs description net: mvpp2: do not update the queue mode while probing net: mvpp2: fix the number of queues per cpu for PPv2.2 net: mvpp2: cpu should always be unsigned net: mvpp2: make the per-cpu helpers static net: mvpp2: make mvpp2_read_relaxed static net: mvpp2: do not use the CPU number to access the per-thread registers net: mvpp2: map the CPUs to threads net: mvpp2: handle cases where more CPUs are available than s/w threads net: mvpp2: rename mvpp2_percpu function to mvpp2_thread
.../devicetree/bindings/net/marvell-pp2.txt | 45 +- drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 27 +- .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 431 +++++++++++------- 3 files changed, 315 insertions(+), 188 deletions(-)
-- 2.17.1
| |