summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/stm32
diff options
context:
space:
mode:
authorHugues Fruchet <hugues.fruchet@st.com>2017-08-22 10:41:09 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-08-26 14:08:39 -0400
commit7b7805e58c0095017e3dce939f1af080fc90db79 (patch)
tree354b9eeea2fb57a579fd818308bf104b2c1f7d53 /drivers/media/platform/stm32
parent134e15e6815921cb6db4fa6a0453df3441989fad (diff)
downloadop-kernel-dev-7b7805e58c0095017e3dce939f1af080fc90db79.zip
op-kernel-dev-7b7805e58c0095017e3dce939f1af080fc90db79.tar.gz
media: stm32-dcmi: revisit control register handling
Simplify bits handling of DCMI_CR register. Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/stm32')
-rw-r--r--drivers/media/platform/stm32/stm32-dcmi.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
index 7ffb2d3..1fe2d0f 100644
--- a/drivers/media/platform/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/stm32/stm32-dcmi.c
@@ -490,7 +490,7 @@ static int dcmi_start_streaming(struct vb2_queue *vq, unsigned int count)
{
struct stm32_dcmi *dcmi = vb2_get_drv_priv(vq);
struct dcmi_buf *buf, *node;
- u32 val;
+ u32 val = 0;
int ret;
ret = clk_enable(dcmi->mclk);
@@ -510,22 +510,16 @@ static int dcmi_start_streaming(struct vb2_queue *vq, unsigned int count)
spin_lock_irq(&dcmi->irqlock);
- val = reg_read(dcmi->regs, DCMI_CR);
-
- val &= ~(CR_PCKPOL | CR_HSPOL | CR_VSPOL |
- CR_EDM_0 | CR_EDM_1 | CR_FCRC_0 |
- CR_FCRC_1 | CR_JPEG | CR_ESS);
-
/* Set bus width */
switch (dcmi->bus.bus_width) {
case 14:
- val &= CR_EDM_0 + CR_EDM_1;
+ val |= CR_EDM_0 | CR_EDM_1;
break;
case 12:
- val &= CR_EDM_1;
+ val |= CR_EDM_1;
break;
case 10:
- val &= CR_EDM_0;
+ val |= CR_EDM_0;
break;
default:
/* Set bus width to 8 bits by default */
OpenPOWER on IntegriCloud