Message ID | 20240429104633.11060-8-ilpo.jarvinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/10] ARM: orion5x: Rename PCI_CONF_{REG,FUNC}() out of the way | expand |
On Mon, Apr 29, 2024 at 12:47 PM Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> wrote: > Replace the old PCI_CONF1{,_EXT}_ADDRESS() helpers used to calculate > PCI Configuration Space Type 1 addresses with the new > pci_conf1{,_ext}_offset() helpers that are more generic and more widely > available. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
Hi, On Mon, Apr 29, 2024 at 12:47 PM Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> wrote: > > Replace the old PCI_CONF1{,_EXT}_ADDRESS() helpers used to calculate > PCI Configuration Space Type 1 addresses with the new > pci_conf1{,_ext}_offset() helpers that are more generic and more widely > available. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > --- > drivers/pci/controller/pci-ftpci100.c | 6 ++---- > drivers/pci/controller/pci-ixp4xx.c | 5 ++--- > drivers/pci/controller/pcie-mt7621.c | 7 +++---- > drivers/pci/pci.h | 8 -------- > 4 files changed, 7 insertions(+), 19 deletions(-) > > diff --git a/drivers/pci/controller/pci-ftpci100.c b/drivers/pci/controller/pci-ftpci100.c > index ffdeed25e961..a8d0217a0b94 100644 > --- a/drivers/pci/controller/pci-ftpci100.c > +++ b/drivers/pci/controller/pci-ftpci100.c > @@ -182,8 +182,7 @@ static int faraday_raw_pci_read_config(struct faraday_pci *p, int bus_number, > unsigned int fn, int config, int size, > u32 *value) > { > - writel(PCI_CONF1_ADDRESS(bus_number, PCI_SLOT(fn), > - PCI_FUNC(fn), config), > + writel(pci_conf1_addr(bus_number, fn, config, true), > p->base + FTPCI_CONFIG); > > *value = readl(p->base + FTPCI_DATA); > @@ -214,8 +213,7 @@ static int faraday_raw_pci_write_config(struct faraday_pci *p, int bus_number, > { > int ret = PCIBIOS_SUCCESSFUL; > > - writel(PCI_CONF1_ADDRESS(bus_number, PCI_SLOT(fn), > - PCI_FUNC(fn), config), > + writel(pci_conf1_addr(bus_number, fn, config, true), > p->base + FTPCI_CONFIG); > > switch (size) { > diff --git a/drivers/pci/controller/pci-ixp4xx.c b/drivers/pci/controller/pci-ixp4xx.c > index ec0125344ca1..fd52f4a3ef31 100644 > --- a/drivers/pci/controller/pci-ixp4xx.c > +++ b/drivers/pci/controller/pci-ixp4xx.c > @@ -192,9 +192,8 @@ static u32 ixp4xx_config_addr(u8 bus_num, u16 devfn, int where) > BIT(32 - PCI_SLOT(devfn)); > } else { > /* type 1 */ > - return (PCI_CONF1_ADDRESS(bus_num, PCI_SLOT(devfn), > - PCI_FUNC(devfn), where) & > - ~PCI_CONF1_ENABLE) | PCI_CONF1_TRANSACTION; > + return pci_conf1_addr(bus_num, devfn, where, false) | > + PCI_CONF1_TRANSACTION; > } > } > > diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c > index 79e225edb42a..2b2d9828a910 100644 > --- a/drivers/pci/controller/pcie-mt7621.c > +++ b/drivers/pci/controller/pcie-mt7621.c > @@ -127,8 +127,7 @@ static void __iomem *mt7621_pcie_map_bus(struct pci_bus *bus, > unsigned int devfn, int where) > { > struct mt7621_pcie *pcie = bus->sysdata; > - u32 address = PCI_CONF1_EXT_ADDRESS(bus->number, PCI_SLOT(devfn), > - PCI_FUNC(devfn), where); > + u32 address = pci_conf1_ext_addr(bus->number, devfn, where, true); > > writel_relaxed(address, pcie->base + RALINK_PCI_CONFIG_ADDR); > > @@ -143,7 +142,7 @@ static struct pci_ops mt7621_pcie_ops = { > > static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg) > { > - u32 address = PCI_CONF1_EXT_ADDRESS(0, dev, 0, reg); > + u32 address = pci_conf1_ext_addr(0, PCI_DEVFN(dev, 0), reg, true); > > pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR); > return pcie_read(pcie, RALINK_PCI_CONFIG_DATA); > @@ -152,7 +151,7 @@ static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg) > static void write_config(struct mt7621_pcie *pcie, unsigned int dev, > u32 reg, u32 val) > { > - u32 address = PCI_CONF1_EXT_ADDRESS(0, dev, 0, reg); > + u32 address = pci_conf1_ext_addr(0, PCI_DEVFN(dev, 0), reg, true); > > pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR); > pcie_write(pcie, val, RALINK_PCI_CONFIG_DATA); > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index cf0530a60105..fdf9624b0b12 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -833,12 +833,4 @@ struct pci_devres { > > struct pci_devres *find_pci_dr(struct pci_dev *pdev); > > -#define PCI_CONF1_ADDRESS(bus, dev, func, reg) \ > - (PCI_CONF1_ENABLE | \ > - pci_conf1_addr(bus, PCI_DEVFN(dev, func), reg & ~0x3U)) > - > -#define PCI_CONF1_EXT_ADDRESS(bus, dev, func, reg) \ > - (PCI_CONF1_ENABLE | \ > - pci_conf1_ext_addr(bus, PCI_DEVFN(dev, func), reg & ~0x3U)) > - > #endif /* DRIVERS_PCI_H */ > -- > 2.39.2 > I have tested in a GnuBee v1 board based on mt7621 and all PCI enumeration and so on is working properly. Hence, for MT7621: Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Tested-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Thanks, Sergio Paracuellos
diff --git a/drivers/pci/controller/pci-ftpci100.c b/drivers/pci/controller/pci-ftpci100.c index ffdeed25e961..a8d0217a0b94 100644 --- a/drivers/pci/controller/pci-ftpci100.c +++ b/drivers/pci/controller/pci-ftpci100.c @@ -182,8 +182,7 @@ static int faraday_raw_pci_read_config(struct faraday_pci *p, int bus_number, unsigned int fn, int config, int size, u32 *value) { - writel(PCI_CONF1_ADDRESS(bus_number, PCI_SLOT(fn), - PCI_FUNC(fn), config), + writel(pci_conf1_addr(bus_number, fn, config, true), p->base + FTPCI_CONFIG); *value = readl(p->base + FTPCI_DATA); @@ -214,8 +213,7 @@ static int faraday_raw_pci_write_config(struct faraday_pci *p, int bus_number, { int ret = PCIBIOS_SUCCESSFUL; - writel(PCI_CONF1_ADDRESS(bus_number, PCI_SLOT(fn), - PCI_FUNC(fn), config), + writel(pci_conf1_addr(bus_number, fn, config, true), p->base + FTPCI_CONFIG); switch (size) { diff --git a/drivers/pci/controller/pci-ixp4xx.c b/drivers/pci/controller/pci-ixp4xx.c index ec0125344ca1..fd52f4a3ef31 100644 --- a/drivers/pci/controller/pci-ixp4xx.c +++ b/drivers/pci/controller/pci-ixp4xx.c @@ -192,9 +192,8 @@ static u32 ixp4xx_config_addr(u8 bus_num, u16 devfn, int where) BIT(32 - PCI_SLOT(devfn)); } else { /* type 1 */ - return (PCI_CONF1_ADDRESS(bus_num, PCI_SLOT(devfn), - PCI_FUNC(devfn), where) & - ~PCI_CONF1_ENABLE) | PCI_CONF1_TRANSACTION; + return pci_conf1_addr(bus_num, devfn, where, false) | + PCI_CONF1_TRANSACTION; } } diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c index 79e225edb42a..2b2d9828a910 100644 --- a/drivers/pci/controller/pcie-mt7621.c +++ b/drivers/pci/controller/pcie-mt7621.c @@ -127,8 +127,7 @@ static void __iomem *mt7621_pcie_map_bus(struct pci_bus *bus, unsigned int devfn, int where) { struct mt7621_pcie *pcie = bus->sysdata; - u32 address = PCI_CONF1_EXT_ADDRESS(bus->number, PCI_SLOT(devfn), - PCI_FUNC(devfn), where); + u32 address = pci_conf1_ext_addr(bus->number, devfn, where, true); writel_relaxed(address, pcie->base + RALINK_PCI_CONFIG_ADDR); @@ -143,7 +142,7 @@ static struct pci_ops mt7621_pcie_ops = { static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg) { - u32 address = PCI_CONF1_EXT_ADDRESS(0, dev, 0, reg); + u32 address = pci_conf1_ext_addr(0, PCI_DEVFN(dev, 0), reg, true); pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR); return pcie_read(pcie, RALINK_PCI_CONFIG_DATA); @@ -152,7 +151,7 @@ static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg) static void write_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg, u32 val) { - u32 address = PCI_CONF1_EXT_ADDRESS(0, dev, 0, reg); + u32 address = pci_conf1_ext_addr(0, PCI_DEVFN(dev, 0), reg, true); pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR); pcie_write(pcie, val, RALINK_PCI_CONFIG_DATA); diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index cf0530a60105..fdf9624b0b12 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -833,12 +833,4 @@ struct pci_devres { struct pci_devres *find_pci_dr(struct pci_dev *pdev); -#define PCI_CONF1_ADDRESS(bus, dev, func, reg) \ - (PCI_CONF1_ENABLE | \ - pci_conf1_addr(bus, PCI_DEVFN(dev, func), reg & ~0x3U)) - -#define PCI_CONF1_EXT_ADDRESS(bus, dev, func, reg) \ - (PCI_CONF1_ENABLE | \ - pci_conf1_ext_addr(bus, PCI_DEVFN(dev, func), reg & ~0x3U)) - #endif /* DRIVERS_PCI_H */
Replace the old PCI_CONF1{,_EXT}_ADDRESS() helpers used to calculate PCI Configuration Space Type 1 addresses with the new pci_conf1{,_ext}_offset() helpers that are more generic and more widely available. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> --- drivers/pci/controller/pci-ftpci100.c | 6 ++---- drivers/pci/controller/pci-ixp4xx.c | 5 ++--- drivers/pci/controller/pcie-mt7621.c | 7 +++---- drivers/pci/pci.h | 8 -------- 4 files changed, 7 insertions(+), 19 deletions(-)