linux-stable/drivers/pci/controller
Manivannan Sadhasivam 776edaebd6 PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers
[ Upstream commit a07d2497ed ]

The DWC core driver exposes the write_dbi2() callback for writing to the
DBI2 registers in a vendor-specific way.

On the Qcom EP platforms, the DBI_CS2 bit in the ELBI region needs to be
asserted before writing to any DBI2 registers and deasserted once done.

So, let's implement the callback for the Qcom PCIe EP driver so that the
DBI2 writes are correctly handled in the hardware.

Without this callback, the DBI2 register writes like BAR size won't go
through and as a result, the default BAR size is set for all BARs.

[kwilczynski: commit log, renamed function to match the DWC convention]
Fixes: f55fee56a6 ("PCI: qcom-ep: Add Qualcomm PCIe Endpoint controller driver")
Suggested-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/linux-pci/20231025130029.74693-2-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Cc: stable@vger.kernel.org # 5.16+
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 17:15:09 +00:00
..
cadence Merge branch 'pci/controller/remove-void-callbacks' 2023-06-26 13:00:00 -05:00
dwc PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers 2023-11-28 17:15:09 +00:00
mobiveil PCI: mobiveil: Sort Kconfig entries by vendor 2023-04-20 16:18:05 -05:00
Kconfig Revert "PCI: mvebu: Mark driver as BROKEN" 2023-08-04 16:30:21 -05:00
Makefile
pci-aardvark.c PCI: aardvark: Convert to platform remove callback returning void 2023-06-24 14:10:09 +00:00
pci-ftpci100.c PCI: ftpci100: Release the clock resources 2023-05-29 10:20:13 +02:00
pci-host-common.c
pci-host-generic.c
pci-hyperv-intf.c
pci-hyperv.c PCI: hv: Fix a crash in hv_pci_restore_msi_msg() during hibernation 2023-09-13 09:53:53 +02:00
pci-ixp4xx.c PCI: ixp4xx: Use PCI_CONF1_ADDRESS() macro 2023-03-24 16:48:32 +01:00
pci-loongson.c PCI: loongson: Add more devices that need MRRS quirk 2023-02-13 15:29:27 -06:00
pci-mvebu.c PCI: mvebu: Use FIELD_PREP() with Link Width 2023-11-28 17:14:48 +00:00
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Convert to platform remove callback returning void 2023-06-24 14:14:02 +00:00
pci-thunder-ecam.c
pci-thunder-pem.c
pci-v3-semi.c
pci-versatile.c PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules 2023-02-17 08:47:58 -06:00
pci-xgene-msi.c PCI: xgene-msi: Convert to platform remove callback returning void 2023-06-24 14:14:16 +00:00
pci-xgene.c
pcie-altera-msi.c PCI: altera-msi: Convert to platform remove callback returning void 2023-06-24 14:10:47 +00:00
pcie-altera.c PCI: altera: Convert to platform remove callback returning void 2023-06-24 14:10:30 +00:00
pcie-apple.c PCI: apple: Initialize pcie->nvecs before use 2023-09-13 09:53:28 +02:00
pcie-brcmstb.c PCI: brcmstb: Convert to platform remove callback returning void 2023-06-24 14:11:01 +00:00
pcie-hisi-error.c PCI: hisi-error: Convert to platform remove callback returning void 2023-06-24 14:12:13 +00:00
pcie-iproc-bcma.c
pcie-iproc-msi.c
pcie-iproc-platform.c PCI: iproc: Convert to platform remove callback returning void 2023-06-24 14:12:36 +00:00
pcie-iproc.c PCI: iproc: Convert to platform remove callback returning void 2023-06-24 14:12:36 +00:00
pcie-iproc.h PCI: iproc: Convert to platform remove callback returning void 2023-06-24 14:12:36 +00:00
pcie-mediatek-gen3.c PCI: mediatek-gen3: Convert to platform remove callback returning void 2023-06-24 14:13:02 +00:00
pcie-mediatek.c PCI: mediatek: Convert to platform remove callback returning void 2023-06-24 14:12:47 +00:00
pcie-microchip-host.c PCI: microchip: Correct the DED and SEC interrupt bit offsets 2023-09-13 09:53:29 +02:00
pcie-mt7621.c PCI: mt7621: Convert to platform remove callback returning void 2023-06-24 14:13:16 +00:00
pcie-rcar-ep.c
pcie-rcar-host.c PCI: rcar: Use correct product family name for Renesas R-Car 2023-06-24 13:15:51 +00:00
pcie-rcar.c
pcie-rcar.h PCI: rcar: Avoid defines prefixed with CONFIG 2023-03-10 13:34:27 +01:00
pcie-rockchip-ep.c PCI: rockchip: Set address alignment for endpoint mode 2023-06-22 09:36:51 +02:00
pcie-rockchip-host.c PCI: rockchip-host: Convert to platform remove callback returning void 2023-06-24 14:13:50 +00:00
pcie-rockchip.c PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked 2023-06-22 09:36:51 +02:00
pcie-rockchip.h PCI: rockchip: Use 64-bit mask on MSI 64-bit PCI address 2023-09-13 09:53:50 +02:00
pcie-xilinx-cpm.c
pcie-xilinx-nwl.c
pcie-xilinx.c
vmd.c PCI: vmd: Correct PCI Header Type Register's multi-function check 2023-11-20 11:57:08 +01:00