Hi Jacopo, Thank you for the patch. On Mon, Feb 24, 2025 at 09:19:43PM +0100, Jacopo Mondi wrote: > The vsp1_dl library allows to program a display list and feed it > continuously to the VSP2. As an alternative operation mode, the library > allows to program the VSP2 in 'single shot' mode, where a display list > is submitted to the VSP on request only. > > Currently the 'single shot' mode is only available when the VSP2 is > controlled by userspace, while it works in continuous mode when driven > by DRM, as frames have to be submitted to the display continuously. > > For the VSPX use case, where there is no uapi support, we should however > work in single-shot mode as the ISP driver programs the VSPX on > request. > > Initialize the display lists in single shot mode in case the VSP1 is > controlled by userspace or in case the pipeline features an IIF entity, > as in the VSPX case. > > Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > Signed-off-by: Jacopo Mondi <jacopo.mondi+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/renesas/vsp1/vsp1_dl.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_dl.c b/drivers/media/platform/renesas/vsp1/vsp1_dl.c > index ad3fa1c9cc737c92870c087dd7cb8cf584fce41b..b8f0398522257f2fb771b419f34b56e59707476b 100644 > --- a/drivers/media/platform/renesas/vsp1/vsp1_dl.c > +++ b/drivers/media/platform/renesas/vsp1/vsp1_dl.c > @@ -1099,7 +1099,12 @@ struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1, > return NULL; > > dlm->index = index; > - dlm->singleshot = vsp1->info->uapi; > + /* > + * uapi = single shot mode; > + * DRM = continuous mode; > + * VSPX = single shot mode; > + */ > + dlm->singleshot = (vsp1->info->uapi || vsp1->iif); Drop the parentheses. Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > dlm->vsp1 = vsp1; > > spin_lock_init(&dlm->lock); -- Regards, Laurent Pinchart