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.

Reply via email to