Merge tag 'mmc-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC fixes from Ulf Hansson: - sdhci-sprd: Add a missing pm_runtime_put_noidle() to fix deferred probe - dw_mmc: Fix occasional hang after tuning on eMMC - meson-mx-sdio: Fix misuse of GENMASK macro - mmc_spi: Fix CRC problems for writes by using BDI_CAP_STABLE_WRITES * tag 'mmc-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: mmc: mmc_spi: Enable stable writes mmc: meson-mx-sdio: Fix misuse of GENMASK macro mmc: dw_mmc: Fix occasional hang after tuning on eMMC mmc: host: sdhci-sprd: Fix the missing pm_runtime_put_noidle()
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
#include <linux/scatterlist.h>
|
#include <linux/scatterlist.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
#include <linux/backing-dev.h>
|
||||||
|
|
||||||
#include <linux/mmc/card.h>
|
#include <linux/mmc/card.h>
|
||||||
#include <linux/mmc/host.h>
|
#include <linux/mmc/host.h>
|
||||||
@@ -427,6 +428,10 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card)
|
|||||||
goto free_tag_set;
|
goto free_tag_set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mmc_host_is_spi(host) && host->use_spi_crc)
|
||||||
|
mq->queue->backing_dev_info->capabilities |=
|
||||||
|
BDI_CAP_STABLE_WRITES;
|
||||||
|
|
||||||
mq->queue->queuedata = mq;
|
mq->queue->queuedata = mq;
|
||||||
blk_queue_rq_timeout(mq->queue, 60 * HZ);
|
blk_queue_rq_timeout(mq->queue, 60 * HZ);
|
||||||
|
|
||||||
|
@@ -2012,8 +2012,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
|
|||||||
* delayed. Allowing the transfer to take place
|
* delayed. Allowing the transfer to take place
|
||||||
* avoids races and keeps things simple.
|
* avoids races and keeps things simple.
|
||||||
*/
|
*/
|
||||||
if ((err != -ETIMEDOUT) &&
|
if (err != -ETIMEDOUT) {
|
||||||
(cmd->opcode == MMC_SEND_TUNING_BLOCK)) {
|
|
||||||
state = STATE_SENDING_DATA;
|
state = STATE_SENDING_DATA;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@@ -73,7 +73,7 @@
|
|||||||
#define MESON_MX_SDIO_IRQC_IF_CONFIG_MASK GENMASK(7, 6)
|
#define MESON_MX_SDIO_IRQC_IF_CONFIG_MASK GENMASK(7, 6)
|
||||||
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CLK BIT(8)
|
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CLK BIT(8)
|
||||||
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CMD BIT(9)
|
#define MESON_MX_SDIO_IRQC_FORCE_DATA_CMD BIT(9)
|
||||||
#define MESON_MX_SDIO_IRQC_FORCE_DATA_DAT_MASK GENMASK(10, 13)
|
#define MESON_MX_SDIO_IRQC_FORCE_DATA_DAT_MASK GENMASK(13, 10)
|
||||||
#define MESON_MX_SDIO_IRQC_SOFT_RESET BIT(15)
|
#define MESON_MX_SDIO_IRQC_SOFT_RESET BIT(15)
|
||||||
#define MESON_MX_SDIO_IRQC_FORCE_HALT BIT(30)
|
#define MESON_MX_SDIO_IRQC_FORCE_HALT BIT(30)
|
||||||
#define MESON_MX_SDIO_IRQC_HALT_HOLE BIT(31)
|
#define MESON_MX_SDIO_IRQC_HALT_HOLE BIT(31)
|
||||||
|
@@ -624,6 +624,7 @@ err_cleanup_host:
|
|||||||
sdhci_cleanup_host(host);
|
sdhci_cleanup_host(host);
|
||||||
|
|
||||||
pm_runtime_disable:
|
pm_runtime_disable:
|
||||||
|
pm_runtime_put_noidle(&pdev->dev);
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
pm_runtime_set_suspended(&pdev->dev);
|
pm_runtime_set_suspended(&pdev->dev);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user