kernel_samsung_a53x/drivers/pci/controller/dwc
Niklas Cassel d577a8237c PCI: dwc: endpoint: Fix advertised resizable BAR size
[ Upstream commit 72e34b8593e08a0ee759b7a038e0b178418ea6f8 ]

The commit message in commit fc9a77040b04 ("PCI: designware-ep: Configure
Resizable BAR cap to advertise the smallest size") claims that it modifies
the Resizable BAR capability to only advertise support for 1 MB size BARs.

However, the commit writes all zeroes to PCI_REBAR_CAP (the register which
contains the possible BAR sizes that a BAR be resized to).

According to the spec, it is illegal to not have a bit set in
PCI_REBAR_CAP, and 1 MB is the smallest size allowed.

Set bit 4 in PCI_REBAR_CAP, so that we actually advertise support for a
1 MB BAR size.

Before:
        Capabilities: [2e8 v1] Physical Resizable BAR
                BAR 0: current size: 1MB
                BAR 1: current size: 1MB
                BAR 2: current size: 1MB
                BAR 3: current size: 1MB
                BAR 4: current size: 1MB
                BAR 5: current size: 1MB
After:
        Capabilities: [2e8 v1] Physical Resizable BAR
                BAR 0: current size: 1MB, supported: 1MB
                BAR 1: current size: 1MB, supported: 1MB
                BAR 2: current size: 1MB, supported: 1MB
                BAR 3: current size: 1MB, supported: 1MB
                BAR 4: current size: 1MB, supported: 1MB
                BAR 5: current size: 1MB, supported: 1MB

Fixes: fc9a77040b04 ("PCI: designware-ep: Configure Resizable BAR cap to advertise the smallest size")
Link: https://lore.kernel.org/linux-pci/20240307111520.3303774-1-cassel@kernel.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: <stable@vger.kernel.org> # 5.2
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 09:22:35 +01:00
..
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-dra7xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-exynos.c PCI: exynos: Don't discard .remove() callback 2024-11-18 11:43:27 +01:00
pci-imx6.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-keystone.c PCI: keystone: Fix race condition when initializing PHYs 2024-11-18 12:12:50 +01:00
pci-layerscape-ep.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-layerscape.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci-meson.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-al.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-armada8k.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-artpec6.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-designware-ep.c PCI: dwc: endpoint: Fix advertised resizable BAR size 2024-11-19 09:22:35 +01:00
pcie-designware-host.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-designware-plat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-designware.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-designware.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynos-common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynos-dbg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynos-dbg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynos-rc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynos-rc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynosS5E9925-rc-cal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-exynosS5E9925-rc-cal_s5300.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-hisi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-histb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-intel-gw.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-kirin.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-qcom.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-spear13xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-tegra194.c PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields 2024-11-18 11:43:14 +01:00
pcie-uniphier-ep.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pcie-uniphier.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00