From: Adrian Hunter Date: Thu, 7 May 2015 10:10:14 +0000 (+0300) Subject: mmc: core: Add support for re-tuning before each request X-Git-Tag: omap-for-v4.2/fixes-rc1^2~161^2~71 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90a81489b0a9d7b56df2dcf68498fd3a03deb354;p=pandora-kernel.git mmc: core: Add support for re-tuning before each request At the start of each request, re-tune if needed and then hold off re-tuning again until the request is done. Note that though there is one function that starts requests (mmc_start_request) there are two that wait for the request to be done (mmc_wait_for_req_done and mmc_wait_for_data_req_done). Also note that mmc_wait_for_data_req_done can return even when the request is not done (which allows the block driver to prepare a newly arrived request while still waiting for the previous request). This patch ensures re-tuning is held for the duration of a request. Subsequent patches will also hold re-tuning at other times when it might cause a conflict. In addition, possibly a command is failing because re-tuning is needed. Use mmc_retune_recheck() to check re-tuning. At that point re-tuning is held, at least by the request, so mmc_retune_recheck() flags host->retune_now if the hold count is 1. Signed-off-by: Adrian Hunter Signed-off-by: Ulf Hansson --- Reading git-diff-tree failed