From: Chen Wang <unicorn_wang@outlook.com>
To: "Yao Zi" <me@ziyao.cc>,
"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 16:28:01 +0800 [thread overview]
Message-ID: <MA5PR01MB1250034FF14DFFDF5C04093FDFE5BA@MA5PR01MB12500.INDPRD01.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20260405154154.46829-1-me@ziyao.cc>
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.
Thanks,
Chen
next prev parent reply other threads:[~2026-04-08 8:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-05 15:41 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 ` Chen Wang [this message]
2026-04-08 12:27 ` [PATCH v3 0/2] PCI/sg2042: " Yao Zi
2026-04-09 17:10 ` Manivannan Sadhasivam
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=MA5PR01MB1250034FF14DFFDF5C04093FDFE5BA@MA5PR01MB12500.INDPRD01.PROD.OUTLOOK.COM \
--to=unicorn_wang@outlook.com \
--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=me@ziyao.cc \
--cc=mpillai@cadence.com \
--cc=rabenda.cn@gmail.com \
--cc=robh@kernel.org \
--cc=s-vadapalli@ti.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
all inboxes | Powered by JetHome®