Commit 28185917 authored by Manu Abraham's avatar Manu Abraham Committed by Mauro Carvalho Chehab

V4L/DVB (13800): [Mantis] I2C optimization. Required delay is much lesser than 1mS.

Do not wait, keep looping instead.
Signed-off-by: default avatarManu Abraham <manu@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 68fe255c
...@@ -58,7 +58,6 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg *msg) ...@@ -58,7 +58,6 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg *msg)
/* wait for xfer completion */ /* wait for xfer completion */
for (trials = 0; trials < TRIALS; trials++) { for (trials = 0; trials < TRIALS; trials++) {
msleep(1);
stat = mmread(MANTIS_INT_STAT); stat = mmread(MANTIS_INT_STAT);
if (stat & MANTIS_INT_I2CDONE) if (stat & MANTIS_INT_I2CDONE)
break; break;
...@@ -71,7 +70,6 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg *msg) ...@@ -71,7 +70,6 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg *msg)
stat = mmread(MANTIS_INT_STAT); stat = mmread(MANTIS_INT_STAT);
if (stat & MANTIS_INT_I2CRACK) if (stat & MANTIS_INT_I2CRACK)
break; break;
msleep(1);
} }
dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials); dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials);
...@@ -108,7 +106,6 @@ static int mantis_i2c_write(struct mantis_pci *mantis, const struct i2c_msg *msg ...@@ -108,7 +106,6 @@ static int mantis_i2c_write(struct mantis_pci *mantis, const struct i2c_msg *msg
/* wait for xfer completion */ /* wait for xfer completion */
for (trials = 0; trials < TRIALS; trials++) { for (trials = 0; trials < TRIALS; trials++) {
msleep(1);
stat = mmread(MANTIS_INT_STAT); stat = mmread(MANTIS_INT_STAT);
if (stat & MANTIS_INT_I2CDONE) if (stat & MANTIS_INT_I2CDONE)
break; break;
...@@ -121,7 +118,6 @@ static int mantis_i2c_write(struct mantis_pci *mantis, const struct i2c_msg *msg ...@@ -121,7 +118,6 @@ static int mantis_i2c_write(struct mantis_pci *mantis, const struct i2c_msg *msg
stat = mmread(MANTIS_INT_STAT); stat = mmread(MANTIS_INT_STAT);
if (stat & MANTIS_INT_I2CRACK) if (stat & MANTIS_INT_I2CRACK)
break; break;
msleep(1);
} }
dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials); dprintk(MANTIS_TMG, 0, "I2CRACK: trials=%d\n", trials);
...@@ -164,7 +160,6 @@ static int mantis_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, in ...@@ -164,7 +160,6 @@ static int mantis_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, in
mmwrite(txd, MANTIS_I2CDATA_CTL); mmwrite(txd, MANTIS_I2CDATA_CTL);
/* wait for xfer completion */ /* wait for xfer completion */
for (trials = 0; trials < TRIALS; trials++) { for (trials = 0; trials < TRIALS; trials++) {
msleep(1);
stat = mmread(MANTIS_INT_STAT); stat = mmread(MANTIS_INT_STAT);
if (stat & MANTIS_INT_I2CDONE) if (stat & MANTIS_INT_I2CDONE)
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment