Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 550cf00d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
MMC fixes from Chris Ball for 3.3:
 - atmel-mci: oops fix against regression introduced in 3.2
 - core: power saving regression fix against 3.3-rc1
 - core: suspend/resume fix for UHS-I cards
 - esdhc-imx: MMC card regression fix against 3.0
 - mmci: oops fix for ARM systems with large (64k) pages
 - MAINTAINERS update for atmel-mci.

* tag 'mmc-fixes-for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
  mmc: core: Fixup suspend/resume issues for UHS-I cards
  mmc: mmci: reduce max_blk_count to avoid overflowing max_req_size
  mmc: sdhci-esdhc-imx: fix for mmc cards on i.MX5
  mmc: core: fix regression: set default clock gating delay to 0
  MAINTAINERS: hand over atmel-mci (sd/mmc interface)
  mmc: atmel-mci: don't use dma features when using DMA with no chan available
parents 5d329e24 e7747475
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1310,7 +1310,7 @@ F: drivers/atm/
F:	include/linux/atm*

ATMEL AT91 MCI DRIVER
M:	Nicolas Ferre <nicolas.ferre@atmel.com>
M:	Ludovic Desroches <ludovic.desroches@atmel.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W:	http://www.atmel.com/products/AT91/
W:	http://www.at91.com/
@@ -1318,7 +1318,7 @@ S: Maintained
F:	drivers/mmc/host/at91_mci.c

ATMEL AT91 / AT32 MCI DRIVER
M:	Nicolas Ferre <nicolas.ferre@atmel.com>
M:	Ludovic Desroches <ludovic.desroches@atmel.com>
S:	Maintained
F:	drivers/mmc/host/atmel-mci.c
F:	drivers/mmc/host/atmel-mci-regs.h
+3 −0
Original line number Diff line number Diff line
@@ -2068,6 +2068,9 @@ static int mmc_rescan_try_freq(struct mmc_host *host, unsigned freq)
	 */
	mmc_hw_reset_for_init(host);

	/* Initialization should be done at 3.3 V I/O voltage. */
	mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);

	/*
	 * sdio_reset sends CMD52 to reset card.  Since we do not know
	 * if the card is being re-initialized, just send it.  CMD52
+2 −2
Original line number Diff line number Diff line
@@ -238,10 +238,10 @@ static inline void mmc_host_clk_init(struct mmc_host *host)
	/* Hold MCI clock for 8 cycles by default */
	host->clk_delay = 8;
	/*
	 * Default clock gating delay is 200ms.
	 * Default clock gating delay is 0ms to avoid wasting power.
	 * This value can be tuned by writing into sysfs entry.
	 */
	host->clkgate_delay = 200;
	host->clkgate_delay = 0;
	host->clk_gated = false;
	INIT_DELAYED_WORK(&host->clk_gate_work, mmc_host_clk_gate_work);
	spin_lock_init(&host->clk_lock);
+3 −0
Original line number Diff line number Diff line
@@ -816,6 +816,9 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
	if (!mmc_host_is_spi(host))
		mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);

	/* Initialization should be done at 3.3 V I/O voltage. */
	mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);

	/*
	 * Since we're changing the OCR value, we seem to
	 * need to tell some cards to go back to the idle
+3 −5
Original line number Diff line number Diff line
@@ -911,6 +911,9 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
	BUG_ON(!host);
	WARN_ON(!host->claimed);

	/* The initialization should be done at 3.3 V I/O voltage. */
	mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);

	err = mmc_sd_get_cid(host, ocr, cid, &rocr);
	if (err)
		return err;
@@ -1156,11 +1159,6 @@ int mmc_attach_sd(struct mmc_host *host)
	BUG_ON(!host);
	WARN_ON(!host->claimed);

	/* Make sure we are at 3.3V signalling voltage */
	err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, false);
	if (err)
		return err;

	/* Disable preset value enable if already set since last time */
	if (host->ops->enable_preset_value) {
		mmc_host_clk_hold(host);
Loading