Message ID | 20170626181226.29575-2-laurent.pinchart+renesas@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Laurent, Starts easy ... (I haven't gone through these in numerical order of course :D) On 26/06/17 19:12, Laurent Pinchart wrote: > The display list headers are filled using information from the display > list only. Lower the display list manager spinlock contention by filling > the headers without holding the lock. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > --- > drivers/media/platform/vsp1/vsp1_dl.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/vsp1/vsp1_dl.c b/drivers/media/platform/vsp1/vsp1_dl.c > index aaf17b13fd78..dc47e236c780 100644 > --- a/drivers/media/platform/vsp1/vsp1_dl.c > +++ b/drivers/media/platform/vsp1/vsp1_dl.c > @@ -483,8 +483,6 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl) > unsigned long flags; > bool update; > > - spin_lock_irqsave(&dlm->lock, flags); > - > if (dl->dlm->mode == VSP1_DL_MODE_HEADER) { > struct vsp1_dl_list *dl_child; > > @@ -501,7 +499,11 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl) > > vsp1_dl_list_fill_header(dl_child, last); > } > + } > > + spin_lock_irqsave(&dlm->lock, flags); > + > + if (dl->dlm->mode == VSP1_DL_MODE_HEADER) { > /* > * Commit the head display list to hardware. Chained headers > * will auto-start. >
Em Thu, 13 Jul 2017 13:48:40 +0100 Kieran Bingham <kieranbingham@gmail.com> escreveu: > Hi Laurent, > > Starts easy ... (I haven't gone through these in numerical order of course :D) > > On 26/06/17 19:12, Laurent Pinchart wrote: > > The display list headers are filled using information from the display > > list only. Lower the display list manager spinlock contention by filling > > the headers without holding the lock. > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > > Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Thanks, Mauro
diff --git a/drivers/media/platform/vsp1/vsp1_dl.c b/drivers/media/platform/vsp1/vsp1_dl.c index aaf17b13fd78..dc47e236c780 100644 --- a/drivers/media/platform/vsp1/vsp1_dl.c +++ b/drivers/media/platform/vsp1/vsp1_dl.c @@ -483,8 +483,6 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl) unsigned long flags; bool update; - spin_lock_irqsave(&dlm->lock, flags); - if (dl->dlm->mode == VSP1_DL_MODE_HEADER) { struct vsp1_dl_list *dl_child; @@ -501,7 +499,11 @@ void vsp1_dl_list_commit(struct vsp1_dl_list *dl) vsp1_dl_list_fill_header(dl_child, last); } + } + spin_lock_irqsave(&dlm->lock, flags); + + if (dl->dlm->mode == VSP1_DL_MODE_HEADER) { /* * Commit the head display list to hardware. Chained headers * will auto-start.
The display list headers are filled using information from the display list only. Lower the display list manager spinlock contention by filling the headers without holding the lock. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> --- drivers/media/platform/vsp1/vsp1_dl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)