From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yx1-f100.google.com (mail-yx1-f100.google.com [74.125.224.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 26D0D2E1F0E for ; Mon, 4 May 2026 23:46:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.100 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777938372; cv=none; b=iIy+BdRee7T0SJQThkhbwbV6hlGtsURS1145oSMGthN3FB0jevC5HNwc+tNNKHpaweuzy/NBxfHYnjWNEm+qyNa+oxQ2ds48GvdE/Nw9XALpmTB/JASZHSfJBfSfVMDfLqAIMBCc26O3naW7fCO2YstoIo/1szbfLfjhfQlNeP8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777938372; c=relaxed/simple; bh=dtd96popeIqRCLlEoHEljSVU4eBfwabpBTPPeSA4SOs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ankvDkRHTO9TfES/zMC/YOjKYymcNnyVykeEX42kpnSkSMvGxJfoNEdzMWi1PYQLmH71kpuVbMF6StZ5whQDYNf18K34RNRkMjfCBLYX709us5Zdej9QKkTLEiqJPwdpKrcO0b+M96gW329EpI9IC3dZtNEdkusGntEJeTyvlWg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=BBMgmrM7; arc=none smtp.client-ip=74.125.224.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="BBMgmrM7" Received: by mail-yx1-f100.google.com with SMTP id 956f58d0204a3-65c364b893aso3191297d50.0 for ; Mon, 04 May 2026 16:46:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777938370; x=1778543170; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:dkim-signature:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Tq2bh31wVJEqzkyFJlgDPXd4ErLVOZNLSFfdQyUd90s=; b=l5BsR7l3Smzs+pW4EIYAtDyXUlzevCTTD7ef9KGLcwXPNJQ9f+bUZW8QnFRz4LWGbP H4UZ+C4p2CnGE2bKfTIFtwPOfyf1wUKZdayMfqkG7N+XpEgWbCBEnZZUj/1QRSsYnKGj cJmwzk6DC/THhC5JbcHBZbLMqs7g+77cRfVuBkr5m6gielM6xhasVgbZ6FNtmiam1rHx GJTpLIGPKXxVFnhm1Ts8w+d5ARMcOZstJwrydgKoBC1pM3cDXivnMAO2KzLZwDs8eyPM XxqorDdcExw42ihQ1wu3mrPnCehRLrXuFpYPTQTqG6fOrJ3vjk7JFEGeXyH6ZTLf/LSi u07g== X-Forwarded-Encrypted: i=1; AFNElJ9qY9RBz/2EH18BshstzqogfL1sF55z6wJtA/J5lP3xAbziHnyfRWhTPc2W14rmeeey4YVz6KtrmBD8tqg=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6C07cm7knI5Zmw5R+TJc4VitLxnEuHD01QNnkcTIU/r+0Zhr8 y/yknqzXpHBue0EGav4UYmid46tSCHYQfAUfifT4m77EFz9q1rDl1ExkGbBLUuY5k4Hd8ivWRdo 3yg8HdMBGuc3ypavjfWUGj2ya8/893fWLCKRNeB2Og15fznBnaszZZEtG31Buqk6TphmfmlgS2q g0+Vh6fOleZqzQlP6DEJfGUhrre5MVUBbItYiabHSAormV2YPb4g6N1gcAcS24SRRo7I7T5xVTw vRM0+ZHA/nYzCqxPY3UgaS/ X-Gm-Gg: AeBDiev2yO1ukLDV2Ny6ykBZv62AmAyJdpztCqXAdEOpwr6sy/0X+xuv7EXhZz2fOv/ 56rdjKmYn+qMPGfdwEi7VOujEOwk6nqi+PL2W9sIJeA+b2PItV3w4hbEIsvVplR6fLWJPqPbvMd 8PmbE/vJKPsPA825Bl/G/5zz2m3U4EgwjH/HLXHKX3a/WNGriOFnmKbaQpbO3okVE5074LIjafK 8tDRrBu311QUFk0vWstUKeNf0fOWu76RPhwHbRratFgnYt8b97LqNse/MZqyXM3H8X7hYCcPS4W TZkoAG7QnYN0Dh6oJTkoup3Wc1L3sWMB8EydehDgjAKWCuHwsKSgKbphBoA8juoj7Havjt8QHqi 1sjJ3qR1Y16RgNphw8OCUfIBOP81/ElLHOcAt9F0pwxLuQem2b9ixEKs29wTn0xcY03Cc3xjYEs yylTWwNitsxIUb96N382zIn7yJ6j8CBd7Q5mHJ/Chlcy80TwMNyGEfic78Lez9Ry2Ud/j/FezD X-Received: by 2002:a05:690e:d59:b0:653:c9e:306 with SMTP id 956f58d0204a3-65c3d9c8d9cmr11072364d50.20.1777938369826; Mon, 04 May 2026 16:46:09 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-16.dlp.protect.broadcom.com. [144.49.247.16]) by smtp-relay.gmail.com with ESMTPS id 956f58d0204a3-65c2df6f28fsm919412d50.7.2026.05.04.16.46.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 May 2026 16:46:09 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50ea1a7a5d0so119176191cf.3 for ; Mon, 04 May 2026 16:46:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777938368; x=1778543168; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=Tq2bh31wVJEqzkyFJlgDPXd4ErLVOZNLSFfdQyUd90s=; b=BBMgmrM7QzOF2Eytq5s01ZIrCgWgNJayfIdPoZk7OkJejhky4MyV2XEgDXOyMI8x44 dtX6QZaFcE/dkFyn9t59drzzvOXul00ILLo5Q8JvSG5Movc3n944Oa7Xa9bCuNJEamz+ YOeXtxpQnj8uMbFzXxtbpIFrM4+wS/OrnIYr8= X-Forwarded-Encrypted: i=1; AFNElJ8JeuiF+3rtOuBRA2lYvrw0Bm+KIjRL1Eug3HwaKkzUiDwIck/sHVeeWPOVY5dwuS+rXKjV3NsRUajzyVA=@vger.kernel.org X-Received: by 2002:a05:622a:514:b0:510:1463:4fc3 with SMTP id d75a77b69052e-5104bcb8b83mr170265071cf.0.1777938368273; Mon, 04 May 2026 16:46:08 -0700 (PDT) X-Received: by 2002:a05:622a:514:b0:510:1463:4fc3 with SMTP id d75a77b69052e-5104bcb8b83mr170264661cf.0.1777938367629; Mon, 04 May 2026 16:46:07 -0700 (PDT) Received: from [10.67.48.245] ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-510416dfc75sm129427311cf.3.2026.05.04.16.46.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 May 2026 16:46:06 -0700 (PDT) Message-ID: <631c8f3f-3d38-42e0-b89a-64281d269bfd@broadcom.com> Date: Mon, 4 May 2026 16:46:03 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] PCI: brcmstb: Assign pcie->gen from pcie_get_link_speed() To: Hans Zhang <18255117159@163.com>, Bjorn Helgaas Cc: linux-pci@vger.kernel.org, Dom Cobley , Phil Elwell , Jim Quinlan , Broadcom internal kernel review list , Lorenzo Pieralisi , =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , open list References: <20260502114019.GA551304@bhelgaas> <2f453b89-0ce8-4ef3-ae93-c282a2d08fd7@broadcom.com> Content-Language: en-US, fr-FR From: Florian Fainelli Autocrypt: addr=florian.fainelli@broadcom.com; keydata= xsBNBFPAG8ABCAC3EO02urEwipgbUNJ1r6oI2Vr/+uE389lSEShN2PmL3MVnzhViSAtrYxeT M0Txqn1tOWoIc4QUl6Ggqf5KP6FoRkCrgMMTnUAINsINYXK+3OLe7HjP10h2jDRX4Ajs4Ghs JrZOBru6rH0YrgAhr6O5gG7NE1jhly+EsOa2MpwOiXO4DE/YKZGuVe6Bh87WqmILs9KvnNrQ PcycQnYKTVpqE95d4M824M5cuRB6D1GrYovCsjA9uxo22kPdOoQRAu5gBBn3AdtALFyQj9DQ KQuc39/i/Kt6XLZ/RsBc6qLs+p+JnEuPJngTSfWvzGjpx0nkwCMi4yBb+xk7Hki4kEslABEB AAHNMEZsb3JpYW4gRmFpbmVsbGkgPGZsb3JpYW4uZmFpbmVsbGlAYnJvYWRjb20uY29tPsLB IQQQAQgAywUCZWl41AUJI+Jo+hcKAAG/SMv+fS3xUQWa0NryPuoRGjsA3SAUAAAAAAAWAAFr ZXktdXNhZ2UtbWFza0BwZ3AuY29tjDAUgAAAAAAgAAdwcmVmZXJyZWQtZW1haWwtZW5jb2Rp bmdAcGdwLmNvbXBncG1pbWUICwkIBwMCAQoFF4AAAAAZGGxkYXA6Ly9rZXlzLmJyb2FkY29t Lm5ldAUbAwAAAAMWAgEFHgEAAAAEFQgJChYhBNXZKpfnkVze1+R8aIExtcQpvGagAAoJEIEx tcQpvGagWPEH/2l0DNr9QkTwJUxOoP9wgHfmVhqc0ZlDsBFv91I3BbhGKI5UATbipKNqG13Z TsBrJHcrnCqnTRS+8n9/myOF0ng2A4YT0EJnayzHugXm+hrkO5O9UEPJ8a+0553VqyoFhHqA zjxj8fUu1px5cbb4R9G4UAySqyeLLeqnYLCKb4+GklGSBGsLMYvLmIDNYlkhMdnnzsSUAS61 WJYW6jjnzMwuKJ0ZHv7xZvSHyhIsFRiYiEs44kiYjbUUMcXor/uLEuTIazGrE3MahuGdjpT2 IOjoMiTsbMc0yfhHp6G/2E769oDXMVxCCbMVpA+LUtVIQEA+8Zr6mX0Yk4nDS7OiBlvOwE0E U8AbwQEIAKxr71oqe+0+MYCc7WafWEcpQHFUwvYLcdBoOnmJPxDwDRpvU5LhqSPvk/yJdh9k 4xUDQu3rm1qIW2I9Puk5n/Jz/lZsqGw8T13DKyu8eMcvaA/irm9lX9El27DPHy/0qsxmxVmU pu9y9S+BmaMb2CM9IuyxMWEl9ruWFS2jAWh/R8CrdnL6+zLk60R7XGzmSJqF09vYNlJ6Bdbs MWDXkYWWP5Ub1ZJGNJQ4qT7g8IN0qXxzLQsmz6tbgLMEHYBGx80bBF8AkdThd6SLhreCN7Uh IR/5NXGqotAZao2xlDpJLuOMQtoH9WVNuuxQQZHVd8if+yp6yRJ5DAmIUt5CCPcAEQEAAcLB gQQYAQIBKwUCU8AbwgUbDAAAAMBdIAQZAQgABgUCU8AbwQAKCRCTYAaomC8PVQ0VCACWk3n+ obFABEp5Rg6Qvspi9kWXcwCcfZV41OIYWhXMoc57ssjCand5noZi8bKg0bxw4qsg+9cNgZ3P N/DFWcNKcAT3Z2/4fTnJqdJS//YcEhlr8uGs+ZWFcqAPbteFCM4dGDRruo69IrHfyyQGx16s CcFlrN8vD066RKevFepb/ml7eYEdN5SRALyEdQMKeCSf3mectdoECEqdF/MWpfWIYQ1hEfdm C2Kztm+h3Nkt9ZQLqc3wsPJZmbD9T0c9Rphfypgw/SfTf2/CHoYVkKqwUIzI59itl5Lze+R5 wDByhWHx2Ud2R7SudmT9XK1e0x7W7a5z11Q6vrzuED5nQvkhAAoJEIExtcQpvGagugcIAJd5 EYe6KM6Y6RvI6TvHp+QgbU5dxvjqSiSvam0Ms3QrLidCtantcGT2Wz/2PlbZqkoJxMQc40rb fXa4xQSvJYj0GWpadrDJUvUu3LEsunDCxdWrmbmwGRKqZraV2oG7YEddmDqOe0Xm/NxeSobc MIlnaE6V0U8f5zNHB7Y46yJjjYT/Ds1TJo3pvwevDWPvv6rdBeV07D9s43frUS6xYd1uFxHC 7dZYWJjZmyUf5evr1W1gCgwLXG0PEi9n3qmz1lelQ8lSocmvxBKtMbX/OKhAfuP/iIwnTsww 95A2SaPiQZA51NywV8OFgsN0ITl2PlZ4Tp9hHERDe6nQCsNI/Us= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e On 5/4/26 10:26, Hans Zhang wrote: > > > On 5/5/26 00:58, Florian Fainelli wrote: >> On 5/2/26 04:40, Bjorn Helgaas wrote: >>> On Fri, May 01, 2026 at 01:24:38PM -0700, Florian Fainelli wrote: >>>> After commit 03f920936977 ("PCI: controller: Validate max-link-speed"), >>>> pcie->gen stopped being assigned and as a result the established PCIe >>>> link would stop supporting Gen3 speeds on 2712 since pcie->gen is used >>>> to populate LnkCntl2 and LnkCap in brcm_pcie_set_gen(). >>>> >>>> Link: https://github.com/raspberrypi/linux/issues/7343 >>>> Reported-by: Dom Cobley >>>> Reported-by: Phil Elwell >>>> Fixes: 03f920936977 ("PCI: controller: Validate max-link-speed") >>>> Signed-off-by: Florian Fainelli >>>> --- >>>>   drivers/pci/controller/pcie-brcmstb.c | 3 +-- >>>>   1 file changed, 1 insertion(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/ >>>> controller/pcie-brcmstb.c >>>> index 714bcab97b60..6138fc4bc064 100644 >>>> --- a/drivers/pci/controller/pcie-brcmstb.c >>>> +++ b/drivers/pci/controller/pcie-brcmstb.c >>>> @@ -2072,8 +2072,7 @@ static int brcm_pcie_probe(struct >>>> platform_device *pdev) >>>>           return PTR_ERR(pcie->clk); >>>>       ret = of_pci_get_max_link_speed(np); >>>> -    if (pcie_get_link_speed(ret) == PCI_SPEED_UNKNOWN) >>>> -        pcie->gen = 0; >>>> +    pcie->gen = pcie_get_link_speed(ret); >>> >>> Take a look at https://sashiko.dev/#/ >>> patchset/20260501202438.376033-1- florian.fainelli%40broadcom.com >>> >>> The notes at https://github.com/raspberrypi/linux/issues/7343 assumed >>> PCI_SPEED_UNKNOWN was 0, but in fact it is 0xff, which means you might >>> want the more defensive patch instead. >>> >>> I'll be happy to replace what's on pci/for-linus if so. >> >> I am starting to think a revert is the simplest path forward, it's not >> clear what pcie_get_link_speed() brings to the table honestly. > > Hi Florian, > > The pcie_get_link_speed function is designed to prevent other Root Port > drivers from accessing the array pcie_link_speed out of bounds. Yes, so that's useful in the first hunk of your commit where we were printing the link speed without checking that the 'max-link-speed' would be bounds check, however it is not really useful for assigning to pcie->gen in our case, so I would prefer the second option: ret = of_pci_get_max_link_speed(np); - if (pcie_get_link_speed(ret) == PCI_SPEED_UNKNOWN) - pcie->gen = 0; + pcie->gen = (ret < 0) ? 0 : ret; Thank you for stepping in! -- Florian