aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/au8522_decoder.c
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@kernellabs.com>2012-08-06 21:46:51 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-09 19:29:15 -0400
commita307cfa55e2bf7889792e158e45355ccb1e63d80 (patch)
tree2a9e4ec3afb2535d04617c4b093edcc0a5873b50 /drivers/media/dvb/frontends/au8522_decoder.c
parentcf5337358548b813479b58478539fc20ee86556c (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.c6
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,