Re: [PATCH v2] dwc: dra7xx: Print link state to console for debug
From: Bjorn Helgaas
Date: Tue Oct 24 2017 - 15:59:56 EST
On Thu, Oct 19, 2017 at 06:13:29PM +0530, Faiz Abbas wrote:
> Enable support for printing the LTSSM link state for debugging PCI
> when link is down.
>
> Signed-off-by: Faiz Abbas <faiz_abbas@xxxxxx>
Applied with Kishon's ack to pci/host-dra7xx for v4.15, thanks!
I tweaked the "link up" testing as follows (what I suggested before):
@@ -118,8 +157,18 @@ static int dra7xx_pcie_link_up(struct dw_pcie *pci)
{
struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
u32 reg = dra7xx_pcie_readl(dra7xx, PCIECTRL_DRA7XX_CONF_PHY_CS);
+ int link_up = !!(reg & LINK_UP);
+ u32 cmd_reg;
+ u32 ltssm_state;
+
+ if (!link_up) {
+ cmd_reg = dra7xx_pcie_readl(dra7xx,
+ PCIECTRL_DRA7XX_CONF_DEVICE_CMD);
+ ltssm_state = (cmd_reg & GENMASK(7, 2)) >> 2;
+ dev_dbg(pci->dev, "Link state: %s\n", state[ltssm_state]);
+ }
- return !!(reg & LINK_UP);
+ return link_up;
}
static void dra7xx_pcie_stop_link(struct dw_pcie *pci)