1. 20 Dec, 2010 3 commits
    • Sahitya Tummala's avatar
      mmc: msm_sdcc: Reset SDCC in case of data transfer errors · b08bb35d
      Sahitya Tummala authored
      SDCC uses an asynchronous FIFOs for data synchronization (one for TX
      and one for RX).  For any error when DPSM (Data path state machine) is
      involved the transfer is terminated with the remaining data stuck inside
      FIFOs. Reset the controller in case of data errors to ensure that
      any left over data in FIFOs is flushed out and DPSM is in good state.
      
      The following problems are observed without this reset functionality -
      
      1. After the card is removed in an unsafe way (removed when there
      is an on going data transfer), the card will not be detected upon
      its next insertion.  This is because the controller wouldn't respond
      to few initialization commands.
      
      2. When an error occurs for a data transfer in non-DMA mode, sometimes
      we get spurious PIO interrupt after the request is processed.
      Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      b08bb35d
    • Sahitya Tummala's avatar
      mmc: msm_sdcc: Add prog done interrupt support · d5137bdd
      Sahitya Tummala authored
      Enable prog done interrupt for stop command(CMD12) that is sent
      after a multi-block write(CMD25). The PROG_DONE bit is set when
      the card has finished its programming and is ready for next data.
      
      After every write request the card will be polled for ready status
      using CMD13. For a multi-block write(CMD25) before sending CMD13,
      stop command (CMD12) will be sent.  If we enable prog done interrupt
      for CMD12, then CMD13 polling can be avoided. The prog done interrupt
      means that the card is done with its programming and is ready for
      next request.
      Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      d5137bdd
    • Sahitya Tummala's avatar
      mmc: msm_sdcc: Fix possible circular locking dependency warning · 62612cf9
      Sahitya Tummala authored
      In the context of request processing thread, data mover lock is
      acquired after the host lock.  In another context, in the completion
      handler of data mover the locks are acquired in the reverse order,
      resulting in possible circular lock dependency warning. Hence,
      schedule a tasklet to process the dma completion so as to avoid
      nested locks.
      Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
      Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
      62612cf9
  2. 15 Dec, 2010 6 commits
  3. 09 Dec, 2010 1 commit
  4. 01 Dec, 2010 6 commits
  5. 30 Nov, 2010 10 commits
  6. 19 Nov, 2010 1 commit
  7. 16 Nov, 2010 4 commits
  8. 01 Nov, 2010 9 commits