From: Florian Eckert <fe@dev.tdt.de>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: "Chuanhua Lei" <lchuanhua@maxlinear.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Johan Hovold" <johan+linaro@kernel.org>,
"Sajid Dalvi" <sdalvi@google.com>,
"Ajay Agarwal" <ajayagarwal@google.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] PCI: intel-gw: Enable clock before phy init
Date: Fri, 27 Mar 2026 08:42:21 +0100 [thread overview]
Message-ID: <f8a998cfb826d7b6d4b7a057f9ac6747@dev.tdt.de> (raw)
In-Reply-To: <acem5jvxct2izfwgqdtf52tijntkh6lz2eyeydsmfxzpue744i@nbzoe3ysilo6>
Hello Mani,
Thanks for your review.
On 2026-03-26 17:08, Manivannan Sadhasivam wrote:
> On Tue, Mar 17, 2026 at 11:12:50AM +0100, Florian Eckert wrote:
>> To ensure that the boot sequence is correct, the dwc pcie core clock
>> must
>> be switched on before phy init call.
>>
>> This changes are based on patched kernel sources of the MaxLinear SDK,
>> which can be found at https://github.com/maxlinear/linux
>>
>
> How can we treat Maxlinear kernel source as a reference for Intel
> driver?
> Atleast, you need to provide some info onto why this should be trusted
> as a
> reference like used a product etc...
As far as I know, this driver is only used by Maxlinear’s URX851 and
URX850
SoCs. However, the chip was originally developed by Intel when they
acquired Lantiq’s home networking division in 2015 [1] for this SoCs.
In 2020 the home network division was sold to Maxlinear [2].
Since then, Maxlinear has been responsible for the driver. However,
their
SDK is outdated and based on kernel 5.15. Other than that, not much is
happening! Even the developers listed as maintainers can no longer be
reached. When it came to the patch set, the email couldn't be delivered
to
the responsible developer 'Chuanhua Lei <lchuanhua@maxlinear.com>'
either.
The email bounced back.
The company I work for is using the chip and is currently in the process
of
extracting the key components from the SDK so that the SoC can work
again with
a mainline kernel again.
[1]
https://www.intc.com/news-events/press-releases/detail/364/intel-to-acquire-lantiq-advancing-the-connected-home
[2]
https://investors.maxlinear.com/press-releases/detail/395/maxlinear-to-acquire-intels-home-gateway-platform
>> Signed-off-by: Florian Eckert <fe@dev.tdt.de>
>> ---
>> drivers/pci/controller/dwc/pcie-intel-gw.c | 16 ++++++++--------
>> 1 file changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c
>> b/drivers/pci/controller/dwc/pcie-intel-gw.c
>> index
>> 3a85bd0ef1b7f9414ce19fe56d82a78e34e9b648..6110a8adb8732dbbd5e9e2db68a0606ccf032ae1
>> 100644
>> --- a/drivers/pci/controller/dwc/pcie-intel-gw.c
>> +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c
>> @@ -292,13 +292,9 @@ static int intel_pcie_host_setup(struct
>> intel_pcie *pcie)
>>
>> intel_pcie_core_rst_assert(pcie);
>> intel_pcie_device_rst_assert(pcie);
>> -
>> - ret = phy_init(pcie->phy);
>> - if (ret)
>> - return ret;
>> -
>> intel_pcie_core_rst_deassert(pcie);
>>
>> + /* Controller clock must be provided earlier than PHY */
>> ret = clk_prepare_enable(pcie->core_clk);
>> if (ret) {
>> dev_err(pcie->pci.dev, "Core clock enable failed: %d\n", ret);
>> @@ -307,13 +303,17 @@ static int intel_pcie_host_setup(struct
>> intel_pcie *pcie)
>>
>> pci->atu_base = pci->dbi_base + 0xC0000;
>>
>> + ret = phy_init(pcie->phy);
>> + if (ret)
>> + goto phy_err;
>
> You just messed up the whole error path. This one should branch to
> err_disable_core_clk that disables core_clk and deasserts reset.
>
>> +
>> intel_pcie_ltssm_disable(pcie);
>> intel_pcie_link_setup(pcie);
>> intel_pcie_init_n_fts(pci);
>>
>> ret = dw_pcie_setup_rc(&pci->pp);
>> if (ret)
>> - goto app_init_err;
>> + goto phy_err;
>
> And this to err_phy_exit that does phy_exit().
>
>>
>> dw_pcie_upconfig_setup(pci);
>>
>> @@ -322,13 +322,13 @@ static int intel_pcie_host_setup(struct
>> intel_pcie *pcie)
>>
>> ret = dw_pcie_wait_for_link(pci);
>> if (ret)
>> - goto app_init_err;
>> + goto phy_err;
>>
>> intel_pcie_core_irq_enable(pcie);
>>
>> return 0;
>>
>
> Here, you should add shuffle phy_exit() accordingly.
I'll take another look at that.
Thanks
- Florian
next prev parent reply other threads:[~2026-03-27 7:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 10:12 [PATCH 0/5] PCI: intel-gw: Fixes to make the driver working again Florian Eckert
2026-03-17 10:12 ` [PATCH 1/5] PCI: intel-gw: Move interrupt enable to own function Florian Eckert
2026-03-26 14:00 ` Manivannan Sadhasivam
2026-03-27 8:18 ` Florian Eckert
2026-03-27 10:00 ` Manivannan Sadhasivam
2026-03-17 10:12 ` [PATCH 2/5] PCI: intel-gw: Enable clock before phy init Florian Eckert
2026-03-26 16:08 ` Manivannan Sadhasivam
2026-03-27 7:42 ` Florian Eckert [this message]
2026-03-27 10:02 ` Manivannan Sadhasivam
2026-03-17 10:12 ` [PATCH 3/5] PCI: intel-gw: Add start_link callback function Florian Eckert
2026-03-26 16:13 ` Manivannan Sadhasivam
2026-03-17 10:12 ` [PATCH 4/5] PCI: intel-gw: Remove atu base assignment Florian Eckert
2026-03-26 16:15 ` Manivannan Sadhasivam
2026-03-27 11:44 ` Florian Eckert
2026-03-30 7:14 ` Manivannan Sadhasivam
2026-03-17 10:12 ` [PATCH 5/5] PCI: intel-gw: Remove unused define Florian Eckert
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=f8a998cfb826d7b6d4b7a057f9ac6747@dev.tdt.de \
--to=fe@dev.tdt.de \
--cc=ajayagarwal@google.com \
--cc=bhelgaas@google.com \
--cc=johan+linaro@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=lchuanhua@maxlinear.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@kernel.org \
--cc=sdalvi@google.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