media: mgb4: Fix CMT registers update logic
commit dd05443189f9ae175dd806594b67bf55ddb6539e upstream.
The CMT "magic values" registers must be updated while the CMT reset
registers are active.
Fixes: 0ab13674a9 ("media: pci: mgb4: Added Digiteq Automotive MGB4 driver")
Cc: stable@vger.kernel.org
Signed-off-by: Martin Tůma <martin.tuma@digiteqautomotive.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ced0ddecc0
commit
1c673fa888
@@ -206,10 +206,11 @@ u32 mgb4_cmt_set_vout_freq(struct mgb4_vout_dev *voutdev, unsigned int freq)
|
||||
|
||||
mgb4_write_reg(video, regs->config, 0x1 | (config & ~0x3));
|
||||
|
||||
mgb4_mask_reg(video, regs->config, 0x100, 0x100);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(cmt_addrs_out[0]); i++)
|
||||
mgb4_write_reg(&voutdev->mgbdev->cmt, addr[i], reg_set[i]);
|
||||
|
||||
mgb4_mask_reg(video, regs->config, 0x100, 0x100);
|
||||
mgb4_mask_reg(video, regs->config, 0x100, 0x0);
|
||||
|
||||
mgb4_write_reg(video, regs->config, config & ~0x1);
|
||||
@@ -236,10 +237,11 @@ void mgb4_cmt_set_vin_freq_range(struct mgb4_vin_dev *vindev,
|
||||
|
||||
mgb4_write_reg(video, regs->config, 0x1 | (config & ~0x3));
|
||||
|
||||
mgb4_mask_reg(video, regs->config, 0x1000, 0x1000);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(cmt_addrs_in[0]); i++)
|
||||
mgb4_write_reg(&vindev->mgbdev->cmt, addr[i], reg_set[i]);
|
||||
|
||||
mgb4_mask_reg(video, regs->config, 0x1000, 0x1000);
|
||||
mgb4_mask_reg(video, regs->config, 0x1000, 0x0);
|
||||
|
||||
mgb4_write_reg(video, regs->config, config & ~0x1);
|
||||
|
||||
Reference in New Issue
Block a user