|
@@ -169,6 +169,7 @@ static int gen_pci_parse_map_cfg_windows(struct gen_pci *pci)
|
|
|
struct resource *bus_range;
|
|
|
struct device *dev = pci->host.dev.parent;
|
|
|
struct device_node *np = dev->of_node;
|
|
|
+ u32 sz = 1 << pci->cfg.ops->bus_shift;
|
|
|
|
|
|
err = of_address_to_resource(np, 0, &pci->cfg.res);
|
|
|
if (err) {
|
|
@@ -196,10 +197,9 @@ static int gen_pci_parse_map_cfg_windows(struct gen_pci *pci)
|
|
|
bus_range = pci->cfg.bus_range;
|
|
|
for (busn = bus_range->start; busn <= bus_range->end; ++busn) {
|
|
|
u32 idx = busn - bus_range->start;
|
|
|
- u32 sz = 1 << pci->cfg.ops->bus_shift;
|
|
|
|
|
|
pci->cfg.win[idx] = devm_ioremap(dev,
|
|
|
- pci->cfg.res.start + busn * sz,
|
|
|
+ pci->cfg.res.start + idx * sz,
|
|
|
sz);
|
|
|
if (!pci->cfg.win[idx])
|
|
|
return -ENOMEM;
|