All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Gregory Clement <gregory.clement@bootlin.com>,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Jens Axboe <axboe@kernel.dk>,
	Hans de Goede <hdegoede@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marc Zyngier <marc.zyngier@arm.com>
Cc: devicetree@vger.kernel.org,
	Antoine Tenart <antoine.tenart@bootlin.com>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Nadav Haklai <nadavh@marvell.com>,
	linux-ide@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] Enable per-port SATA interrupts and drop an hack in the IRQ subsystem
Date: Fri, 22 Feb 2019 15:53:51 +0100	[thread overview]
Message-ID: <20190222145356.23072-1-miquel.raynal@bootlin.com> (raw)

Hello,

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.


Thanks,
Miquèl

(1) The ICU is an irqchip aggregating the CP110 (south-bridge)
interrupts into MSIs for the AP806 (north-bridge).


Miquel Raynal (4):
  ata: libahci: Ensure the host interrupt status bits are cleared
  ata: libahci_platform: Support per-port interrupts
  irqchip/irq-mvebu-icu: Move the double SATA ports interrupt hack
  arm64: dts: marvell: armada-8040-clearfog: Drop non-existent SATA port

Thomas Petazzoni (1):
  arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts

 .../arm64/boot/dts/marvell/armada-7040-db.dts |   7 +-
 .../marvell/armada-8040-clearfog-gt-8k.dts    |   5 -
 .../arm64/boot/dts/marvell/armada-8040-db.dts |  14 +-
 arch/arm64/boot/dts/marvell/armada-cp110.dtsi |  16 +-
 drivers/ata/acard-ahci.c                      |   2 +-
 drivers/ata/ahci.c                            |   2 +-
 drivers/ata/ahci.h                            |   3 +-
 drivers/ata/ahci_platform.c                   | 174 ++++++++++++++++++
 drivers/ata/libahci.c                         |   9 +-
 drivers/ata/libahci_platform.c                |  66 +++++--
 drivers/ata/sata_highbank.c                   |   2 +-
 drivers/irqchip/irq-mvebu-icu.c               |  18 --
 12 files changed, 274 insertions(+), 44 deletions(-)

-- 
2.19.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2019-02-22 14:53 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-22 14:53 Miquel Raynal [this message]
2019-02-22 14:53 ` [PATCH 1/5] ata: libahci: Ensure the host interrupt status bits are cleared Miquel Raynal
2019-02-22 14:53   ` Miquel Raynal
2019-02-22 14:53 ` [PATCH 2/5] ata: libahci_platform: Support per-port interrupts Miquel Raynal
2019-02-22 14:53   ` Miquel Raynal
2019-02-22 15:26   ` Hans de Goede
2019-02-22 15:26     ` Hans de Goede
2019-02-22 15:31     ` Miquel Raynal
2019-02-22 15:52       ` Hans de Goede
2019-02-22 15:52         ` Hans de Goede
2019-02-22 16:03         ` Miquel Raynal
2019-02-22 16:10           ` Hans de Goede
2019-02-22 16:10             ` Hans de Goede
2019-02-25 18:08             ` Jens Axboe
2019-02-25 18:08               ` Jens Axboe
2019-02-22 16:41           ` Marc Zyngier
2019-02-22 16:41             ` Marc Zyngier
2019-02-22 14:53 ` [PATCH 3/5] irqchip/irq-mvebu-icu: Move the double SATA ports interrupt hack Miquel Raynal
2019-02-22 14:53   ` Miquel Raynal
2019-02-23 19:19   ` Marc Zyngier
2019-02-23 19:19     ` Marc Zyngier
2019-02-25 15:22     ` Miquel Raynal
2019-02-22 14:53 ` [PATCH 4/5] arm64: dts: marvell: armada-8040-clearfog: Drop non-existent SATA port Miquel Raynal
2019-02-22 14:53   ` Miquel Raynal
2019-02-24  5:29   ` Baruch Siach
2019-02-24  5:29     ` Baruch Siach
2019-02-25 10:58     ` Miquel Raynal
2019-02-25 12:15       ` Baruch Siach
2019-02-25 12:15         ` Baruch Siach
2019-02-25 13:05         ` Russell King - ARM Linux admin
2019-02-25 13:05           ` Russell King - ARM Linux admin
2019-02-27  5:16           ` Baruch Siach
2019-02-27  5:16             ` Baruch Siach
2019-02-22 14:53 ` [PATCH 5/5] arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts Miquel Raynal
2019-02-22 14:53   ` Miquel Raynal
2019-02-22 15:13   ` Russell King - ARM Linux admin
2019-02-22 15:13     ` Russell King - ARM Linux admin
2019-02-22 15:29     ` Miquel Raynal
2019-02-23 19:21   ` Marc Zyngier
2019-02-23 19:21     ` Marc Zyngier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190222145356.23072-1-miquel.raynal@bootlin.com \
    --to=miquel.raynal@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@bootlin.com \
    --cc=axboe@kernel.dk \
    --cc=devicetree@vger.kernel.org \
    --cc=gregory.clement@bootlin.com \
    --cc=hdegoede@redhat.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=nadavh@marvell.com \
    --cc=robh+dt@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.