]> xenbits.xensource.com Git - seabios.git/commitdiff
lsi-scsi: Convert to new PCI BAR helper functions
authorKevin O'Connor <kevin@koconnor.net>
Wed, 3 Feb 2016 03:18:54 +0000 (22:18 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Wed, 3 Feb 2016 04:16:40 +0000 (23:16 -0500)
Use the pci_enable_x() functions.

The lsi-scsi controller code will now explicitly set PCI_COMMAND_IO
instead of assuming it has already been enabled.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/hw/lsi-scsi.c

index ad3352886a53f978b99be0c7388a1d70eb77276b..2629b5f1a2da2172eb6880a8ee9bc8758287025d 100644 (file)
@@ -172,15 +172,14 @@ lsi_scsi_scan_target(struct pci_device *pci, u32 iobase, u8 target)
 static void
 init_lsi_scsi(struct pci_device *pci)
 {
-    u16 bdf = pci->bdf;
-    u32 iobase = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0)
-        & PCI_BASE_ADDRESS_IO_MASK;
-
-    pci_config_maskw(bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER);
+    u32 iobase = pci_enable_iobar(pci, PCI_BASE_ADDRESS_0);
+    if (!iobase)
+        return;
+    pci_enable_busmaster(pci);
 
     dprintf(1, "found lsi53c895a at %02x:%02x.%x, io @ %x\n",
-            pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf),
-            pci_bdf_to_fn(bdf), iobase);
+            pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf),
+            pci_bdf_to_fn(pci->bdf), iobase);
 
     // reset
     outb(LSI_ISTAT0_SRST, iobase + LSI_REG_ISTAT0);