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 [EMAIL PROTECTED] with "unsubscribe linux-dvb" as
subject.