ahci: enable io/mem/dma
authorKevin O'Connor <kevin@koconnor.net>
Sun, 12 Dec 2010 19:01:47 +0000 (14:01 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 12 Dec 2010 19:01:47 +0000 (14:01 -0500)
Make sure IO, MMIO and DMA are enabled in pci config space
before using the device.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
src/ahci.c

index ee50e8fe88877ac31e6987161a846a03054cb543..a03d8be43175465f5bb61bbb09b3db5221cbe464 100644 (file)
@@ -447,6 +447,9 @@ ahci_init_controller(int bdf)
     dprintf(1, "AHCI controller at %02x.%x, iobase %x, irq %d\n",
             bdf >> 3, bdf & 7, ctrl->iobase, ctrl->irq);
 
+    pci_config_maskw(bdf, PCI_COMMAND, 0,
+                     PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
+
     val = ahci_ctrl_readl(ctrl, HOST_CTL);
     ahci_ctrl_writel(ctrl, HOST_CTL, val | HOST_CTL_AHCI_EN);