[PATCH net-next 00/12] net: mvpp2: improve the interrupt usage

From: Antoine Tenart
Date: Wed Sep 19 2018 - 05:30:57 EST

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.


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
net: mvpp2: map the CPUs to threads
net: mvpp2: handle cases where more CPUs are available than s/w
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(-)