diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-17 17:27:33 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-17 17:27:33 -0700 |
| commit | ea982ba7f79141d86eb7a440fcba6796ed718b9b (patch) | |
| tree | a9737e538564902f6bdcd11efa20dab13e27484c /drivers/mmc/host/jz4740_mmc.c | |
| parent | 7ad67ca5534ee7c958559c4ad610f05c4578e361 (diff) | |
| parent | b46119796721301e410a357b91195eed46980ea6 (diff) | |
Merge tag 'mmc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson:
"MMC core:
- Fixup processing of SDIO IRQs during system suspend/resume
- Add helper function to indicate if SDIO IRQs is enabled
MMC host:
- bcm2835: Take SWIOTLB memory size limitation into account
- dw_mmc: Improve SDIO IRQs support
- mtk-sd: Various improvements
- mtk-sd: Improve SDIO IRQs support
- sdhci-iproc: Add support for emmc2 of the BCM2711
- sdhci-of-arasan: Add Support for Intel LGM eMMC
- sdhci-of-aspeed: Add support for the ASPEED SD controller
- sdhci-of-esdhc: Deal with erratum A011334 support in ls1028a 1.0 SoC
- sdhci-pci: Prepare to add support of Genesys Logic GL975x
- sdhci-pci: Add another Id for Intel CML
- sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
- sunxi: Add support for H5 compatibles"
* tag 'mmc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (59 commits)
ms_block: fix spelling mistake "randomally" -> "randomly"
mmc: dw_mmc: hi3798cv200: make array degrees static const, makes object smaller
mmc: sdhci: Convert to use sdio_irq_claimed()
mmc: sdhci: Drop redundant code for SDIO IRQs
mmc: sdhci: Drop redundant check in sdhci_ack_sdio_irq()
mmc: core: Fixup processing of SDIO IRQs during system suspend/resume
mmc: core: WARN if SDIO IRQs are enabled for non-powered card in suspend
mmc: core: Clarify that the ->ack_sdio_irq() callback is mandatory
mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD
mmc: core: Move code to get pending SDIO IRQs to a function
mmc: mtk-sd: Re-store SDIO IRQs mask at system resume
mmc: dw_mmc: Re-store SDIO IRQs mask at system resume
mmc: core: Add helper function to indicate if SDIO IRQs is enabled
mmc: sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
mmc: sdhci-pci-o2micro: Move functions in preparation to fix DLL lock phase shift issue
mmc: sdhci-pci-o2micro: Change O2 Host PLL and DLL register name
mmc: sdhci: Fix incorrect switch to HS mode
mmc: sdhci-of-aspeed: Depend on CONFIG_OF_ADDRESS
mmc: sdhci-of-aspeed: Allow max-frequency limitation of SDCLK
mmc: sdhci-of-aspeed: Uphold clocks-on post-condition of set_clock()
...
Diffstat (limited to 'drivers/mmc/host/jz4740_mmc.c')
| -rw-r--r-- | drivers/mmc/host/jz4740_mmc.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c index ffdbfaadd3f2..f816c06ef916 100644 --- a/drivers/mmc/host/jz4740_mmc.c +++ b/drivers/mmc/host/jz4740_mmc.c @@ -25,8 +25,6 @@ #include <asm/cacheflush.h> -#include <asm/mach-jz4740/dma.h> - #define JZ_REG_MMC_STRPCL 0x00 #define JZ_REG_MMC_STATUS 0x04 #define JZ_REG_MMC_CLKRT 0x08 @@ -186,9 +184,9 @@ static void jz4740_mmc_write_irq_reg(struct jz4740_mmc_host *host, uint32_t val) { if (host->version >= JZ_MMC_JZ4780) - return writel(val, host->base + JZ_REG_MMC_IREG); + writel(val, host->base + JZ_REG_MMC_IREG); else - return writew(val, host->base + JZ_REG_MMC_IREG); + writew(val, host->base + JZ_REG_MMC_IREG); } static uint32_t jz4740_mmc_read_irq_reg(struct jz4740_mmc_host *host) @@ -292,11 +290,9 @@ static int jz4740_mmc_start_dma_transfer(struct jz4740_mmc_host *host, if (data->flags & MMC_DATA_WRITE) { conf.direction = DMA_MEM_TO_DEV; conf.dst_addr = host->mem_res->start + JZ_REG_MMC_TXFIFO; - conf.slave_id = JZ4740_DMA_TYPE_MMC_TRANSMIT; } else { conf.direction = DMA_DEV_TO_MEM; conf.src_addr = host->mem_res->start + JZ_REG_MMC_RXFIFO; - conf.slave_id = JZ4740_DMA_TYPE_MMC_RECEIVE; } sg_count = jz4740_mmc_prepare_dma_data(host, data, COOKIE_MAPPED); @@ -820,14 +816,14 @@ static irqreturn_t jz_mmc_irq(int irq, void *devid) del_timer(&host->timeout_timer); if (status & JZ_MMC_STATUS_TIMEOUT_RES) { - cmd->error = -ETIMEDOUT; + cmd->error = -ETIMEDOUT; } else if (status & JZ_MMC_STATUS_CRC_RES_ERR) { - cmd->error = -EIO; + cmd->error = -EIO; } else if (status & (JZ_MMC_STATUS_CRC_READ_ERROR | JZ_MMC_STATUS_CRC_WRITE_ERROR)) { - if (cmd->data) - cmd->data->error = -EIO; - cmd->error = -EIO; + if (cmd->data) + cmd->data->error = -EIO; + cmd->error = -EIO; } jz4740_mmc_set_irq_enabled(host, irq_reg, false); @@ -969,7 +965,6 @@ static int jz4740_mmc_probe(struct platform_device* pdev) host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { ret = host->irq; - dev_err(&pdev->dev, "Failed to get platform irq: %d\n", ret); goto err_free_host; } |
