]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: dw-rockchip: Add rockchip_pcie_get_ltssm() helper
authorNiklas Cassel <cassel@kernel.org>
Fri, 7 Jun 2024 11:14:28 +0000 (13:14 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 9 Jul 2024 23:28:57 +0000 (18:28 -0500)
Add a rockchip_pcie_ltssm() helper function that reads the LTSSM status.

This helper will be used in additional places in follow-up commits.

Link: https://lore.kernel.org/linux-pci/20240607-rockchip-pcie-ep-v1-v5-8-0a042d6b0049@kernel.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/controller/dwc/pcie-dw-rockchip.c

index 3dfed08ef456d1c24c94fff330a47fcbc4cb0257..1380e3a5284ba55d96f6b354a1b8f3382f6e10f0 100644 (file)
@@ -143,6 +143,11 @@ static int rockchip_pcie_init_irq_domain(struct rockchip_pcie *rockchip)
        return 0;
 }
 
+static u32 rockchip_pcie_get_ltssm(struct rockchip_pcie *rockchip)
+{
+       return rockchip_pcie_readl_apb(rockchip, PCIE_CLIENT_LTSSM_STATUS);
+}
+
 static void rockchip_pcie_enable_ltssm(struct rockchip_pcie *rockchip)
 {
        rockchip_pcie_writel_apb(rockchip, PCIE_CLIENT_ENABLE_LTSSM,
@@ -152,7 +157,7 @@ static void rockchip_pcie_enable_ltssm(struct rockchip_pcie *rockchip)
 static int rockchip_pcie_link_up(struct dw_pcie *pci)
 {
        struct rockchip_pcie *rockchip = to_rockchip_pcie(pci);
-       u32 val = rockchip_pcie_readl_apb(rockchip, PCIE_CLIENT_LTSSM_STATUS);
+       u32 val = rockchip_pcie_get_ltssm(rockchip);
 
        if ((val & PCIE_LINKUP) == PCIE_LINKUP &&
            (val & PCIE_LTSSM_STATUS_MASK) == PCIE_L0S_ENTRY)