[PATCH 14/14] PCI: j721e: add suspend and resume support

Thomas Richard thomas.richard at bootlin.com
Mon Jan 22 07:30:26 PST 2024


Hello Andy,

On 1/15/24 21:13, Andy Shevchenko wrote:
> On Mon, Jan 15, 2024 at 6:16 PM Thomas Richard
> <thomas.richard at bootlin.com> wrote:
>>
>> From: Théo Lebrun <theo.lebrun at bootlin.com>
>>
>> Add suspend and resume support for rc mode.
> 
> Same comments as for earlier patches.
> Since it's wide, please, check the whole series for the same issues
> and address them.
> 
> ...
> 
>> +               if (pcie->reset_gpio)
> 
> Dup, why?

This pcie->reset_gpio corresponds to PERST# of PCIe endpoints.
I assert it during suspend, because I have to deassert it (with a delay)
during resume stage [1].

> 
>> +                       gpiod_set_value_cansleep(pcie->reset_gpio, 0);
> 
> ...
> 
>> +               if (pcie->reset_gpio) {
>> +                       usleep_range(100, 200);
> 
> fsleep() ?
> Btw, why is it needed here, perhaps a comment?

The comment should be the same than in the probe [1].
Should I copy it? Or should I just add a reference to the probe?

[1]
https://elixir.bootlin.com/linux/v6.8-rc1/source/drivers/pci/controller/cadence/pci-j721e.c#L535

> 
>> +                       gpiod_set_value_cansleep(pcie->reset_gpio, 1);
>> +               }
> 
> ...
> 
>> +               ret = cdns_pcie_host_setup(rc, false);
>> +               if (ret < 0) {
>> +                       clk_disable_unprepare(pcie->refclk);
>> +                       return -ENODEV;
> 
> Why is the error code being shadowed?

Yes I should return ret instead.

> 
>> +               }
> 
> ...
> 
>> +#define cdns_pcie_to_rc(p) container_of(p, struct cdns_pcie_rc, pcie)
> 
> Is container_of.h included in this file?

linux/container_of.h is included in linux/kernel.h.
And linux/kernel.h is included in pcie-cadence.h
(https://elixir.bootlin.com/linux/v6.8-rc1/source/drivers/pci/controller/cadence/pcie-cadence.h#L9).

Regards,

-- 
Thomas Richard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com




More information about the linux-phy mailing list