diff options
author | Devin Heitmueller <dheitmueller@kernellabs.com> | 2012-08-06 21:46:51 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-08-09 19:29:15 -0400 |
commit | a307cfa55e2bf7889792e158e45355ccb1e63d80 (patch) | |
tree | 2a9e4ec3afb2535d04617c4b093edcc0a5873b50 /drivers/media/dvb/frontends/au8522_decoder.c | |
parent | cf5337358548b813479b58478539fc20ee86556c (diff) |
[media] au8522: fix intermittent lockup of analog video decoder
It turns up the autodetection for the video standard in the au8522 is
prone to hanging the chip until a reset is performed. This condition is
trivial to reproduce simply by tuning to a station and then rapidly
unplugging/ replugging the coax feed.
Because we've never claimed to support anything other than NTSC-M, just
disable the video-standard autodetection logic and force it to always be
NTSC-M.
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/au8522_decoder.c')
-rw-r--r-- | drivers/media/dvb/frontends/au8522_decoder.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/au8522_decoder.c b/drivers/media/dvb/frontends/au8522_decoder.c index 55b6390198e3..f2e786b606fd 100644 --- a/drivers/media/dvb/frontends/au8522_decoder.c +++ b/drivers/media/dvb/frontends/au8522_decoder.c | |||
@@ -257,9 +257,11 @@ static void setup_decoder_defaults(struct au8522_state *state, u8 input_mode) | |||
257 | au8522_writereg(state, AU8522_TVDED_DBG_MODE_REG060H, | 257 | au8522_writereg(state, AU8522_TVDED_DBG_MODE_REG060H, |
258 | AU8522_TVDED_DBG_MODE_REG060H_CVBS); | 258 | AU8522_TVDED_DBG_MODE_REG060H_CVBS); |
259 | au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL1_REG061H, | 259 | au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL1_REG061H, |
260 | AU8522_TVDEC_FORMAT_CTRL1_REG061H_CVBS13); | 260 | AU8522_TVDEC_FORMAT_CTRL1_REG061H_FIELD_LEN_525 | |
261 | AU8522_TVDEC_FORMAT_CTRL1_REG061H_LINE_LEN_63_492 | | ||
262 | AU8522_TVDEC_FORMAT_CTRL1_REG061H_SUBCARRIER_NTSC_MN); | ||
261 | au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL2_REG062H, | 263 | au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL2_REG062H, |
262 | AU8522_TVDEC_FORMAT_CTRL2_REG062H_CVBS13); | 264 | AU8522_TVDEC_FORMAT_CTRL2_REG062H_STD_NTSC); |
263 | au8522_writereg(state, AU8522_TVDEC_VCR_DET_LLIM_REG063H, | 265 | au8522_writereg(state, AU8522_TVDEC_VCR_DET_LLIM_REG063H, |
264 | AU8522_TVDEC_VCR_DET_LLIM_REG063H_CVBS); | 266 | AU8522_TVDEC_VCR_DET_LLIM_REG063H_CVBS); |
265 | au8522_writereg(state, AU8522_TVDEC_VCR_DET_HLIM_REG064H, | 267 | au8522_writereg(state, AU8522_TVDEC_VCR_DET_HLIM_REG064H, |