summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/stv0900_core.c
diff options
context:
space:
mode:
authorAbylay Ospan <aospan@netup.ru>2009-07-19 18:15:45 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 12:18:03 -0300
commitfc7e4a3e7201ee8a9a6359fdbcb6677231f353b5 (patch)
treeafec4656134b1ef262ef8ae78497305434af7923 /drivers/media/dvb/frontends/stv0900_core.c
parent644c7ef0b9a9c4f4dec4a44249b7047452654722 (diff)
downloadop-kernel-dev-fc7e4a3e7201ee8a9a6359fdbcb6677231f353b5.zip
op-kernel-dev-fc7e4a3e7201ee8a9a6359fdbcb6677231f353b5.tar.gz
V4L/DVB (12312): stv0900: fix i2c repeater configuration must be set to manual
In automatic mode every stop event on SDA line ends repetition. However, in NetUP Dual card on the same i2c bus we have several devices. If someone using both adapters to lock simultaneously or working with CAM interface during lock procedure, it lead to end repetition prematurely quite often. Set stv0900 i2c repeater to manual mode prevents such situation. Signed-off-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/stv0900_core.c')
-rw-r--r--drivers/media/dvb/frontends/stv0900_core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/stv0900_core.c b/drivers/media/dvb/frontends/stv0900_core.c
index 1da045f..3bde332 100644
--- a/drivers/media/dvb/frontends/stv0900_core.c
+++ b/drivers/media/dvb/frontends/stv0900_core.c
@@ -230,8 +230,8 @@ enum fe_stv0900_error stv0900_initialize(struct stv0900_internal *i_params)
stv0900_write_reg(i_params, R0900_P2_DMDISTATE, 0x5c);
stv0900_write_reg(i_params, R0900_P1_TNRCFG, 0x6c);
stv0900_write_reg(i_params, R0900_P2_TNRCFG, 0x6f);
- stv0900_write_reg(i_params, R0900_P1_I2CRPT, 0x24);
- stv0900_write_reg(i_params, R0900_P2_I2CRPT, 0x24);
+ stv0900_write_reg(i_params, R0900_P1_I2CRPT, 0x20);
+ stv0900_write_reg(i_params, R0900_P2_I2CRPT, 0x20);
stv0900_write_reg(i_params, R0900_NCOARSE, 0x13);
msleep(3);
stv0900_write_reg(i_params, R0900_I2CCFG, 0x08);
@@ -370,8 +370,8 @@ static int stv0900_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
u32 fi2c;
dmd_reg(fi2c, F0900_P1_I2CT_ON, F0900_P2_I2CT_ON);
- if (enable)
- stv0900_write_bits(i_params, fi2c, 1);
+
+ stv0900_write_bits(i_params, fi2c, enable);
return 0;
}
OpenPOWER on IntegriCloud