1. 17 6月, 2009 2 次提交
  2. 16 6月, 2009 6 次提交
  3. 13 6月, 2009 8 次提交
  4. 05 6月, 2009 2 次提交
  5. 04 6月, 2009 1 次提交
  6. 13 5月, 2009 1 次提交
  7. 12 5月, 2009 3 次提交
  8. 05 5月, 2009 3 次提交
    • E
      i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30) · 2196d1cf
      Enrik Berkhan 提交于
      Currently, the i2c-algo-pca driver does nothing if the chip enters state
      0x30 (Data byte in I2CDAT has been transmitted; NOT ACK has been
      received).  Thus, the i2c bus connected to the controller gets stuck
      afterwards.
      
      I have seen this kind of error on a custom board in certain load
      situations most probably caused by interference or noise.
      
      A possible reaction is to let the controller generate a STOP condition.
      This is documented in the PCA9564 data sheet (2006-09-01) and the same
      is done for other NACK states as well.
      
      Further, state 0x38 isn't handled completely, either. Try to do another
      START in this case like the data sheet says. As this couldn't be tested,
      I've added a comment to try to reset the chip if the START doesn't help
      as suggested by Wolfram Sang.
      Signed-off-by: NEnrik Berkhan <Enrik.Berkhan@ge.com>
      Reviewed-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      2196d1cf
    • D
      i2c-algo-bit: Fix timeout test · 0cdba07b
      Dave Airlie 提交于
      When fetching DDC using i2c algo bit, we were often seeing timeouts
      before getting valid EDID on a retry. The VESA spec states 2ms is the
      DDC timeout, so when this translates into 1 jiffie and we are close
      to the end of the time period, it could return with a timeout less than
      2ms.
      
      Change this code to use time_after instead of time_after_eq.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      0cdba07b
    • R
      i2c: Timeouts off by 1 · 4ccc28f7
      Roel Kluin 提交于
      with while (timeout++ < MAX_TIMEOUT); timeout reaches MAX_TIMEOUT + 1
      after the loop, so the tests below are off by one.
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      4ccc28f7
  9. 04 5月, 2009 1 次提交
  10. 13 4月, 2009 3 次提交
  11. 07 4月, 2009 10 次提交