]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: dwc: rcar-gen4: Change EPC BAR alignment to 4K as per the documentation
authorKoichiro Den <den@valinux.co.jp>
Thu, 5 Mar 2026 15:10:50 +0000 (00:10 +0900)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 23 Mar 2026 16:17:01 +0000 (11:17 -0500)
R-Car S4 Series (R8A779F[4-7]*) EP controller uses a 4K minimum iATU region
size (CX_ATU_MIN_REGION_SIZE = 4K) as per R19UH0161EJ0130 Rev.1.30. Also,
the controller itself can only be configured in the range 4 KB to 64 KB, so
the current 1 MB alignment requirement is incorrect.

Hence, change the alignment to the min size 4K as per the documentation.

This also fixes needless unusability of BAR4 on this platform when the
target address is fixed, such as for doorbell targets.

Fixes: e311b3834dfa ("PCI: rcar-gen4: Add endpoint mode support")
Signed-off-by: Koichiro Den <den@valinux.co.jp>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260305151050.1834007-1-den@valinux.co.jp
drivers/pci/controller/dwc/pcie-rcar-gen4.c

index 3d4a889e38cc998ddde8a79767c21e3ae78835df..396ef94322998d0234448431956cc75b16230c31 100644 (file)
@@ -428,7 +428,7 @@ static const struct pci_epc_features rcar_gen4_pcie_epc_features = {
        .bar[BAR_3] = { .type = BAR_RESERVED, },
        .bar[BAR_4] = { .type = BAR_FIXED, .fixed_size = 256 },
        .bar[BAR_5] = { .type = BAR_RESERVED, },
-       .align = SZ_1M,
+       .align = SZ_4K,
 };
 
 static const struct pci_epc_features*