forked from Minki/linux
V4L/DVB (10434): cx18: Smarter verification of CX18_AUDIO_ENABLE register writes
The CX18_AUDIO_ENABLE register usually never reads back what was just written under normal circumstances. Perform better checking that a write went to the register as expected with a specification of what bits to verify. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
e474200d35
commit
072e6183c2
@ -64,8 +64,7 @@ int cx18_audio_set_io(struct cx18 *cx)
|
||||
val = cx18_read_reg(cx, CX18_AUDIO_ENABLE) & ~0x30;
|
||||
val |= (audio_input > CX18_AV_AUDIO_SERIAL2) ? 0x20 :
|
||||
(audio_input << 4);
|
||||
cx18_write_reg(cx, val | 0xb00, CX18_AUDIO_ENABLE);
|
||||
cx18_vapi(cx, CX18_APU_RESETAI, 1, 0);
|
||||
cx18_write_reg_expect(cx, val | 0xb00, CX18_AUDIO_ENABLE, val, 0x30);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -131,7 +131,8 @@ int cx18_av_loadfw(struct cx18 *cx)
|
||||
v = cx18_read_reg(cx, CX18_AUDIO_ENABLE);
|
||||
/* If bit 11 is 1, clear bit 10 */
|
||||
if (v & 0x800)
|
||||
cx18_write_reg(cx, v & 0xFFFFFBFF, CX18_AUDIO_ENABLE);
|
||||
cx18_write_reg_expect(cx, v & 0xFFFFFBFF, CX18_AUDIO_ENABLE,
|
||||
0, 0x400);
|
||||
|
||||
/* Enable WW auto audio standard detection */
|
||||
v = cx18_av_read4(cx, CXADEC_STD_DET_CTL);
|
||||
|
Loading…
Reference in New Issue
Block a user