aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZeh, Werner <werner.zeh@siemens.com>2017-06-23 07:18:04 +0000
committerKevin O'Connor <kevin@koconnor.net>2017-07-02 12:58:52 -0400
commitb3a9f27fb1f63e9b6bf5ca424d31e23bd5b4c2f0 (patch)
treef75be41ed72e652d336ddd10bac76076b5d3e31a
parent7759d3a5be049eb8d0b4f7c6b1f1a0ba5e871cf3 (diff)
downloadseabios-b3a9f27fb1f63e9b6bf5ca424d31e23bd5b4c2f0.tar.gz
ahci: Disable Native Command Queueing
The AHCI driver currently sets the NCQ bit for every command that is issued to the SATA drive. This is not needed as there is always only one command active at a time and in turn can lead to a hanging AHCI controller (true for Marvel 88SE9170). The following patch disables the usage of NCQ completely. With this patch the Marvel AHCI controller works just fine without any issues. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/hw/ahci.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/hw/ahci.c b/src/hw/ahci.c
index 2eee192b..b9043b9f 100644
--- a/src/hw/ahci.c
+++ b/src/hw/ahci.c
@@ -130,7 +130,6 @@ static int ahci_command(struct ahci_port_s *port_gf, int iswrite, int isatapi,
intbits = ahci_port_readl(ctrl, pnr, PORT_IRQ_STAT);
if (intbits)
ahci_port_writel(ctrl, pnr, PORT_IRQ_STAT, intbits);
- ahci_port_writel(ctrl, pnr, PORT_SCR_ACT, 1);
ahci_port_writel(ctrl, pnr, PORT_CMD_ISSUE, 1);
u32 end = timer_calc(AHCI_REQUEST_TIMEOUT);