]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: keystone: Describe Resizable BARs as Resizable BARs
authorNiklas Cassel <cassel@kernel.org>
Fri, 31 Jan 2025 18:29:54 +0000 (19:29 +0100)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Sat, 8 Mar 2025 14:43:11 +0000 (14:43 +0000)
Looking at section "12.2.2.4.15 PCIe Subsystem BAR Configuration" in the
following Technical Reference Manual (TRM) for AM65x:

  https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf

We can see that BAR2 and BAR5 are not Fixed BARs, but actually Resizable
BARs.

Now when we actually have support for Resizable BARs, let's configure
these BARs as such.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Link: https://lore.kernel.org/r/20250131182949.465530-14-cassel@kernel.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/dwc/pci-keystone.c

index 63bd5003da458e6abbdcfd80ad0fba2fee2a9c54..fdc610ec7e5e89a97d46d5579800a0d4d072c0ba 100644 (file)
@@ -966,10 +966,10 @@ static const struct pci_epc_features ks_pcie_am654_epc_features = {
        .msix_capable = true,
        .bar[BAR_0] = { .type = BAR_RESERVED, },
        .bar[BAR_1] = { .type = BAR_RESERVED, },
-       .bar[BAR_2] = { .type = BAR_FIXED, .fixed_size = SZ_1M, },
+       .bar[BAR_2] = { .type = BAR_RESIZABLE, },
        .bar[BAR_3] = { .type = BAR_FIXED, .fixed_size = SZ_64K, },
        .bar[BAR_4] = { .type = BAR_FIXED, .fixed_size = 256, },
-       .bar[BAR_5] = { .type = BAR_FIXED, .fixed_size = SZ_1M, },
+       .bar[BAR_5] = { .type = BAR_RESIZABLE, },
        .align = SZ_1M,
 };