[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <oc23e5sgo74wpjpaaefc6or5f54crfaeyer5zwst3wyyiauhxg@ess265fdcbeu>
Date: Mon, 22 Sep 2025 21:23:41 +0530
From: Manivannan Sadhasivam <mani@...nel.org>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: manivannan.sadhasivam@....qualcomm.com,
Bjorn Helgaas <bhelgaas@...gle.com>, Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof Wilczyński <kwilczynski@...nel.org>, Rob Herring <robh@...nel.org>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
"David E. Box" <david.e.box@...ux.intel.com>, Kai-Heng Feng <kai.heng.feng@...onical.com>,
"Rafael J. Wysocki" <rafael@...nel.org>, Heiner Kallweit <hkallweit1@...il.com>,
Chia-Lin Kao <acelan.kao@...onical.com>
Subject: Re: [PATCH 1/2] PCI/ASPM: Override the ASPM and Clock PM states set
by BIOS for devicetree platforms
On Wed, Sep 17, 2025 at 06:33:53PM +0530, Manivannan Sadhasivam wrote:
> On Wed, Sep 17, 2025 at 06:22:18AM GMT, Bjorn Helgaas wrote:
> > [+cc Kai-Heng, Rafael, Heiner, AceLan; response to
> > https://lore.kernel.org/r/20250916-pci-dt-aspm-v1-1-778fe907c9ad@oss.qualcomm.com]
> >
> > On Wed, Sep 17, 2025 at 04:14:42PM +0530, Manivannan Sadhasivam wrote:
> > > On Tue, Sep 16, 2025 at 12:15:46PM GMT, Bjorn Helgaas wrote:
> > > > On Tue, Sep 16, 2025 at 09:42:52PM +0530, Manivannan Sadhasivam via B4 Relay wrote:
> > > > > So far, the PCI subsystem has honored the ASPM and Clock PM states set by
> > > > > the BIOS (through LNKCTL) during device initialization. This was done
> > > > > conservatively to avoid issues with the buggy devices that advertise
> > > > > ASPM capabilities, but behave erratically if the ASPM states are enabled.
> > > > > So the PCI subsystem ended up trusting the BIOS to enable only the ASPM
> > > > > states that were known to work for the devices.
> > > ...
> >
> > > > For debuggability, I wonder if we should have a pci_dbg() at the point
> > > > where we actually update PCI_EXP_LNKCTL, PCI_L1SS_CTL1, etc? I could
> > > > even argue for pci_info() since this should be a low-frequency and
> > > > relatively high-risk event.
> > >
> > > I don't know why we should print register settings since we are explicitly
> > > printing out what states are getting enabled.
> >
> > My thinking here is that we care about is what is actually written to
> > the device, not what we *intend* to write to the device.
> >
> > There's a lot of complicated aspm.c code between setting
> > link->clkpm_default/aspm_default and actually programming the device,
> > and when debugging a problem, I don't want to have to parse all that
> > code to derive the register values.
>
> Sure, but that is not strictly related to this series I believe. I will add a
> patch for that at the start of this series so that you can merge it
> independently.
>
I'm going to send this patch separately from this series.
- Mani
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists