Эх сурвалжийг харах

x86: mmc: Fix mapping of BAR memory

Use dm_pci_map_bar function for BAR mapping. This has the advantage
of clearing BAR flags and and only accepting mapped memory.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Bernhard Messerklinger 7 жил өмнө
parent
commit
0851f344d7

+ 2 - 3
drivers/mmc/pci_mmc.c

@@ -29,11 +29,10 @@ static int pci_mmc_probe(struct udevice *dev)
 	struct pci_mmc_plat *plat = dev_get_platdata(dev);
 	struct pci_mmc_plat *plat = dev_get_platdata(dev);
 	struct pci_mmc_priv *priv = dev_get_priv(dev);
 	struct pci_mmc_priv *priv = dev_get_priv(dev);
 	struct sdhci_host *host = &priv->host;
 	struct sdhci_host *host = &priv->host;
-	u32 ioaddr;
 	int ret;
 	int ret;
 
 
-	dm_pci_read_config32(dev, PCI_BASE_ADDRESS_0, &ioaddr);
-	host->ioaddr = map_sysmem(ioaddr, 0);
+	host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
+					      PCI_REGION_MEM);
 	host->name = dev->name;
 	host->name = dev->name;
 	ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
 	ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
 	if (ret)
 	if (ret)