1. 10 2月, 2017 1 次提交
    • C
      i2c: riic: correctly finish transfers · 71ccea09
      Chris Brandt 提交于
      This fixes the condition where the controller has not fully completed its
      final transfer and leaves the bus and controller in a undesirable state.
      
      At the end of the last transmitted byte, the existing driver would just
      signal for a STOP condition to be transmitted then immediately signal
      completion. However, the full STOP procedure might not have fully taken
      place by the time the runtime PM shuts off the peripheral clock, leaving
      the bus in a suspended state.
      
      Alternatively, the STOP condition on the bus may have completed, but when
      the next transaction is requested by the upper layer, not all the
      necessary register cleanup was finished from the last transfer which made
      the driver return BUS BUSY when it really wasn't.
      
      This patch now makes all transmit and receive transactions wait for the
      STOP condition to fully complete before signaling a completed transaction.
      With this new method, runtime PM no longer seems to be an issue.
      
      Fixes: 310c18a4 ("i2c: riic: add driver")
      Signed-off-by: NChris Brandt <chris.brandt@renesas.com>
      Reviewed-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      71ccea09
  2. 22 8月, 2016 1 次提交
  3. 20 10月, 2014 1 次提交
  4. 03 6月, 2014 1 次提交
  5. 02 1月, 2014 1 次提交