File tree Expand file tree Collapse file tree
drivers/pci/controller/dwc Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -161,6 +161,22 @@ static void sophgo_pcie_msi_enable(struct dw_pcie_rp *pp)
161161 raw_spin_unlock_irqrestore (& pp -> lock , flags );
162162}
163163
164+ static void sophgo_pcie_disable_l0s_l1 (struct dw_pcie_rp * pp )
165+ {
166+ struct dw_pcie * pci = to_dw_pcie_from_pp (pp );
167+ u32 offset , val ;
168+
169+ offset = dw_pcie_find_capability (pci , PCI_CAP_ID_EXP );
170+
171+ dw_pcie_dbi_ro_wr_en (pci );
172+
173+ val = dw_pcie_readl_dbi (pci , PCI_EXP_LNKCAP + offset );
174+ val &= ~(PCI_EXP_LNKCAP_ASPM_L0S | PCI_EXP_LNKCAP_ASPM_L1 );
175+ dw_pcie_writel_dbi (pci , PCI_EXP_LNKCAP + offset , val );
176+
177+ dw_pcie_dbi_ro_wr_dis (pci );
178+ }
179+
164180static int sophgo_pcie_host_init (struct dw_pcie_rp * pp )
165181{
166182 int irq ;
@@ -171,6 +187,8 @@ static int sophgo_pcie_host_init(struct dw_pcie_rp *pp)
171187
172188 irq_set_chained_handler_and_data (irq , sophgo_pcie_intx_handler , pp );
173189
190+ sophgo_pcie_disable_l0s_l1 (pp );
191+
174192 sophgo_pcie_msi_enable (pp );
175193
176194 return 0 ;
You can’t perform that action at this time.
0 commit comments