2021-03-17 13:17:26

by Kishon Vijay Abraham I

[permalink] [raw]
Subject: [PATCH] PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c

Both TI's AM65x (K3) and TI's K2 PCIe driver are implemented in
pci-keystone. However Only K2 PCIe driver should use it's own pci_ops
for configuration space accesses. But commit 10a797c6e54a
("PCI: dwc: keystone: Use pci_ops for config space accessors") used
custom pci_ops for both AM65x and K2. This breaks configuration space
access for AM65x platform. Fix it here.

Fixes: 10a797c6e54a ("PCI: dwc: keystone: Use pci_ops for config space accessors")
Signed-off-by: Kishon Vijay Abraham I <[email protected]>
Cc: <[email protected]> # v5.10
---
drivers/pci/controller/dwc/pci-keystone.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c
index 53aa35cb3a49..a59ecbec601f 100644
--- a/drivers/pci/controller/dwc/pci-keystone.c
+++ b/drivers/pci/controller/dwc/pci-keystone.c
@@ -798,7 +798,8 @@ static int __init ks_pcie_host_init(struct pcie_port *pp)
int ret;

pp->bridge->ops = &ks_pcie_ops;
- pp->bridge->child_ops = &ks_child_pcie_ops;
+ if (!ks_pcie->is_am6)
+ pp->bridge->child_ops = &ks_child_pcie_ops;

ret = ks_pcie_config_legacy_irq(ks_pcie);
if (ret)
--
2.17.1


2021-03-19 04:48:27

by Krzysztof Wilczyński

[permalink] [raw]
Subject: Re: [PATCH] PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c

Hi Kishon,

Thank you for the fix!

[...]
> @@ -798,7 +798,8 @@ static int __init ks_pcie_host_init(struct pcie_port *pp)
> int ret;
>
> pp->bridge->ops = &ks_pcie_ops;
> - pp->bridge->child_ops = &ks_child_pcie_ops;
> + if (!ks_pcie->is_am6)
> + pp->bridge->child_ops = &ks_child_pcie_ops;
>
> ret = ks_pcie_config_legacy_irq(ks_pcie);
> if (ret)
[...]

Reviewed-by: Krzysztof Wilczyński <[email protected]>

Krzysztof

2021-03-22 14:51:19

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c

On Wed, 17 Mar 2021 18:45:18 +0530, Kishon Vijay Abraham I wrote:
> Both TI's AM65x (K3) and TI's K2 PCIe driver are implemented in
> pci-keystone. However Only K2 PCIe driver should use it's own pci_ops
> for configuration space accesses. But commit 10a797c6e54a
> ("PCI: dwc: keystone: Use pci_ops for config space accessors") used
> custom pci_ops for both AM65x and K2. This breaks configuration space
> access for AM65x platform. Fix it here.

Applied to pci/dwc, thanks!

[1/1] PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c
https://git.kernel.org/lpieralisi/pci/c/3d0b2a3a87

Thanks,
Lorenzo