[PATCH v3 0/9] Armada8k enable per-port SATA interrupts and drop a hack in the IRQ subsystem

Sven Auhagen sven.auhagen at voleatech.de
Fri Mar 19 08:16:38 GMT 2021


On Fri, Mar 19, 2021 at 08:26:00AM +0100, Gregory CLEMENT wrote:

Hello Grégory,

> Hello Sven,
> 
> > Hello,
> >
> > can I ask about the status of this patch?
> > As far as I can tell it was not merged to ata and I did not receive
> > any further feedback that there was a problem with the patch series.
> >
> > As a matter of fact the device tree part was already merged by
> > Gregory Clement.
> 
> As the maintainer of the ahci subsytem reviewed the series, I really
> expected that he merged it, so me neither I don't understand what
> happened.
> 

I assumed the same and I did not get an answer to my last email
regarding the status of the page.

Best
Sven

> Hans,
> 
> is there still anything wrong that prevent you applying the series ?
> 
> Grégory
> 
> 
> >
> > Best and thanks
> > Sven
> >
> > On Mon, Nov 09, 2020 at 06:39:39PM +0100, sven.auhagen at voleatech.de wrote:
> >> From: Sven Auhagen <sven.auhagen at voleatech.de>
> >> 
> >> Hello, 
> >> 
> >> 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
> >> 
> >> Change from v2:
> >>   * Fix commit message of custom irq init for host init
> >> 
> >> Change from v1:
> >>   * Add a patch to enable custom irq initialization in 
> >>     plattform init host
> >>   * Add multi_irq_host_ack callback for the msi irq handler
> >>   * Rework the ahci mvebu patch to initiate the irq and use
> >>     the new multi_irq_host_ack to handle the custom irq code.
> >>     Remove the custom irq handler and duplicate code.
> >>   * Fix the armada8k backwards compatibility code
> >>   * Rename AHCI_PLATFORM_A8K_QUIRK to AHCI_PLATFORM_ARMADA8K_QUIRK
> >> 
> >> 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 (4):
> >>   ata: libahci_platform: Do not try to get an IRQ when
> >>     AHCI_HFLAG_MULTI_MSI is set
> >>   ata: ahci: add ack callback to multi irq handler
> >>   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                            |   2 +
> >>  drivers/ata/ahci_mvebu.c                      | 143 ++++++++++++++++--
> >>  drivers/ata/libahci.c                         |   4 +
> >>  drivers/ata/libahci_platform.c                |  19 ++-
> >>  drivers/irqchip/irq-mvebu-icu.c               |  18 ---
> >>  include/linux/ahci_platform.h                 |   1 +
> >>  8 files changed, 160 insertions(+), 40 deletions(-)
> >> 
> >> -- 
> >> 2.20.1
> >> 
> >> 
> 
> -- 
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbootlin.com%2F&data=04%7C01%7Csven.auhagen%40voleatech.de%7C6500487ba77641ea9ae508d8eaa842b1%7Cb82a99f679814a7295344d35298f847b%7C0%7C0%7C637517355700947932%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eP%2FQEvJ2oUeHeA0DH1N2yxp0CjRZLV50LJ9QbF9nDDs%3D&reserved=0



More information about the linux-arm-kernel mailing list