[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