[U-Boot] [PATCH v1 5/9] block: ahci: Don't enable port interrupts

Stefan Roese sr at denx.de
Mon Jun 29 14:58:12 CEST 2015


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 at denx.de>
Cc: Tom Rini <trini at konsulko.com>
Cc: Hans de Goede <hdegoede at redhat.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Luka Perkov <luka.perkov at sartura.hr>
---

 drivers/block/ahci.c | 3 ---
 1 file changed, 3 deletions(-)

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



More information about the U-Boot mailing list