mirror of
https://github.com/torvalds/linux.git
synced 2026-08-01 03:59:40 +02:00
pci: msm: Add support to assert/de-assert Qactive signal
PCIe keeps Qactive signal asserted when link is active (L0). It de-asserts it when link is in L1SS or D3Hot. In case of L2, Qactive is not de-asserted, this prevents SNOC power collapse. Fix this issue by asserting Qactive upon link enable(L0) and de-assert it upon link disable(L2) using PCIE20_PARF_CFG_BITS_3 register. Change-Id: Iba8edb0360e6c6df9ffd1b65189fe8c92ca2c0b5 Signed-off-by: Hemant Kumar <quic_hemantk@quicinc.com> Signed-off-by: Prudhvi Yarlagadda <quic_pyarlaga@quicinc.com>
This commit is contained in:
parent
51dafa59bf
commit
7e927d7839
|
|
@ -4772,6 +4772,9 @@ static int msm_pcie_enable(struct msm_pcie_dev_t *dev)
|
|||
goto link_fail;
|
||||
}
|
||||
|
||||
/* Disable override for fal10_veto logic to de-assert Qactive signal */
|
||||
msm_pcie_write_mask(dev->parf + PCIE20_PARF_CFG_BITS_3, BIT(0), 0);
|
||||
|
||||
/**
|
||||
* configure LANE_SKEW_OFF BIT-5 and PARF_CFG_BITS_3 BIT-8 to support
|
||||
* dynamic link width upscaling.
|
||||
|
|
@ -4898,6 +4901,10 @@ static void msm_pcie_disable(struct msm_pcie_dev_t *dev)
|
|||
|
||||
msm_pcie_write_mask(dev->parf + PCIE20_PARF_PHY_CTRL, 0,
|
||||
BIT(0));
|
||||
|
||||
/* Enable override for fal10_veto logic to assert Qactive signal.*/
|
||||
msm_pcie_write_mask(dev->parf + PCIE20_PARF_CFG_BITS_3, 0, BIT(0));
|
||||
|
||||
msm_pcie_clk_deinit(dev);
|
||||
msm_pcie_vreg_deinit(dev);
|
||||
msm_pcie_pipe_clk_deinit(dev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user