From: Christian Gmeiner Date: Tue, 11 Apr 2023 15:07:02 +0000 (+0200) Subject: ata: pci: enable bus mastering X-Git-Url: http://git.dujemihanovic.xyz/html/static/%7B%7B%20.RelPermalink%20%7D%7D?a=commitdiff_plain;h=cc6259832a11093f5c6dd0183263de26eb49d8b1;p=u-boot.git ata: pci: enable bus mastering The non DM code path already would enable pci bus mastering. Do the same for the DM code path. Fixes AHCI problems I am seeing on an Intel Apollolake device. Signed-off-by: Christian Gmeiner Reviewed-by: Bin Meng [trini: Use ahci_dev not dev in the calls] Signed-off-by: Tom Rini --- diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 6998b82aa5..cb2c648a91 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1152,7 +1152,12 @@ int ahci_probe_scsi(struct udevice *ahci_dev, ulong base) int ahci_probe_scsi_pci(struct udevice *ahci_dev) { ulong base; - u16 vendor, device; + u16 vendor, device, cmd; + + /* Enable bus mastering */ + dm_pci_read_config16(ahci_dev, PCI_COMMAND, &cmd); + cmd |= PCI_COMMAND_MASTER; + dm_pci_write_config16(ahci_dev, PCI_COMMAND, cmd); base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5, 0, 0, PCI_REGION_TYPE, PCI_REGION_MEM);