Message ID | 1435582696-30068-6-git-send-email-sr@denx.de |
---|---|
State | Accepted |
Delegated to: | Stefan Roese |
Headers | show |
On 29 June 2015 at 06:58, Stefan Roese <sr@denx.de> wrote: > This patch changes the initialization of the AHCI controller to not > enable the default interrupts (DEF_PORT_IRQ). As interrupts are > not used in U-Boot in general, this should not break the common AHCI > driver operation. > > This change is needed to support the Marvell Armada 38x AHCI > controller. With interrupts enabled, this results in timeouts in > ahci_device_data_io(). Not enabling these interrupts fixes this > problem and the common AHCI driver works fine. > > Signed-off-by: Stefan Roese <sr@denx.de> > Cc: Tom Rini <trini@konsulko.com> > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Simon Glass <sjg@chromium.org> > Cc: Luka Perkov <luka.perkov@sartura.hr> > --- > > drivers/block/ahci.c | 3 --- > 1 file changed, 3 deletions(-) Reviewed-by: Simon Glass <sjg@chromium.org> > > diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c > index 4fb846a..9bab0fc 100644 > --- a/drivers/block/ahci.c > +++ b/drivers/block/ahci.c > @@ -299,9 +299,6 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) > > writel(1 << i, mmio + HOST_IRQ_STAT); > > - /* set irq mask (enables interrupts) */ > - writel(DEF_PORT_IRQ, port_mmio + PORT_IRQ_MASK); > - > /* register linkup ports */ > tmp = readl(port_mmio + PORT_SCR_STAT); > debug("SATA port %d status: 0x%x\n", i, tmp); > -- > 2.4.5 >
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index 4fb846a..9bab0fc 100644 --- a/drivers/block/ahci.c +++ b/drivers/block/ahci.c @@ -299,9 +299,6 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) writel(1 << i, mmio + HOST_IRQ_STAT); - /* set irq mask (enables interrupts) */ - writel(DEF_PORT_IRQ, port_mmio + PORT_IRQ_MASK); - /* register linkup ports */ tmp = readl(port_mmio + PORT_SCR_STAT); debug("SATA port %d status: 0x%x\n", i, tmp);
This patch changes the initialization of the AHCI controller to not enable the default interrupts (DEF_PORT_IRQ). As interrupts are not used in U-Boot in general, this should not break the common AHCI driver operation. This change is needed to support the Marvell Armada 38x AHCI controller. With interrupts enabled, this results in timeouts in ahci_device_data_io(). Not enabling these interrupts fixes this problem and the common AHCI driver works fine. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Simon Glass <sjg@chromium.org> Cc: Luka Perkov <luka.perkov@sartura.hr> --- drivers/block/ahci.c | 3 --- 1 file changed, 3 deletions(-)