You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
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(-)
|
|
|
|
--- 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
|
|
static int ls_pcie_link_up(struct pcie_port *pp)
|
|
{
|
|
struct ls_pcie *pcie = to_ls_pcie(pp);
|
|
- u32 state;
|
|
+ u32 state, offset;
|
|
|
|
- state = (ioread32(pcie->lut + pcie->drvdata->lut_dbg) >>
|
|
- pcie->drvdata->ltssm_shift) &
|
|
- LTSSM_STATE_MASK;
|
|
+ if (of_get_property(pp->dev->of_node, "fsl,lut_diff", NULL))
|
|
+ offset = 0x407fc;
|
|
+ else
|
|
+ offset = PCIE_LUT_DBG;
|
|
+
|
|
+ state = (ioread32(pcie->lut + offset) >>
|
|
+ pcie->drvdata->ltssm_shift) &
|
|
+ LTSSM_STATE_MASK;
|
|
|
|
if (state < LTSSM_PCIE_L0)
|
|
return 0;
|
|
|