Re: [PATCH] media: i2c: improve suspend/resume switch performance for GT9769 VCM driver
From: Zhi Mao (毛智)
Date: Fri Oct 11 2024 - 23:35:12 EST
Hi Fei,
Thanks for your review.
On Mon, 2024-09-23 at 17:07 +0800, Fei Shao wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Hi Zhi,
>
> On Sat, Aug 31, 2024 at 1:54 PM Zhi Mao <zhi.mao@xxxxxxxxxxxx> wrote:
>
> Suggestion for the new patch title:
> media: i2c: dw9768: Use runtime PM autosuspend
>
> to better describe "what" this patch does to the DW9768 driver, not
> "why".
> Also there's nothing to do with GT9769 in this patch.
>
> >
> > Chromebook camera AP can switch between video and photo mode,
> > the behavior corresponding to VCM is suspend and resume,
> > it will cause camera preview is not smooth during switching
> operation.
> > We use autosuspend function can fix this issue.
> >
> > Signed-off-by: Zhi Mao <zhi.mao@xxxxxxxxxxxx>
> > ---
> > drivers/media/i2c/dw9768.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/media/i2c/dw9768.c
> b/drivers/media/i2c/dw9768.c
> > index 18ef2b35c9aa..7449d29df901 100644
> > --- a/drivers/media/i2c/dw9768.c
> > +++ b/drivers/media/i2c/dw9768.c
> > @@ -374,7 +374,7 @@ static int dw9768_open(struct v4l2_subdev *sd,
> struct v4l2_subdev_fh *fh)
> >
> > static int dw9768_close(struct v4l2_subdev *sd, struct
> v4l2_subdev_fh *fh)
> > {
> > - pm_runtime_put(sd->dev);
>
> Call pm_runtime_mark_last_busy() to update the power.last_busy field
> for autosuspend to work properly.
>
> > + pm_runtime_put_sync_autosuspend(sd->dev);
>
> Use pm_runtime_put_autosuspend().
> Don't switch to the synchronized variant without reasons.
>
> >
> > return 0;
> > }
> > @@ -490,6 +490,7 @@ static int dw9768_probe(struct i2c_client
> *client)
> > goto err_power_off;
> > }
> >
> > + pm_runtime_use_autosuspend(dev);
>
> Add pm_runtime_set_autosuspend_delay() before calling
> pm_runtime_use_autosuspend() to avoid rapid power state bouncing.
>
I have fixed these suggestion above.
please review patch:
https://lore.kernel.org/all/20241012032805.23545-1-zhi.mao@xxxxxxxxxxxx/
> Regards,
> Fei
>
>
>
> > pm_runtime_idle(dev);
> >
> > return 0;
> > --
> > 2.46.0
> >
> >