[PATCH 0/7] Armada8k enable per-port SATA interrupts and drop a hack in the IRQ subsystem
sven.auhagen at voleatech.de
sven.auhagen at voleatech.de
Wed Oct 7 11:45:47 EDT 2020
From: Sven Auhagen <sven.auhagen at voleatech.de>
Hello,
I am resubmitting this patch series since I did not get a feedback
the past 8 weeks.
There were already 4 versions of this series from Miquèl.
I talked to Miquèl and I fixed up the last comments from v4.
I am looking for feedback if this patch series is now ready to be merged
and what should be further changed.
Here is the original cover letter:
Some time ago, when the initial support for Armada CP110 was
contributed, the SATA core was not able to handle per-port
interrupts. Despite the hardware reality, the device tree only
represents one main interrupt for the two ports. Having both SATA
ports enabled at the same time has been achieved by a hack in the ICU
driver(1) that faked the use of the two interrupts, no matter which
SATA port was in use.
Now that the SATA core is ready to handle more than one interrupt,
this series adds support for it in the libahci_platform code. The
CP110 device tree must be updated to reflect the two SATA ports
available and their respective interrupts. To do not break DT backward
compatibility, the ahci_platform driver now embeds a special quirk
which checks if the DT is valid (only for A8k compatible) and, if
needed, creates the two missing sub-nodes, and assign them the
relevant "reg" and "interrupts" properties, before removing the main
SATA node "interrupts" one.
(1) The ICU is an irqchip aggregating the CP110 (south-bridge)
interrupts into MSIs for the AP806 (north-bridge).
Best
Sven
Miquel Raynal (5):
ata: ahci: mvebu: Rename a platform data flag
ata: ahci: mvebu: Support A8k compatible
irqchip/irq-mvebu-icu: Remove the double SATA ports interrupt hack
dt-bindings: ata: Update ahci bindings with possible per-port
interrupts
dt-bindings: ata: Update ahci_mvebu bindings
Sven Auhagen (2):
ata: ahci: mvebu: Add support for A8k legacy DT bindings
arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts
.../devicetree/bindings/ata/ahci-platform.txt | 7 +
arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 6 +-
drivers/ata/ahci.h | 3 +
drivers/ata/ahci_mvebu.c | 254 +++++++++++++++++-
drivers/ata/libahci.c | 3 +-
drivers/ata/libahci_platform.c | 3 +
drivers/irqchip/irq-mvebu-icu.c | 18 --
include/linux/ahci_platform.h | 1 +
8 files changed, 265 insertions(+), 30 deletions(-)
--
2.20.1
More information about the linux-arm-kernel
mailing list