提交 559463bb 编写于 作者: P Patrick Boettcher 提交者: Mauro Carvalho Chehab

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: NPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 ded38d28
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册