2021-05-04 17:24:14

by Vidya Sagar

[permalink] [raw]
Subject: [PATCH] PCI: tegra: Fix host initialization during resume

Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
host initialization during resume as it misses out calling the API
dw_pcie_setup_rc() which is required for host and MSI initialization.

Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
Signed-off-by: Vidya Sagar <[email protected]>
---
drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index 6fa216e52d14..4c3c0738f2e6 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
goto fail_host_init;
}

+ dw_pcie_setup_rc(&pcie->pci.pp);
+
ret = tegra_pcie_dw_start_link(&pcie->pci);
if (ret < 0)
goto fail_host_init;
--
2.17.1


2021-05-06 10:06:39

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume


On 04/05/2021 18:21, Vidya Sagar wrote:
> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
> host initialization during resume as it misses out calling the API
> dw_pcie_setup_rc() which is required for host and MSI initialization.
>
> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
> Signed-off-by: Vidya Sagar <[email protected]>
> ---
> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 6fa216e52d14..4c3c0738f2e6 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
> goto fail_host_init;
> }
>
> + dw_pcie_setup_rc(&pcie->pci.pp);
> +
> ret = tegra_pcie_dw_start_link(&pcie->pci);
> if (ret < 0)
> goto fail_host_init;
>


Thanks for fixing!

Tested-by: Jon Hunter <[email protected]>

We should also mark this for stable so that this gets back-ported.

Jon

--
nvpublic

2021-05-17 22:30:51

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume

Hi Lorenzo, Bjorn,

On 06/05/2021 09:49, Jon Hunter wrote:
>
> On 04/05/2021 18:21, Vidya Sagar wrote:
>> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
>> host initialization during resume as it misses out calling the API
>> dw_pcie_setup_rc() which is required for host and MSI initialization.
>>
>> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
>> Signed-off-by: Vidya Sagar <[email protected]>
>> ---
>> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
>> index 6fa216e52d14..4c3c0738f2e6 100644
>> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
>> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
>> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
>> goto fail_host_init;
>> }
>>
>> + dw_pcie_setup_rc(&pcie->pci.pp);
>> +
>> ret = tegra_pcie_dw_start_link(&pcie->pci);
>> if (ret < 0)
>> goto fail_host_init;
>>
>
>
> Thanks for fixing!
>
> Tested-by: Jon Hunter <[email protected]>
>
> We should also mark this for stable so that this gets back-ported.


Can we queue this as a fix for v5.13 and tag for stable?

Thanks!
Jon

--
nvpublic

2021-05-18 19:16:58

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume

On Mon, May 17, 2021 at 03:11:00PM +0100, Jon Hunter wrote:
> Hi Lorenzo, Bjorn,
>
> On 06/05/2021 09:49, Jon Hunter wrote:
> >
> > On 04/05/2021 18:21, Vidya Sagar wrote:
> >> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
> >> host initialization during resume as it misses out calling the API
> >> dw_pcie_setup_rc() which is required for host and MSI initialization.
> >>
> >> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
> >> Signed-off-by: Vidya Sagar <[email protected]>
> >> ---
> >> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> >> index 6fa216e52d14..4c3c0738f2e6 100644
> >> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> >> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> >> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
> >> goto fail_host_init;
> >> }
> >>
> >> + dw_pcie_setup_rc(&pcie->pci.pp);
> >> +
> >> ret = tegra_pcie_dw_start_link(&pcie->pci);
> >> if (ret < 0)
> >> goto fail_host_init;
> >>
> >
> >
> > Thanks for fixing!
> >
> > Tested-by: Jon Hunter <[email protected]>
> >
> > We should also mark this for stable so that this gets back-ported.
>
>
> Can we queue this as a fix for v5.13 and tag for stable?

We usually send fixes for -rc* when the patches they are fixing
were merged in the current cycle (ie merged for v5.13).

This is not the case so I shall send it for v5.14.

Lorenzo

2021-05-18 20:08:57

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume

