diff options
author | Andy Walls <awalls@radix.net> | 2009-01-30 20:39:26 -0500 |
---|---|---|
committer | Andy Walls <awalls@radix.net> | 2009-01-30 20:39:26 -0500 |
commit | bb9067ce37544bf82eebcee5ce959dcef1720113 (patch) | |
tree | 19a0373dda9269c1de940c43e8af8a769e408c69 /linux | |
parent | 1a68aa3086f7f370d97adff8c3de35669c02f6f5 (diff) | |
download | mediapointer-dvb-s2-bb9067ce37544bf82eebcee5ce959dcef1720113.tar.gz mediapointer-dvb-s2-bb9067ce37544bf82eebcee5ce959dcef1720113.tar.bz2 |
cx18: Smarter verification of CX18_AUDIO_ENABLE register writes
From: Andy Walls <awalls@radix.net>
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.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/cx18/cx18-audio.c | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/cx18/cx18-av-firmware.c | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-audio.c b/linux/drivers/media/video/cx18/cx18-audio.c index 57beddf0a..d19bd778c 100644 --- a/linux/drivers/media/video/cx18/cx18-audio.c +++ b/linux/drivers/media/video/cx18/cx18-audio.c @@ -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; } diff --git a/linux/drivers/media/video/cx18/cx18-av-firmware.c b/linux/drivers/media/video/cx18/cx18-av-firmware.c index b374c74d3..940ea9352 100644 --- a/linux/drivers/media/video/cx18/cx18-av-firmware.c +++ b/linux/drivers/media/video/cx18/cx18-av-firmware.c @@ -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); |