* [PATCH] PCI: apple: Avoid PERST# deassertion through gpiod initialization
@ 2026-10-24 16:46 Janne Grunau
2026-10-25 9:59 ` Marc Zyngier
0 siblings, 1 reply; 2+ messages in thread
From: Janne Grunau @ 2026-10-24 16:46 UTC (permalink / raw)
To: Marc Zyngier, Lorenzo Pieralisi, Krzysztof Wilczyński,
Manivannan Sadhasivam, Rob Herring, Bjorn Helgaas, Luca Ceresoli
Cc: linux-pci, linux-kernel, stable, Janne Grunau
Commit 87620512681a ("PCI: apple: Fix PERST# polarity") switched the
PERST# polarity by annotaing its GPIO as active low in the device tree
via [1]. It missed to update gpiod_get()'s flags to GPIOD_OUT_HIGH
resulting in deasserting PERST# through gpiod initialization.
The Aquantia AQC113 10GB ethernet device used in some Apple silicon
desktop does not finish link training with this additional PERST#
deassert before the usual PERST# dance.
Link: https://lore.kernel.org/linux-pci/20211123180636.80558-1-maz@kernel.org/ [1]
Fixes: 87620512681a ("PCI: apple: Fix PERST# polarity")
Cc: stable@vger.kernel.org
Signed-off-by: Janne Grunau <j@jannau.net>
---
This issue affects only a single PCIe devices of the handful of built-in
devices integrated in Apple silicon devices. It is usually hidden by
u-boot's initialisation of PCIe devices.
---
drivers/pci/controller/pcie-apple.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
index c2cffc0659f4..a7f327803060 100644
--- a/drivers/pci/controller/pcie-apple.c
+++ b/drivers/pci/controller/pcie-apple.c
@@ -562,7 +562,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
int ret, i;
reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset",
- GPIOD_OUT_LOW, "PERST#");
+ GPIOD_OUT_HIGH, "PERST#");
if (IS_ERR(reset))
return PTR_ERR(reset);
---
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
change-id: 20261024-pcie-apple-perst-gpiod-init-b602ee4dca46
Best regards,
--
Janne Grunau <j@jannau.net>
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] PCI: apple: Avoid PERST# deassertion through gpiod initialization
2026-10-24 16:46 [PATCH] PCI: apple: Avoid PERST# deassertion through gpiod initialization Janne Grunau
@ 2026-10-25 9:59 ` Marc Zyngier
0 siblings, 0 replies; 2+ messages in thread
From: Marc Zyngier @ 2026-10-25 9:59 UTC (permalink / raw)
To: Janne Grunau
Cc: Lorenzo Pieralisi, Krzysztof Wilczyński,
Manivannan Sadhasivam, Rob Herring, Bjorn Helgaas, Luca Ceresoli,
linux-pci, linux-kernel, stable
On Sat, 24 Oct 2026 17:46:54 +0100,
Janne Grunau <j@jannau.net> wrote:
>
> Commit 87620512681a ("PCI: apple: Fix PERST# polarity") switched the
> PERST# polarity by annotaing its GPIO as active low in the device tree
> via [1]. It missed to update gpiod_get()'s flags to GPIOD_OUT_HIGH
> resulting in deasserting PERST# through gpiod initialization.
> The Aquantia AQC113 10GB ethernet device used in some Apple silicon
> desktop does not finish link training with this additional PERST#
> deassert before the usual PERST# dance.
>
> Link: https://lore.kernel.org/linux-pci/20211123180636.80558-1-maz@kernel.org/ [1]
> Fixes: 87620512681a ("PCI: apple: Fix PERST# polarity")
> Cc: stable@vger.kernel.org
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
> This issue affects only a single PCIe devices of the handful of built-in
> devices integrated in Apple silicon devices. It is usually hidden by
> u-boot's initialisation of PCIe devices.
> ---
> drivers/pci/controller/pcie-apple.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c
> index c2cffc0659f4..a7f327803060 100644
> --- a/drivers/pci/controller/pcie-apple.c
> +++ b/drivers/pci/controller/pcie-apple.c
> @@ -562,7 +562,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
> int ret, i;
>
> reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset",
> - GPIOD_OUT_LOW, "PERST#");
> + GPIOD_OUT_HIGH, "PERST#");
> if (IS_ERR(reset))
> return PTR_ERR(reset);
>
>
Acked-by: Marc Zyngier <maz@kernel.org>
M.
--
Without deviation from the norm, progress is not possible.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-25 9:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-24 16:46 [PATCH] PCI: apple: Avoid PERST# deassertion through gpiod initialization Janne Grunau
2026-10-25 9:59 ` Marc Zyngier
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®