mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 14:04:05 +08:00
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 <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
ded38d2806
commit
559463bba8
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user