From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Hans Zhang <18255117159@163.com>
Cc: bhelgaas@google.com, helgaas@kernel.org,
linux-pci@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
Manivannan Sadhasivam <mani@kernel.org>
Subject: Re: [PATCH v3 1/1] PCI: of: Relax max-link-speed check to support PCIe Gen5/Gen6
Date: Wed, 5 Nov 2025 10:43:27 +0200 (EET) [thread overview]
Message-ID: <6fdc4f2c-16fa-9aed-6580-759e229e5606@linux.intel.com> (raw)
In-Reply-To: <20251101164132.14145-1-18255117159@163.com>
On Sun, 2 Nov 2025, Hans Zhang wrote:
> The existing code restricted `max-link-speed` to values 1~4 (Gen1~Gen4),
> but current SOCs using Synopsys/Cadence IP may require Gen5/Gen6 support.
>
> While DT binding validation already checks this property, the code-level
> validation in `of_pci_get_max_link_speed` also needs to be updated to allow
> values up to 6, ensuring compatibility with newer PCIe generations.
>
> Signed-off-by: Hans Zhang <18255117159@163.com>
> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
> ---
> Changes for v3:
> - Modify the commit message.
> - Add Reviewed-by tag.
>
> Changes for v2:
> https://patchwork.kernel.org/project/linux-pci/cover/20250529021026.475861-1-18255117159@163.com/
> - The following files have been deleted:
> Documentation/devicetree/bindings/pci/pci.txt
>
> Update to this file again:
> dtschema/schemas/pci/pci-bus-common.yaml
> ---
> drivers/pci/of.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/of.c b/drivers/pci/of.c
> index 3579265f1198..53928e4b3780 100644
> --- a/drivers/pci/of.c
> +++ b/drivers/pci/of.c
> @@ -890,7 +890,7 @@ int of_pci_get_max_link_speed(struct device_node *node)
> u32 max_link_speed;
>
> if (of_property_read_u32(node, "max-link-speed", &max_link_speed) ||
> - max_link_speed == 0 || max_link_speed > 4)
> + max_link_speed == 0 || max_link_speed > 6)
> return -EINVAL;
>
> return max_link_speed;
>
Hi,
IMO, using a literal here is somewhat annoying as it's hard to find this
spot when adding support to the next PCIe Link Speed. It would be nice if
it could get updated at the same while the generic support for a new Link
Speed is added.
Perhaps include/linux/pci.h should have something along the lines of:
static inline int pcie_max_supported_link_speed()
{
return PCI_EXP_LNKCAP_SLS_64_0GB - PCI_EXP_LNKCAP_SLS_2_5GB + 1;
}
Then replace that 6 with pcie_max_supported_link_speed().
So when the next speed get's added, somebody grepping for
PCI_EXP_LNKCAP_SLS_64_0GB will find pcie_max_supported_link_speed() has
to be changed and the change will propagate also to of.c.
--
i.
next prev parent reply other threads:[~2025-11-05 8:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-01 16:41 [PATCH v3 1/1] PCI: of: Relax max-link-speed check to support PCIe Gen5/Gen6 Hans Zhang
2025-11-05 8:43 ` Ilpo Järvinen [this message]
2025-11-05 8:45 ` Ilpo Järvinen
2025-11-05 13:44 ` Hans Zhang
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=6fdc4f2c-16fa-9aed-6580-759e229e5606@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=18255117159@163.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mani@kernel.org \
/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