diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/8230-layerscape-pci-fix-linkup-issue.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/8230-layerscape-pci-fix-linkup-issue.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-4.4/8230-layerscape-pci-fix-linkup-issue.patch b/target/linux/layerscape/patches-4.4/8230-layerscape-pci-fix-linkup-issue.patch new file mode 100644 index 0000000000..0feb800367 --- /dev/null +++ b/target/linux/layerscape/patches-4.4/8230-layerscape-pci-fix-linkup-issue.patch @@ -0,0 +1,42 @@ +From 1b23a4e0f03063f823ea38065c1106f62a56b408 Mon Sep 17 00:00:00 2001 +From: Mingkai Hu <mingkai.hu@nxp.com> +Date: Mon, 7 Nov 2016 15:03:51 +0800 +Subject: [PATCH 230/238] layerscape/pci: fix linkup issue + +commit e6612d785198abbb39142e2acb63f9bff26ab718 +[context adjustment] + +Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com> +Integrated-by: Zhao Qiang <qiang.zhao@nxp.com> +--- + drivers/pci/host/pci-layerscape.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/host/pci-layerscape.c +index 00feabf..f85ebcf 100644 +--- a/drivers/pci/host/pci-layerscape.c ++++ b/drivers/pci/host/pci-layerscape.c +@@ -158,11 +158,16 @@ static void ls1021_pcie_host_init(struct pcie_port *pp) + static int ls_pcie_link_up(struct pcie_port *pp) + { + struct ls_pcie *pcie = to_ls_pcie(pp); +- u32 state; ++ u32 state, offset; ++ ++ if (of_get_property(pp->dev->of_node, "fsl,lut_diff", NULL)) ++ offset = 0x407fc; ++ else ++ offset = PCIE_LUT_DBG; + +- state = (ioread32(pcie->lut + pcie->drvdata->lut_dbg) >> +- pcie->drvdata->ltssm_shift) & +- LTSSM_STATE_MASK; ++ state = (ioread32(pcie->lut + offset) >> ++ pcie->drvdata->ltssm_shift) & ++ LTSSM_STATE_MASK; + + if (state < LTSSM_PCIE_L0) + return 0; +-- +1.7.9.5 + |