Hi, Julien: On Thu, 2024-07-04 at 15:36 +0200, Julien Stephan wrote: > > External email : Please do not click links or open attachments until you have verified the sender or the content. > From: Phi-bang Nguyen <pnguyen@xxxxxxxxxxxx> > > This driver provides a path to bypass the SoC ISP so that image data > coming from the SENINF can go directly into memory without any image > processing. This allows the use of an external ISP. > > Signed-off-by: Phi-bang Nguyen <pnguyen@xxxxxxxxxxxx> > Signed-off-by: Florian Sylvestre <fsylvestre@xxxxxxxxxxxx> > [Paul Elder fix irq locking] > Signed-off-by: Paul Elder <paul.elder@xxxxxxxxxxxxxxxx> > Co-developed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Co-developed-by: Julien Stephan <jstephan@xxxxxxxxxxxx> > Signed-off-by: Julien Stephan <jstephan@xxxxxxxxxxxx> > --- [snip] > + > +static void mtk_cam_cmos_vf_enable(struct mtk_cam_dev *cam_dev, > + bool enable, bool pak_en) > +{ > +struct device *dev = cam_dev->dev; > +unsigned long flags; > + > +if (pm_runtime_get_sync(dev) < 0) { > +dev_err(dev, "failed to get pm_runtime\n"); > +goto out; > +} > + > +spin_lock_irqsave(&cam_dev->irqlock, flags); The comment of cam_dev->irqlock is "Protects the buffer list". Why do you protect hw_enable/hw_disable? And I think the naming of irqlock should be changed to 'buf_list_lock'. Regards, CK > +if (enable) > +cam_dev->hw_functions->mtk_cam_cmos_vf_hw_enable(cam_dev); > +else > +cam_dev->hw_functions->mtk_cam_cmos_vf_hw_disable(cam_dev); > +spin_unlock_irqrestore(&cam_dev->irqlock, flags); > + > +out: > +pm_runtime_put_autosuspend(dev); > +} > +