Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Busy waiting in i2c_busy_rise_and_fall (was: Re: Re: full featured card without signal and required video memory investigation)
Oliver Endriss wrote:
> you might consider this patch:
[snip]
What not make explicit what Robert said (pseudo-code):
(Note that the comment for i2c_busy_rise_and_fall() says "if we are
debugging it checks if the busy flags rises and falls correctly").
(void) i2c_status_check(saa); /* 1st read returns garbage */
while (!timeout) {
/* I don't know if this loop is necessary at all, or if
* SAA7146_I2C_BUSY is guaranteed to be set after the
* first dummy read (unless SAA7146_I2C_ERR)
*/
status = i2c_status_check(saa);
if (status & SAA7146_I2C_BUSY)
break;
cond_resched();
udelay(100); /* don't know if it's any good to busy read I2C_STATUS*/
}
while (!timeout) {
status = i2c_status_check(saa);
if ((status & SAA7146_I2C_ERR) || !(status & SAA7146_I2C_BUSY))
break;
cond_resched();
udelay(100);
}
> -static u32 SAA7146_I2C_BBR = SAA7146_I2C_BUS_BIT_RATE_3200;
> +static u32 SAA7146_I2C_BBR = SAA7146_I2C_BUS_BIT_RATE_120; /* 275 kHz */
I guess Michael Hunold has had a reason to do that. May his analog TV
cards have problems with that bus clock.
Johannes
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index