[PATCH 4/7] irqchip/irq-mvebu-icu: Remove the double SATA ports interrupt hack
Hans de Goede
hdegoede at redhat.com
Tue Oct 27 10:24:50 EDT 2020
Hi,
On 10/7/20 5:45 PM, sven.auhagen at voleatech.de wrote:
> From: Miquel Raynal <miquel.raynal at bootlin.com>
>
> When writing the driver, a hack was introduced to configure both SATA
> interrupts regardless of the port in use to overcome a limitation in
> the SATA core. Now that this limitation has been addressed and the
> hack moved in the (historically) responsible SATA driver,
> ahci_{platform,mvebu}.c, let's clean this driver section.
>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> Acked-by: Marc Zyngier <marc.zyngier at arm.com>
Patch looks good to me:
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Regards,
Hans
> ---
> drivers/irqchip/irq-mvebu-icu.c | 18 ------------------
> 1 file changed, 18 deletions(-)
>
> diff --git a/drivers/irqchip/irq-mvebu-icu.c b/drivers/irqchip/irq-mvebu-icu.c
> index 91adf771f185..3e29f8d5b33b 100644
> --- a/drivers/irqchip/irq-mvebu-icu.c
> +++ b/drivers/irqchip/irq-mvebu-icu.c
> @@ -38,8 +38,6 @@
>
> /* ICU definitions */
> #define ICU_MAX_IRQS 207
> -#define ICU_SATA0_ICU_ID 109
> -#define ICU_SATA1_ICU_ID 107
>
> struct mvebu_icu_subset_data {
> unsigned int icu_group;
> @@ -111,22 +109,6 @@ static void mvebu_icu_write_msg(struct msi_desc *desc, struct msi_msg *msg)
> }
>
> writel_relaxed(icu_int, icu->base + ICU_INT_CFG(d->hwirq));
> -
> - /*
> - * The SATA unit has 2 ports, and a dedicated ICU entry per
> - * port. The ahci sata driver supports only one irq interrupt
> - * per SATA unit. To solve this conflict, we configure the 2
> - * SATA wired interrupts in the south bridge into 1 GIC
> - * interrupt in the north bridge. Even if only a single port
> - * is enabled, if sata node is enabled, both interrupts are
> - * configured (regardless of which port is actually in use).
> - */
> - if (d->hwirq == ICU_SATA0_ICU_ID || d->hwirq == ICU_SATA1_ICU_ID) {
> - writel_relaxed(icu_int,
> - icu->base + ICU_INT_CFG(ICU_SATA0_ICU_ID));
> - writel_relaxed(icu_int,
> - icu->base + ICU_INT_CFG(ICU_SATA1_ICU_ID));
> - }
> }
>
> static struct irq_chip mvebu_icu_nsr_chip = {
>
More information about the linux-arm-kernel
mailing list