aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-02-02 22:17:01 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-02-02 23:16:40 -0500
commitf51388da734e39af1ac2ef9a18b5cd3e30eb15b1 (patch)
treef3d3f84d910f22ea59d1a1655884cabc59ba0919
parent2bb75639e38b9b0c9d983daf74f3360ade970ee0 (diff)
downloadseabios-hppa-f51388da734e39af1ac2ef9a18b5cd3e30eb15b1.zip
seabios-hppa-f51388da734e39af1ac2ef9a18b5cd3e30eb15b1.tar.gz
seabios-hppa-f51388da734e39af1ac2ef9a18b5cd3e30eb15b1.tar.bz2
esp-scsi: Convert to new PCI BAR helper functions
Use the pci_enable_x() functions. The esp-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>
-rw-r--r--src/hw/esp-scsi.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/hw/esp-scsi.c b/src/hw/esp-scsi.c
index d4e47e3..cf2cc11 100644
--- a/src/hw/esp-scsi.c
+++ b/src/hw/esp-scsi.c
@@ -192,15 +192,14 @@ esp_scsi_scan_target(struct pci_device *pci, u32 iobase, u8 target)
static void
init_esp_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;
+ u32 iobase = pci_enable_iobar(pci, PCI_BASE_ADDRESS_0);
+ if (!iobase)
+ return;
+ pci_enable_busmaster(pci);
dprintf(1, "found esp at %02x:%02x.%x, io @ %x\n",
- pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf),
- pci_bdf_to_fn(bdf), iobase);
-
- pci_config_maskw(bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER);
+ pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf),
+ pci_bdf_to_fn(pci->bdf), iobase);
// reset
outb(ESP_CMD_RESET, iobase + ESP_CMD);