Commit 7eba47ab authored by Dafna Hirschfeld's avatar Dafna Hirschfeld Committed by Mauro Carvalho Chehab

media: staging: rkisp1: cap: protect access to buf with the spin lock

The function 'rkisp1_stream_start' calls 'rkisp1_set_next_buf'
which access the buffers, so the call should be protected by
taking the cap->buf.lock.
After this patch, all locks are reviewed and commented so remove
the TODO item "review and comment every lock"
Signed-off-by: default avatarDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 1d509915
* Fix pad format size for statistics and parameters entities. * Fix pad format size for statistics and parameters entities.
* Fix checkpatch errors. * Fix checkpatch errors.
* Review and comment every lock
* Add uapi docs. Remember to add documentation of how quantization is handled. * Add uapi docs. Remember to add documentation of how quantization is handled.
* streaming paths (mainpath and selfpath) check if the other path is streaming * streaming paths (mainpath and selfpath) check if the other path is streaming
in several places of the code, review this, specially that it doesn't seem it in several places of the code, review this, specially that it doesn't seem it
......
...@@ -955,6 +955,7 @@ static void rkisp1_stream_start(struct rkisp1_capture *cap) ...@@ -955,6 +955,7 @@ static void rkisp1_stream_start(struct rkisp1_capture *cap)
cap->ops->config(cap); cap->ops->config(cap);
/* Setup a buffer for the next frame */ /* Setup a buffer for the next frame */
spin_lock_irq(&cap->buf.lock);
rkisp1_set_next_buf(cap); rkisp1_set_next_buf(cap);
cap->ops->enable(cap); cap->ops->enable(cap);
/* It's safe to config ACTIVE and SHADOW regs for the /* It's safe to config ACTIVE and SHADOW regs for the
...@@ -972,6 +973,7 @@ static void rkisp1_stream_start(struct rkisp1_capture *cap) ...@@ -972,6 +973,7 @@ static void rkisp1_stream_start(struct rkisp1_capture *cap)
RKISP1_CIF_MI_INIT_SOFT_UPD, RKISP1_CIF_MI_INIT); RKISP1_CIF_MI_INIT_SOFT_UPD, RKISP1_CIF_MI_INIT);
rkisp1_set_next_buf(cap); rkisp1_set_next_buf(cap);
} }
spin_unlock_irq(&cap->buf.lock);
cap->is_streaming = true; cap->is_streaming = true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment