Add AHCI Power ON + ICC_ACTIVE into port setup code

Windows appears to put the AHCI port into 'Partial power management state'
during reboot, the command puts it back into 'active state'.

AHCI/1: link down 0x00000231 (SCR STAT register)
 ->
AHCI/1: link up 0x00000133

Signed-off-by: Andrej Krutak andrej.krutak@sysgo.com
Message-ID: <1531455205.6484.1704814463638@ox.sysgo.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
diff --git a/src/hw/ahci.c b/src/hw/ahci.c
index 3fa845a..4f0f640 100644
--- a/src/hw/ahci.c
+++ b/src/hw/ahci.c
@@ -444,7 +444,8 @@
     ahci_port_writel(ctrl, pnr, PORT_CMD, cmd);
 
     /* spin up */
-    cmd |= PORT_CMD_SPIN_UP;
+    cmd &= ~PORT_CMD_ICC_MASK;
+    cmd |= PORT_CMD_SPIN_UP | PORT_CMD_POWER_ON | PORT_CMD_ICC_ACTIVE;
     ahci_port_writel(ctrl, pnr, PORT_CMD, cmd);
     u32 end = timer_calc(AHCI_LINK_TIMEOUT);
     for (;;) {