[PATCH 1/4] PCI: dwc: Advertise L1 PM Substates only if driver requests it
Manivannan Sadhasivam
mani at kernel.org
Wed Nov 12 09:51:07 PST 2025
On Wed, Nov 12, 2025 at 09:22:36AM +0100, Niklas Cassel wrote:
> On Tue, Nov 11, 2025 at 04:16:08PM -0600, Bjorn Helgaas wrote:
> > --- a/drivers/pci/controller/dwc/pcie-designware-host.c
> > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c
> > @@ -1060,6 +1060,8 @@ int dw_pcie_setup_rc(struct dw_pcie_rp *pp)
> > PCI_COMMAND_MASTER | PCI_COMMAND_SERR;
> > dw_pcie_writel_dbi(pci, PCI_COMMAND, val);
> >
> > + dw_pcie_config_l1ss(pci);
>
> The name dw_pcie_config_l1ss() sounds like we are enabling l1ss.
>
> I know naming is hard.
>
> Perhaps dw_pcie_disable_unsupported_l1ss() ?
>
> Or something similar.
>
>
> > --- a/drivers/pci/controller/dwc/pcie-qcom.c
> > +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> > @@ -1067,6 +1067,8 @@ static int qcom_pcie_init_2_7_0(struct qcom_pcie *pcie)
> > val &= ~REQ_NOT_ENTR_L1;
> > writel(val, pcie->parf + PARF_PM_CTRL);
> >
> > + pci->l1ss_support = true;
> > +
> > val = readl(pcie->parf + PARF_AXI_MSTR_WR_ADDR_HALT_V2);
> > val |= EN;
> > writel(val, pcie->parf + PARF_AXI_MSTR_WR_ADDR_HALT_V2);
>
> While it seems like ops_2_7_0 is the only type that explicitly does a
> register write to enable L1ss, other versions might have the register
> as enabled by default, so it would be nice if Mani could confirm exactly
> which versions that should set l1ss_support = true.
>
Yes, on the rest of the platforms, this bit is supposed to be enabled by
default. AFAIK, all Qcom platforms should support L1SS, atleast the
non-IPQ/APQ ones.
We should set it for below cfgs:
cfg_fw_managed
cfg_sc8280xp
cfg_1_34_0
cfg_1_9_0
cfg_2_7_0
I excluded msm8996 due to one recent bug report.
- Mani
--
மணிவண்ணன் சதாசிவம்
More information about the linux-arm-kernel
mailing list