From: Yao Zi <me@ziyao.cc>
To: "Chen Wang" <unicorn_wang@outlook.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Siddharth Vadapalli" <s-vadapalli@ti.com>,
"Hans Zhang" <18255117159@163.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Manikandan K Pillai" <mpillai@cadence.com>,
"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
"Inochi Amaoto" <inochiama@gmail.com>,
"Han Gao" <rabenda.cn@gmail.com>
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/2] PCI/sg2042: Avoid L0s and L1 on Sophgo 2042 PCIe Root Ports
Date: Wed, 8 Apr 2026 12:27:09 +0000 [thread overview]
Message-ID: <adZJnZAmaFvEFSqL@pie> (raw)
In-Reply-To: <MA5PR01MB1250034FF14DFFDF5C04093FDFE5BA@MA5PR01MB12500.INDPRD01.PROD.OUTLOOK.COM>
On Wed, Apr 08, 2026 at 04:28:01PM +0800, Chen Wang wrote:
>
> On 4/5/2026 11:41 PM, Yao Zi wrote:
> > After talking to Inochi privately, I'll take the patch instead.
> >
> > This series defines quirk flags for Cadence PCIe host driver to allow
> > disabling advertisement of ASPM L0s/L1 states by overriding LNKCAP
> > register, and set them in SG2042 PCIe driver since SG2042's
> > implementation is broken.
> >
> > I've considered to re-write LNKCAP after cdns_pcie_host_setup() in
> > SG2042 platform glue, like what has been done in the v1 of patch.
> > However, cdns_pcie_host_setup() performs pci_host_probe(), which finally
> > invokes set_pcie_port_type() on the root port. It reads ASPM-related
> > LNKCAP, which might lead to dangling pci_dev.aspm_{l0s,l1}_support
> > values. Early PCI device fixup won't work for similar reasons, since the
> > fixup is performed in pci_setup_device() after calling
> > set_pcie_port_type().
> >
> > It's hard to fix up the LNKCAP earlier than invokation of
> > cdns_pcie_host_setup() in SG2042's platform glue, either, since
> > the function also performs resource allocation/mapping, and we have no
> > access to the RC registers before it returns.
> >
> > The safest solution which also depends on no PCI subsystem
> > implementation detail is to have the LNKCAP fixed up right before
> > informing the PCI subsystem of the device through pci_host_probe(), so
> > here come the quirk flags and the ASPM advertisement disabling logic
> > in the core Cadence PCIe driver.
> >
> > This series is based on next-20260403, thanks for your time and review.
> >
> > Changed from v2:
> > - Use flags to allow platform glues to inform the core driver that
> > ASPM implementation is broken and should be disabled, instead of
> > introducing platform-specific hooks to do so.
> > - Fix Co-developed-by tag in patch 2
> > - Link to v2: https://lore.kernel.org/linux-pci/20260227181925.52475-1-me@ziyao.cc/
> >
> > Changed from v1:
> > - Disable L0s/L1 capabilities through LNKCAP instead of LNKCTL
> > - Introduce platform-specific init/deinit hooks (new PATCH 1) to
> > realiably overwrite PCIe RC properties
> > - Link to v1: https://lore.kernel.org/all/20260109040756.731169-2-inochiama@gmail.com/
> >
> > Changed from the original patch:
> > - Use driver to mask the ASPM advertisement
> > - Separate from the following patch
> > https://lore.kernel.org/all/20251225100530.1301625-1-inochiama@gmail.com
> >
> > Yao Zi (2):
> > PCI: cadence: Add flags for disabling ASPM support advertisement
> > PCI: sg2042: Avoid L0s and L1 on Sophgo 2042 PCIe Root Ports
> >
> > .../controller/cadence/pcie-cadence-host.c | 7 +++++++
> > drivers/pci/controller/cadence/pcie-cadence.h | 19 +++++++++++++++++++
> > drivers/pci/controller/cadence/pcie-sg2042.c | 2 ++
> > 3 files changed, 28 insertions(+)
>
> BTW, I guess you might forget to post this patchset to
> sophgo@lists.linux.dev. Please remember this later.
Oops, yes. I blindly followed the output of get_maintainers.pl, which
doesn't mention Sophgo's mailing list when run against pcie-sg2042.c.
Maybe we should add pcie-sg2042.c to the "SOPHGO DEVICETREES and
DRIVERS" entry in MAINTAINERS file, or add a keyword for the entry?
> Thanks,
>
> Chen
>
Regards,
Yao Zi
prev parent reply other threads:[~2026-04-08 12:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-05 15:41 [PATCH v3 0/2] PCI/sg2042: Avoid L0s and L1 on Sophgo 2042 PCIe Root Ports Yao Zi
2026-04-05 15:41 ` [PATCH v3 1/2] PCI: cadence: Add flags for disabling ASPM support advertisement Yao Zi
2026-04-08 8:23 ` Chen Wang
2026-04-05 15:41 ` [PATCH v3 2/2] PCI: sg2042: Avoid L0s and L1 on Sophgo 2042 PCIe Root Ports Yao Zi
2026-04-08 8:24 ` Chen Wang
2026-04-08 8:28 ` [PATCH v3 0/2] PCI/sg2042: " Chen Wang
2026-04-08 12:27 ` Yao Zi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=adZJnZAmaFvEFSqL@pie \
--to=me@ziyao.cc \
--cc=18255117159@163.com \
--cc=bhelgaas@google.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=inochiama@gmail.com \
--cc=kishon@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=mpillai@cadence.com \
--cc=rabenda.cn@gmail.com \
--cc=robh@kernel.org \
--cc=s-vadapalli@ti.com \
--cc=unicorn_wang@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox