PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Wed, 25 Oct 2023 13:00:29 +0000 (18:30 +0530)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Fri, 27 Oct 2023 11:17:53 +0000 (11:17 +0000)
commita07d2497ed657eb2efeb967af47e22f573dcd1d6
treebfc5ffdf209ae46f1391f7f3c4b309dc0ccc778c
parent0bb80ecc33a8fb5a682236443c1e740d5c917d1d
PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers

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: f55fee56a631 ("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+
drivers/pci/controller/dwc/pcie-qcom-ep.c