summaryrefslogtreecommitdiff
path: root/drivers/pci/pci_gt64120.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/pci_gt64120.c')
-rw-r--r--drivers/pci/pci_gt64120.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/pci/pci_gt64120.c b/drivers/pci/pci_gt64120.c
index 153c65b119a..2c2a80eeaa0 100644
--- a/drivers/pci/pci_gt64120.c
+++ b/drivers/pci/pci_gt64120.c
@@ -48,7 +48,7 @@ static int gt_config_access(struct gt64120_pci_controller *gt,
{
unsigned int bus = PCI_BUS(bdf);
unsigned int dev = PCI_DEV(bdf);
- unsigned int devfn = PCI_DEV(bdf) << 3 | PCI_FUNC(bdf);
+ unsigned int func = PCI_FUNC(bdf);
u32 intr;
u32 addr;
u32 val;
@@ -65,10 +65,7 @@ static int gt_config_access(struct gt64120_pci_controller *gt,
/* Clear cause register bits */
writel(~GT_INTRCAUSE_ABORT_BITS, &gt->regs->intrcause);
- addr = GT_PCI0_CFGADDR_CONFIGEN_BIT;
- addr |= bus << GT_PCI0_CFGADDR_BUSNUM_SHF;
- addr |= devfn << GT_PCI0_CFGADDR_FUNCTNUM_SHF;
- addr |= (where / 4) << GT_PCI0_CFGADDR_REGNUM_SHF;
+ addr = PCI_CONF1_ADDRESS(bus, dev, func, where);
/* Setup address */
writel(addr, &gt->regs->pci0_cfgaddr);