diff options
Diffstat (limited to 'drivers/pci/controller/cadence/pcie-cadence-host.c')
| -rw-r--r-- | drivers/pci/controller/cadence/pcie-cadence-host.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/drivers/pci/controller/cadence/pcie-cadence-host.c b/drivers/pci/controller/cadence/pcie-cadence-host.c index fb96d37a135c..940c7dd701d6 100644 --- a/drivers/pci/controller/cadence/pcie-cadence-host.c +++ b/drivers/pci/controller/cadence/pcie-cadence-host.c @@ -123,6 +123,14 @@ static int cdns_pcie_retrain(struct cdns_pcie *pcie)  	return ret;  } +static void cdns_pcie_host_enable_ptm_response(struct cdns_pcie *pcie) +{ +	u32 val; + +	val = cdns_pcie_readl(pcie, CDNS_PCIE_LM_PTM_CTRL); +	cdns_pcie_writel(pcie, CDNS_PCIE_LM_PTM_CTRL, val | CDNS_PCIE_LM_TPM_CTRL_PTMRSEN); +} +  static int cdns_pcie_host_start_link(struct cdns_pcie_rc *rc)  {  	struct cdns_pcie *pcie = &rc->pcie; @@ -501,6 +509,8 @@ int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)  	if (rc->quirk_detect_quiet_flag)  		cdns_pcie_detect_quiet_min_delay_set(&rc->pcie); +	cdns_pcie_host_enable_ptm_response(pcie); +  	ret = cdns_pcie_start_link(pcie);  	if (ret) {  		dev_err(dev, "Failed to start link\n"); | 
