pci: Fix use of flags in dm_pci_map_bar()
authorAndrew Scull <ascull@google.com>
Thu, 21 Apr 2022 16:11:06 +0000 (16:11 +0000)
committerTom Rini <trini@konsulko.com>
Tue, 3 May 2022 19:50:45 +0000 (15:50 -0400)
The flags parameter of dm_pci_map_bar() is used for PCI region flags
rather than memory mapping flags. Fix the type to match that of the
region flags and stop using the regions flags as memory mapping flags.

Signed-off-by: Andrew Scull <ascull@google.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/pci/pci-uclass.c
include/pci.h

index 33dda00002e4a7e357bd8eee22c91ea04faa2c52..8bbeb62f2ec8b9a577d020b639eb877002cf8e44 100644 (file)
@@ -1533,8 +1533,8 @@ static phys_addr_t dm_pci_map_ea_virt(struct udevice *dev, int ea_off,
        return addr;
 }
 
-static void *dm_pci_map_ea_bar(struct udevice *dev, int bar, int flags,
-                              int ea_off, struct pci_child_plat *pdata)
+static void *dm_pci_map_ea_bar(struct udevice *dev, int bar, int ea_off,
+                              struct pci_child_plat *pdata)
 {
        int ea_cnt, i, entry_size;
        int bar_id = (bar - PCI_BASE_ADDRESS_0) >> 2;
@@ -1577,13 +1577,13 @@ static void *dm_pci_map_ea_bar(struct udevice *dev, int bar, int flags,
                        addr += dm_pci_map_ea_virt(dev, ea_off, pdata);
 
                /* size ignored for now */
-               return map_physmem(addr, 0, flags);
+               return map_physmem(addr, 0, MAP_NOCACHE);
        }
 
        return 0;
 }
 
-void *dm_pci_map_bar(struct udevice *dev, int bar, int flags)
+void *dm_pci_map_bar(struct udevice *dev, int bar, unsigned long flags)
 {
        struct pci_child_plat *pdata = dev_get_parent_plat(dev);
        struct udevice *udev = dev;
@@ -1608,7 +1608,7 @@ void *dm_pci_map_bar(struct udevice *dev, int bar, int flags)
         */
        ea_off = dm_pci_find_capability(udev, PCI_CAP_ID_EA);
        if (ea_off)
-               return dm_pci_map_ea_bar(udev, bar, flags, ea_off, pdata);
+               return dm_pci_map_ea_bar(udev, bar, ea_off, pdata);
 
        /* read BAR address */
        dm_pci_read_config32(udev, bar, &bar_response);
index 5dbdcb0672a5e712da60699761f6e6151f42b6ec..3d0356b8fd8c25988b0456643ca07a05629f7e10 100644 (file)
@@ -1349,7 +1349,7 @@ pci_addr_t dm_pci_phys_to_bus(struct udevice *dev, phys_addr_t addr,
  * @flags:     Flags for the region type (PCI_REGION_...)
  * @return: pointer to the virtual address to use or 0 on error
  */
-void *dm_pci_map_bar(struct udevice *dev, int bar, int flags);
+void *dm_pci_map_bar(struct udevice *dev, int bar, unsigned long flags);
 
 /**
  * dm_pci_find_next_capability() - find a capability starting from an offset