summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-01-13 22:16:58 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2019-01-16 08:36:18 +0100
commitfdb205663188271e2245d189f43761d3236642c2 (patch)
tree7618a1d9ab59ef1e2c475bb917af1001f5966aaf /drivers/pci
parent7225556b67136cf59deaaf2a7dafa469550e754e (diff)
downloadbarebox-fdb205663188271e2245d189f43761d3236642c2.tar.gz
barebox-fdb205663188271e2245d189f43761d3236642c2.tar.xz
PCI: Store and reuse BAR offsets
Save and reuse BAR offsets in dedicated constants instead of repeating the same expression multiple times. No functional change intended. Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/pci.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 6d866dc30a..265c416085 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -169,16 +169,18 @@ static void setup_device(struct pci_dev *dev, int max_bar)
cmd & ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY));
for (bar = 0; bar < max_bar; bar++) {
+ const int pci_base_address_0 = PCI_BASE_ADDRESS_0 + bar * 4;
+ const int pci_base_address_1 = PCI_BASE_ADDRESS_1 + bar * 4;
resource_size_t *last_addr;
u32 orig, mask, size;
unsigned long flags;
const char *kind;
int busres;
- pci_read_config_dword(dev, PCI_BASE_ADDRESS_0 + bar * 4, &orig);
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0 + bar * 4, 0xfffffffe);
- pci_read_config_dword(dev, PCI_BASE_ADDRESS_0 + bar * 4, &mask);
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0 + bar * 4, orig);
+ pci_read_config_dword(dev, pci_base_address_0, &orig);
+ pci_write_config_dword(dev, pci_base_address_0, 0xfffffffe);
+ pci_read_config_dword(dev, pci_base_address_0, &mask);
+ pci_write_config_dword(dev, pci_base_address_0, orig);
if (mask == 0 || mask == 0xffffffff) {
pr_debug("pbar%d set bad mask\n", bar);
@@ -221,8 +223,7 @@ static void setup_device(struct pci_dev *dev, int max_bar)
}
*last_addr = ALIGN(*last_addr, size);
- pci_write_config_dword(dev, PCI_BASE_ADDRESS_0 + bar * 4,
- *last_addr);
+ pci_write_config_dword(dev, pci_base_address_0, *last_addr);
dev->resource[bar].flags = flags;
dev->resource[bar].start = *last_addr;
dev->resource[bar].end = dev->resource[bar].start + size - 1;
@@ -233,8 +234,7 @@ static void setup_device(struct pci_dev *dev, int max_bar)
if (mask & PCI_BASE_ADDRESS_MEM_TYPE_64) {
dev->resource[bar].flags |= IORESOURCE_MEM_64;
- pci_write_config_dword(dev,
- PCI_BASE_ADDRESS_1 + bar * 4, 0);
+ pci_write_config_dword(dev, pci_base_address_1, 0);
bar++;
}
}