v4l: vsp1: Fill display list headers without holding dlm spinlock
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>
This commit is contained in:
parent
e6742e1021
commit
1dd48e4876
1 changed files with 4 additions and 2 deletions
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue