]> www.infradead.org Git - nvme.git/commit
PCI: j721e: Fix the value of .linkdown_irq_regfield for J784S4
authorSiddharth Vadapalli <s-vadapalli@ti.com>
Wed, 5 Mar 2025 13:20:18 +0000 (18:50 +0530)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 26 Mar 2025 07:06:12 +0000 (07:06 +0000)
commitd66b5b336245b91681c2042e7eedf63ef7c2f6db
treedf9d719717e504b86c58efc6690ecb4d26a84a8e
parent2014c95afecee3e76ca4a56956a936e23283f05b
PCI: j721e: Fix the value of .linkdown_irq_regfield for J784S4

Commit e49ad667815d ("PCI: j721e: Add TI J784S4 PCIe configuration")
assigned the value of .linkdown_irq_regfield for the J784S4 SoC as the
"LINK_DOWN" macro corresponding to BIT(1), and as a result, the Link
Down interrupts on J784S4 SoC are missed.

According to the Technical Reference Manual and Register Documentation
for the J784S4 SoC[1], BIT(1) corresponds to "ENABLE_SYS_EN_PCIE_DPA_1",
which is not the correct field for the link-state interrupt. Instead, it
is BIT(10) of the "PCIE_INTD_ENABLE_REG_SYS_2" register that corresponds
to the link-state field named as "ENABLE_SYS_EN_PCIE_LINK_STATE".

Thus, set .linkdown_irq_regfield to the macro "J7200_LINK_DOWN", which
expands to BIT(10) and was first defined for the J7200 SoC. Other SoCs
already reuse this macro since it accurately represents the "link-state"
field in their respective "PCIE_INTD_ENABLE_REG_SYS_2" register.

1: https://www.ti.com/lit/zip/spruj52

Fixes: e49ad667815d ("PCI: j721e: Add TI J784S4 PCIe configuration")
Cc: stable@vger.kernel.org
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
[kwilczynski: commit log, add a missing .linkdown_irq_regfield member
set to the J7200_LINK_DOWN macro to struct j7200_pcie_ep_data]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Link: https://lore.kernel.org/r/20250305132018.2260771-1-s-vadapalli@ti.com
drivers/pci/controller/cadence/pci-j721e.c