1. 26 9月, 2013 3 次提交
    • D
      mmc: dw_mmc: Set timeout to max upon resume · 2eb2944f
      Doug Anderson 提交于
      The TMOUT register is set to 0xffffffff at probe time but isn't
      set after suspend/resume.  Add an init of this value.
      
      No problems were observed without this (it will also be set in
      __dw_mci_start_request if there is data to send), but it makes the
      register dump before and after suspend cleaner.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Acked-by: NSeungwon Jeon <tgih.jun@samsung.com>
      Reviewed-by: NTomasz Figa <t.figa@samsung.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      2eb2944f
    • D
      mmc: dw_mmc: Honor requests to set the clock to 0 · fdf492a1
      Doug Anderson 提交于
      Previously the dw_mmc driver would ignore any requests to disable the
      card's clock.  This doesn't seem like a good thing in general, but had
      one extra bad side effect in the following situation:
      * mmc core would set clk to 400kHz at boot time while scanning
      * mmc core would set clk to 0 since no card, but it would be ignored.
      * suspend to ram and resume; clocks in the dw_mmc IP block are now 0
        but dw_mmc thinks that they're 400kHz (it ignored the set to 0).
      * insert card
      * mmc core would set clk to 400kHz which would be considered a no-op.
      
      Note that if there is no card in the slot and we do a suspend/resume
      cycle, we _do_ still end up with differences in a dw_mmc register
      dump, but the differences are clock related and we've got the clock
      disabled both before and after, so this should be OK.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Signed-off-by: NSeungwon Jeon <tgih.jun@samsung.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      fdf492a1
    • D
      mmc: dw_mmc: don't queue up a card detect at slot startup · 369ac861
      Doug Anderson 提交于
      The MMC subsystem handles looking for a card at probe time. Queuing up our
      own can race with the rest of the MMC subsystem and cause problems if we
      get unlucky with timing. Just remove driver own detection triggering.  While
      progressing the request from 'mmc_rescan', if 'dw_mci_work_routine_card'
      routine is activated, it will cancel the current request. The problem case
      is that 'mmc_rescan' is prior to 'dw_mci_work_routine_card' from host own.
      Specifically, the following message shows the detection problem in driver's
      probing. It would get an err -123 (-ENOMEDIUM) during probe.
      
      [    4.216595] dwmmc_exynos 12210000.dwmmc1: Using internal DMA controller.
      [    4.395935] dwmmc_exynos 12210000.dwmmc1: Version ID is 250a
      [    4.401948] dwmmc_exynos 12210000.dwmmc1: DW MMC controller at irq 108, 64 bit host data width, 64 deep fifo
      [    4.424430] dwmmc_exynos 12210000.dwmmc1: sdr0 mode (irq=108, width=0)
      [    4.453975] dwmmc_exynos 12210000.dwmmc1: sdr0 mode (irq=108, width=0)
      [    4.459592] mmc_host mmc1: Bus speed (slot 0) = 100000000Hz (slot req 400000Hz, actual 400000HZ div = 125)
      [    4.484258] dwmmc_exynos 12210000.dwmmc1: 1 slots initialized
      [    4.485406] dwmmc_exynos 12210000.dwmmc1: sdr0 mode (irq=108, width=0)
      [    4.487606] dwmmc_exynos 12210000.dwmmc1: sdr0 mode (irq=108, width=0)
      [    4.489794] dwmmc_exynos 12210000.dwmmc1: sdr0 mode (irq=108, width=0)
      [    4.509757] mmc1: error -123 whilst initialising SDIO card
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Acked-by: NSeungwon Jeon <tgih.jun@samsung.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      369ac861
  2. 25 8月, 2013 1 次提交
  3. 31 7月, 2013 1 次提交
  4. 28 6月, 2013 2 次提交
  5. 27 6月, 2013 1 次提交
  6. 27 5月, 2013 2 次提交
  7. 13 4月, 2013 1 次提交
  8. 04 4月, 2013 4 次提交
  9. 23 3月, 2013 7 次提交
  10. 22 3月, 2013 1 次提交
  11. 28 2月, 2013 1 次提交
  12. 25 2月, 2013 3 次提交
  13. 07 12月, 2012 5 次提交
  14. 08 11月, 2012 4 次提交
  15. 08 10月, 2012 1 次提交
  16. 03 10月, 2012 3 次提交