From 559463bba8b91d36b12f6722dc27440567e4f6be Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Sat, 19 Aug 2006 16:13:53 -0300 Subject: V4L/DVB (4529): Keep the PID parse bit when resetting the output mode Matthieu Castet found that with the rewritten dib3000mc-driver the PID-parsing was handled correctly. This changeset fixes it. Thanks Matthieu Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/frontends/dib3000mc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/dvb/frontends/dib3000mc.c b/drivers/media/dvb/frontends/dib3000mc.c index 0b4b8220b69..6d61237a450 100644 --- a/drivers/media/dvb/frontends/dib3000mc.c +++ b/drivers/media/dvb/frontends/dib3000mc.c @@ -169,7 +169,8 @@ static int dib3000mc_set_output_mode(struct dib3000mc_state *state, int mode) u16 outreg = 0; u16 outmode = 0; u16 elecout = 1; - u16 smo_reg = (0 << 6) | (0 << 5) | (0 << 4) | (0 << 3) | (1 << 1) | 0 ; //smo_mode = 1 + u16 smo_reg = (0 << 6) | (0 << 5) | (0 << 3) | (1 << 1) | 0 | + (dib3000mc_read_word(state, 206) & 0x0010); /* keep the pid_parse bit */ dprintk("-I- Setting output mode for demod %p to %d\n", &state->demod, mode); @@ -197,7 +198,7 @@ static int dib3000mc_set_output_mode(struct dib3000mc_state *state, int mode) P_smo_mode [2;2:1] = 11 P_smo_ovf_prot [1;0:0] = 0 */ - smo_reg = (0 << 6) | (0 << 5) | (0 << 4) | (0 << 3) |(3 << 1) | 0; + smo_reg = (0 << 6) | (0 << 5) | (0 << 3) |(3 << 1) | 0; fifo_threshold = 512; outmode = 5; break; @@ -212,7 +213,7 @@ static int dib3000mc_set_output_mode(struct dib3000mc_state *state, int mode) } if ((state->cfg->output_mpeg2_in_188_bytes)) - smo_reg |= (1 << 5) ; //P_smo_rs_discard [1;5:5] = 1 + smo_reg |= (1 << 5); // P_smo_rs_discard [1;5:5] = 1 outreg = dib3000mc_read_word(state, 244) & 0x07FF; outreg |= (outmode << 11); -- cgit v1.2.3