Re: [PATCH v2 2/2] mtd: nand: raw: gpmi: improve power management handling

Miquel Raynal
2024-10-07T09:52:25Z

Hi Miquel,

miquel.raynal@bootlin.com wrote on Fri, 4 Oct 2024 09:21:44 +0200:

> Hi Han,
>
> han.xu@nxp.com wrote on Thu, 3 Oct 2024 15:05:08 -0500:
>
> > On 24/10/03 05:28PM, Miquel Raynal wrote:
> > > Hi Han,
> > >
> > > han.xu@nxp.com wrote on Thu, 3 Oct 2024 10:05:16 -0500:
> > >
> > > > On 24/10/03 09:38AM, Miquel Raynal wrote:
> > > > > Hi Han,
> > > > >
> > > > > han.xu@nxp.com wrote on Wed, 2 Oct 2024 10:39:44 -0500:
> > > > >
> > > > > > The commit refactors the power management handling in the gpmi nand
> > > > > > driver. It removes redundant pm_runtime calls in the probe function,
> > > > > > handles the pad control in suspend and resume, and moves the calls to
> > > > > > acquire and release DMA channels to the runtime suspend and resume
> > > > > > functions.
> > > > >
> > > > > May I know the motivation to acquire and release the DMA channels
> > > > > during suspend? In general it seems like a different change which I'd
> > > > > prefer to see in its own commit with a justification. The rest looks
> > > > > ok otherwise.
> > > >
> > > > Hi Miquel,
> > > >
> > > > Thanks for your comments. IMHO there is no much logic changes indeed, just move
> > > > the dma channel acquire and release from system pm to the runtime pm, releasing
> > > > the unused resources as early as possible. If you think it's necessary I will
> > > > split the patch into two parts.
> > >
> > > Actually I don't understand why these channels are released and
> > > acquired again. Does it make sense to do that in the (runtime)
> > > suspend/resume path? I'd be in favor of avoiding this extra
> > > configuration which as a first sight does not seem required here.
> >
> > Our local mxs-dma driver (will upstream the changes later) implemented the runtime
> > resume/suspend in channel alloc/release functions, so I did this in the gpmi
> > nand driver suspend/resume path.
>
> I think it no longer makes sense. RPM takes care of the
> suppliers, at least since fw_devlink=rpm.

Just to be clear, you can send v3 addressing Frank's comment and just
keep the DMA channels handling as it is, but please work on removing
this hack of dropping/allocating DMA channels in suspend/resume path, it
is really not worth the trouble and purely useless with any recent
kernel.

Thanks,
Miquèl