1. 19 3月, 2010 4 次提交
    • S
      mmc: msm_sdcc: Driver clocking/irq improvements · 865c8064
      San Mehat 提交于
      - Clocks are now disabled after 1 second of inactivity
      - Fixed issue which was causing us to loop through our ISR twice
      - Bump core clock enable delay to 30us
      Signed-off-by: NSan Mehat <san@google.com>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      865c8064
    • S
      msm: Add 'execute' datamover callback · 5b00f40f
      San Mehat 提交于
      Based on a patch from Brent DeGraaf:
      
      "The datamover supports channels which can be shared amongst devices.
      As a result, the actual data transfer may occur some time after the
      request is queued up. Some devices such as mmc host controllers
      will timeout if a command is issued too far in advance of the actual
      transfer, so if dma to other devices on the same channel is already
      in progress or queued up, the added delay can cause pending transfers
      to fail before they start. This change extends the api to allow a
      user callback to be invoked just before the actual transfer takes
      place, thus allowing actions directly associated with the dma
      transfer, such as device commands, to be invoked with precise timing.
      Without this mechanism, there is no way for a driver to realize
      this timing. Also adds a user pointer to the command structure for use
      by the caller to reference information that may be needed by the
      callback routine for proper identification and processing associated
      with that specific request. This change is necessary to fix problems
      associated with excessive command timeouts and race conditions in the
      mmc driver."
      
      This patch also fixes all the callers of msm_dmov_enqueue_cmd() to
      ensure their callback function is NULL.
      Signed-off-by: NSan Mehat <san@google.com>
      Cc: Brent DeGraaf <bdegraaf@quicinc.com>
      Cc: Brian Swetland <swetland@google.com>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      5b00f40f
    • S
      mmc: msm_sdcc: Snoop SDIO_CCCR_ABORT register · b3fa5791
      San Mehat 提交于
      Signed-off-by: NSan Mehat <san@google.com>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      b3fa5791
    • S
      mmc: msm_sdcc: Clean up clock management and add a 10us delay after enabling clocks · 4adbbcc7
      San Mehat 提交于
      It appears that in some cases there may be a delay on the ARM9 in enabling our clock.
      As a result, we may put the controller into a bad state. Delay 10us after enabling
      clocks to let the peripheral settle. Note - this is all imperical.
      
      Also ensure set_ios() callback grabs the host lock.
      Signed-off-by: NSan Mehat <san@google.com>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      4adbbcc7
  2. 21 1月, 2010 1 次提交
  3. 25 12月, 2009 10 次提交
  4. 24 12月, 2009 25 次提交