1. 16 7月, 2018 1 次提交
  2. 08 5月, 2018 3 次提交
  3. 02 5月, 2018 2 次提交
  4. 15 3月, 2018 1 次提交
  5. 20 6月, 2017 2 次提交
  6. 15 2月, 2017 2 次提交
  7. 13 2月, 2017 5 次提交
  8. 05 12月, 2016 1 次提交
  9. 17 3月, 2016 1 次提交
  10. 14 1月, 2016 1 次提交
    • C
      mmc: core: Enable tuning according to the actual timing · e10c3219
      Carlo Caione 提交于
      While in sdhci_execute_tuning() the choice whether or not to enable the
      tuning is done on the actual timing, in the mmc_sdio_init_uhs_card() the
      check is done on the capability of the card.
      
      This difference is causing some issues with some SDIO cards in DDR50
      mode where the CDM19 is wrongly issued.
      
      With this patch we modify the check in both
      mmc_(sd|sdio)_init_uhs_card() functions to take the proper decision
      only according to the actual timing specification.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NCarlo Caione <carlo@endlessm.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      e10c3219
  11. 22 12月, 2015 1 次提交
  12. 26 10月, 2015 2 次提交
    • U
      mmc: core: Remove MMC_CLKGATE · 9eadcc05
      Ulf Hansson 提交于
      MMC_CLKGATE was once invented to save power by gating the bus clock at
      request inactivity. At that time it served its purpose. The modern way to
      deal with power saving for these scenarios, is by using runtime PM.
      
      Nowadays, several host drivers have deployed runtime PM, but for those
      that haven't and which still cares power saving at request inactivity,
      it's certainly time to deploy runtime PM as it has been around for several
      years now.
      
      To simplify code to mmc core and thus decrease maintenance efforts, this
      patch removes all code related to MMC_CLKGATE.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      9eadcc05
    • U
      mmc: core: Keep host claimed while invoking mmc_power_off|up() · 8d1ffc8c
      Ulf Hansson 提交于
      As mmc_claim_host() invokes pm_runtime_get_sync() for the mmc host device,
      it's important that the host is kept claimed for *all* accesses to it via
      the host_ops callbacks.
      
      In some code paths for SDIO, particularly related to the PM support,
      mmc_power_off|up() is invoked without keeping the host claimed. Let's fix
      these.
      
      Moreover, mmc_start|stop_host() also invokes mmc_power_off|up() without
      claiming the host, let's fix these as well.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Acked-by: NKishon Vijay Abraham I <kishon@ti.com>
      8d1ffc8c
  13. 01 6月, 2015 6 次提交
  14. 25 5月, 2015 1 次提交
  15. 23 3月, 2015 1 次提交
  16. 19 1月, 2015 1 次提交
  17. 26 11月, 2014 2 次提交
  18. 24 9月, 2014 1 次提交
  19. 09 9月, 2014 1 次提交
  20. 13 5月, 2014 1 次提交
  21. 22 4月, 2014 1 次提交
  22. 31 10月, 2013 3 次提交
    • U
      mmc: core: Collect common code for card ocr validation · 726d6f23
      Ulf Hansson 提交于
      Since mmc_select_voltage now only gets called from the attach sequence,
      it makes sense to move the out of spec validations of the card ocr into
      this function.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      726d6f23
    • U
      mmc: core: Prevent violation of specs while initializing cards · ce69d37b
      Ulf Hansson 提交于
      According to eMMC/SD/SDIO specs, the VDD (VCC) voltage level must be
      maintained during the initialization sequence. If we want/need to tune
      the voltage level, a complete power cycle of the card must be executed.
      
      Most host drivers conforms to the specifications by only allowing to
      change VDD voltage level at the MMC_POWER_UP state, but some also cares
      about MMC_POWER_ON state, which they should'nt. This patch will not
      break those drivers, but they could clean up code to better reflect
      what is expected from the protocol layer.
      
      A big re-work of the mmc_select_voltage function is done to only change
      VDD voltage level if the host supports MMC_CAP2_FULL_PWR_CYCLE.
      Otherwise only validation of the host and card ocr mask will be done.
      
      A very nice side-effect of this patch is that we now don't need to
      reset the negotiated ocr mask at the mmc_power_off function, since now
      it will actually reflect the present voltage level, which safely can be
      used at the next power up and re-initialization. Moreover, we then only
      need to execute mmc_select_voltage from the attach sequence.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      ce69d37b
    • U
      mmc: core: Move cached value of the negotiated ocr mask to card struct · 69041150
      Ulf Hansson 提交于
      The negotiated ocr mask is directly related to the card. Once a card
      gets removed, the mask shall be dropped. By moving the cache of the ocr
      mask from the host struct to the card struct we have accomplished this.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      69041150