On Mon, May 17, 2021 at 05:18:36PM +0100, Lorenzo Pieralisi wrote:
> On Mon, May 17, 2021 at 03:11:00PM +0100, Jon Hunter wrote:
> > Hi Lorenzo, Bjorn,
> >
> > On 06/05/2021 09:49, Jon Hunter wrote:
> > >
> > > On 04/05/2021 18:21, Vidya Sagar wrote:
> > >> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
> > >> host initialization during resume as it misses out calling the API
> > >> dw_pcie_setup_rc() which is required for host and MSI initialization.
> > >>
> > >> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
> > >> Signed-off-by: Vidya Sagar <[email protected]>
> > >> ---
> > >> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
> > >> 1 file changed, 2 insertions(+)
> > >>
> > >> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > >> index 6fa216e52d14..4c3c0738f2e6 100644
> > >> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > >> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > >> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
> > >> goto fail_host_init;
> > >> }
> > >>
> > >> + dw_pcie_setup_rc(&pcie->pci.pp);
> > >> +
> > >> ret = tegra_pcie_dw_start_link(&pcie->pci);
> > >> if (ret < 0)
> > >> goto fail_host_init;
> > >
> > > Thanks for fixing!
> > >
> > > Tested-by: Jon Hunter <[email protected]>
> > >
> > > We should also mark this for stable so that this gets back-ported.
> >
> > Can we queue this as a fix for v5.13 and tag for stable?
>
> We usually send fixes for -rc* when the patches they are fixing
> were merged in the current cycle (ie merged for v5.13).

Looks like this has been broken since v5.11-rc1 (December 27, 2020),
when 275e88b06a27 was merged. Probably would be worth an occasional
boot test to make sure things stay working.

> This is not the case so I shall send it for v5.14.
>
> Lorenzo

2021-05-18 21:13:30

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume


On 17/05/2021 17:47, Bjorn Helgaas wrote:
> On Mon, May 17, 2021 at 05:18:36PM +0100, Lorenzo Pieralisi wrote:
>> On Mon, May 17, 2021 at 03:11:00PM +0100, Jon Hunter wrote:
>>> Hi Lorenzo, Bjorn,
>>>
>>> On 06/05/2021 09:49, Jon Hunter wrote:
>>>>
>>>> On 04/05/2021 18:21, Vidya Sagar wrote:
>>>>> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
>>>>> host initialization during resume as it misses out calling the API
>>>>> dw_pcie_setup_rc() which is required for host and MSI initialization.
>>>>>
>>>>> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
>>>>> Signed-off-by: Vidya Sagar <[email protected]>
>>>>> ---
>>>>> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
>>>>> 1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> index 6fa216e52d14..4c3c0738f2e6 100644
>>>>> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
>>>>> goto fail_host_init;
>>>>> }
>>>>>
>>>>> + dw_pcie_setup_rc(&pcie->pci.pp);
>>>>> +
>>>>> ret = tegra_pcie_dw_start_link(&pcie->pci);
>>>>> if (ret < 0)
>>>>> goto fail_host_init;
>>>>
>>>> Thanks for fixing!
>>>>
>>>> Tested-by: Jon Hunter <[email protected]>
>>>>
>>>> We should also mark this for stable so that this gets back-ported.
>>>
>>> Can we queue this as a fix for v5.13 and tag for stable?
>>
>> We usually send fixes for -rc* when the patches they are fixing
>> were merged in the current cycle (ie merged for v5.13).
>
> Looks like this has been broken since v5.11-rc1 (December 27, 2020),
> when 275e88b06a27 was merged. Probably would be worth an occasional
> boot test to make sure things stay working.


Yes exactly it has been broken for a while and unfortunately went unnoticed.

We do boot test -next, mainline and the various stable branches on our
Tegra boards daily. The boot test did not catch this, but there is a
error generated when resuming from suspend and I am working to ensure we
catch such errors when resuming from suspend.

Cheers
Jon

--
nvpublic

2021-06-03 14:23:44

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] PCI: tegra: Fix host initialization during resume

On Tue, 4 May 2021 22:51:57 +0530, Vidya Sagar wrote:
> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
> host initialization during resume as it misses out calling the API
> dw_pcie_setup_rc() which is required for host and MSI initialization.

Applied to pci/tegra, thanks!

[1/1] PCI: tegra: Fix host initialization during resume
https://git.kernel.org/lpieralisi/pci/c/d0180ba464

Thanks,
Lorenzo