Subject should say something about why this change is needed, not just translate the C code to English.
On Wed, Jul 24, 2024 at 12:20:48PM +0530, Siddharth Vadapalli wrote:
Since the configuration of Legacy Interrupts (INTx) is not supported, set
I assume you mean J721E doesn't support INTx?
the .map_irq and .swizzle_irq callbacks to NULL. This fixes the error: of_irq_parse_pci: failed with rc=-22
I guess this happens because devm_of_pci_bridge_init() initializes .map_irq and .swizzle_irq unconditionally?
I'm not sure the default assumption should be that a host bridge supports INTx.
Maybe .map_irq and .swizzle_irq should only be set when we discover some information about INTx routing, e.g., an ACPI _PRT or the corresponding DT properties.
due to the absence of Legacy Interrupts in the device-tree.
Fixes: f3e25911a430 ("PCI: j721e: Add TI J721E PCIe driver") Reported-by: Andrew Halaney ahalaney@redhat.com Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com
Hello,
This patch is based on commit 786c8248dbd3 Merge tag 'perf-tools-fixes-for-v6.11-2024-07-23' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools of Mainline Linux.
Patch has been tested on J784S4-EVM and J721e-EVM, both of which have the PCIe Controller configured by the pci-j721e.c driver.
Regards, Siddharth.
drivers/pci/controller/cadence/pci-j721e.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c index 85718246016b..5372218849a8 100644 --- a/drivers/pci/controller/cadence/pci-j721e.c +++ b/drivers/pci/controller/cadence/pci-j721e.c @@ -417,6 +417,10 @@ static int j721e_pcie_probe(struct platform_device *pdev) if (!bridge) return -ENOMEM;
/* Legacy interrupts are not supported */
Say "INTx" explicitly here instead of assuming "legacy" == "INTx".
bridge->map_irq = NULL;
bridge->swizzle_irq = NULL;
- if (!data->byte_access_allowed) bridge->ops = &cdns_ti_pcie_host_ops; rc = pci_host_bridge_priv(bridge);
-- 2.40.1