Commit 461d2815 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC fixes from Ulf Hansson:

 - cavium: Fix DMA support

 - sdhci-sprd: Fix soft reset when runtime resuming"

* tag 'mmc-v5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: cavium: Add the missing dma unmap when the dma has finished.
  mmc: cavium: Set the correct dma max segment size for mmc_host
  mmc: sdhci-sprd: Fix the incorrect soft reset operation when runtime resuming
parents ec4c99ad b803974a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -374,6 +374,7 @@ static int finish_dma_single(struct cvm_mmc_host *host, struct mmc_data *data)
{
	data->bytes_xfered = data->blocks * data->blksz;
	data->error = 0;
	dma_unmap_sg(host->dev, data->sg, data->sg_len, get_dma_dir(data));
	return 1;
}

@@ -1046,7 +1047,8 @@ int cvm_mmc_of_slot_probe(struct device *dev, struct cvm_mmc_host *host)
		mmc->max_segs = 1;

	/* DMA size field can address up to 8 MB */
	mmc->max_seg_size = 8 * 1024 * 1024;
	mmc->max_seg_size = min_t(unsigned int, 8 * 1024 * 1024,
				  dma_get_max_seg_size(host->dev));
	mmc->max_req_size = mmc->max_seg_size;
	/* External DMA is in 512 byte blocks */
	mmc->max_blk_size = 512;
+1 −1
Original line number Diff line number Diff line
@@ -883,7 +883,7 @@ static int sdhci_acpi_runtime_resume(struct device *dev)

	sdhci_acpi_byt_setting(&c->pdev->dev);

	return sdhci_runtime_resume_host(c->host);
	return sdhci_runtime_resume_host(c->host, 0);
}

#endif
+1 −1
Original line number Diff line number Diff line
@@ -1705,7 +1705,7 @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
		esdhc_pltfm_set_clock(host, imx_data->actual_clock);
	}

	err = sdhci_runtime_resume_host(host);
	err = sdhci_runtime_resume_host(host, 0);
	if (err)
		goto disable_ipg_clk;

+1 −1
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@ static int sdhci_at91_runtime_resume(struct device *dev)
	}

out:
	return sdhci_runtime_resume_host(host);
	return sdhci_runtime_resume_host(host, 0);
}
#endif /* CONFIG_PM */

+2 −2
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ static int sdhci_pci_runtime_suspend_host(struct sdhci_pci_chip *chip)

err_pci_runtime_suspend:
	while (--i >= 0)
		sdhci_runtime_resume_host(chip->slots[i]->host);
		sdhci_runtime_resume_host(chip->slots[i]->host, 0);
	return ret;
}

@@ -181,7 +181,7 @@ static int sdhci_pci_runtime_resume_host(struct sdhci_pci_chip *chip)
		if (!slot)
			continue;

		ret = sdhci_runtime_resume_host(slot->host);
		ret = sdhci_runtime_resume_host(slot->host, 0);
		if (ret)
			return ret;
	}
Loading