Hi Patrick, this is the patch that works for me. It is against the current v4l-dvb mercurial, but I guess you wanted to have reg52 dynamically coming from the dibx000_agc_config. --- linux/drivers/media/dvb/frontends/dib3000mc.c.orig 2006-09-27 23:32:40.000000000 +0100 +++ linux/drivers/media/dvb/frontends/dib3000mc.c 2006-09-27 22:28:51.000000000 +0100 @@ -152,13 +152,13 @@ static int dib3000mc_set_timing(struct d static int dib3000mc_setup_pwm_state(struct dib3000mc_state *state) { - u16 reg_51, reg_52 = state->cfg->agc->setup & 0xfefb; + u16 reg_51, reg_52; if (state->cfg->pwm3_inversion) { reg_51 = (2 << 14) | (0 << 10) | (7 << 6) | (2 << 2) | (2 << 0); - reg_52 |= (1 << 2); + reg_52 = (0 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (1 << 2) | (2 << 0); } else { reg_51 = (2 << 14) | (4 << 10) | (7 << 6) | (2 << 2) | (2 << 0); - reg_52 |= (1 << 8); + reg_52 = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0); } dib3000mc_write_word(state, 51, reg_51); dib3000mc_write_word(state, 52, reg_52); _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb