[media] IX2505V Keep I2C gate control alive
Gate could close after first I2C message. On stv0288 it does. Keep 2nd and 3rd message I2C gate control alive. Remove unnecessary gate closing in this module. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
08921ac9e9
commit
853e3b2930
|
@ -218,11 +218,13 @@ static int ix2505v_set_params(struct dvb_frontend *fe,
|
||||||
fe->ops.i2c_gate_ctrl(fe, 1);
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
|
||||||
len = sizeof(data);
|
len = sizeof(data);
|
||||||
|
|
||||||
ret |= ix2505v_write(state, data, len);
|
ret |= ix2505v_write(state, data, len);
|
||||||
|
|
||||||
data[2] |= 0x4; /* set TM = 1 other bits same */
|
data[2] |= 0x4; /* set TM = 1 other bits same */
|
||||||
|
|
||||||
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
|
||||||
len = 1;
|
len = 1;
|
||||||
ret |= ix2505v_write(state, &data[2], len); /* write byte 4 only */
|
ret |= ix2505v_write(state, &data[2], len); /* write byte 4 only */
|
||||||
|
|
||||||
|
@ -233,12 +235,12 @@ static int ix2505v_set_params(struct dvb_frontend *fe,
|
||||||
|
|
||||||
deb_info("Data 2=[%x%x]\n", data[2], data[3]);
|
deb_info("Data 2=[%x%x]\n", data[2], data[3]);
|
||||||
|
|
||||||
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
|
||||||
len = 2;
|
len = 2;
|
||||||
ret |= ix2505v_write(state, &data[2], len); /* write byte 4 & 5 */
|
ret |= ix2505v_write(state, &data[2], len); /* write byte 4 & 5 */
|
||||||
|
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
|
||||||
fe->ops.i2c_gate_ctrl(fe, 0);
|
|
||||||
|
|
||||||
if (state->config->min_delay_ms)
|
if (state->config->min_delay_ms)
|
||||||
msleep(state->config->min_delay_ms);
|
msleep(state->config->min_delay_ms);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue