linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] mmc: core: Fixup ocr mask setup to prevent spec violation
@ 2013-09-16 14:17 Ulf Hansson
  2013-09-16 14:17 ` [PATCH 1/7] mmc: core: Let mmc_power_up|cycle take ocr as parameter Ulf Hansson
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Ulf Hansson @ 2013-09-16 14:17 UTC (permalink / raw)
  To: linux-mmc, Chris Ball; +Cc: Prasanna NAVARATNA, Ulf Hansson

According to the eMMC/SD/SDIO specs the VDD voltage level must not be changed
during the initialization, without a complete power cycle of the card.

Before this patchset, some host drivers were trying to change voltage level
at MMC_POWER_ON state, which is also what the protocol layer advised them to.
This was not correctly done and is the reason to why quite messy code in
the protocol layer has been needed, to handle a re-initialization sequence,
typically triggered from a power_restore or resume.

I have tried to make each patch in the patchset as small and separate as
possible, surely the is room for improvments. Any suggestions are appreciated.

An important note; MMC_CAP2_FULL_PWR_CYCLE, will need to be set by a host
to tell the protocol layer that the host is able to perform a complete power
cycle. Thus the protocol layer will try to negotiate the lowest possible VDD
voltage level between the card and host.


Ulf Hansson (7):
  mmc: core: Let mmc_power_up|cycle take ocr as parameter
  mmc: core: Let mmc_set_signal_voltage take ocr as parameter
  mmc: core: Remove unnecessary retry mechanism at SDIO attach
  mmc: core: Cleanup code for setting ocr mask for SDIO
  mmc: core: Move cached value of the negotiated ocr mask to card
    struct
  mmc: core: Prevent violation of specs while initializing cards
  mmc: core: Collect common code for card ocr validation

 drivers/mmc/core/core.c  |   66 +++++++++++++++++--------------------
 drivers/mmc/core/core.h  |    6 ++--
 drivers/mmc/core/mmc.c   |   29 +++++-----------
 drivers/mmc/core/sd.c    |   41 +++++++----------------
 drivers/mmc/core/sdio.c  |   82 ++++++++++++++--------------------------------
 include/linux/mmc/card.h |    1 +
 include/linux/mmc/host.h |    1 -
 7 files changed, 79 insertions(+), 147 deletions(-)

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-09-27 10:44 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-16 14:17 [PATCH 0/7] mmc: core: Fixup ocr mask setup to prevent spec violation Ulf Hansson
2013-09-16 14:17 ` [PATCH 1/7] mmc: core: Let mmc_power_up|cycle take ocr as parameter Ulf Hansson
2013-09-16 14:17 ` [PATCH 2/7] mmc: core: Let mmc_set_signal_voltage " Ulf Hansson
2013-09-16 14:17 ` [PATCH 3/7] mmc: core: Remove unnecessary retry mechanism at SDIO attach Ulf Hansson
2013-09-16 14:17 ` [PATCH 4/7] mmc: core: Cleanup code for setting ocr mask for SDIO Ulf Hansson
2013-09-16 14:17 ` [PATCH 5/7] mmc: core: Move cached value of the negotiated ocr mask to card struct Ulf Hansson
2013-09-16 14:17 ` [PATCH 6/7] mmc: core: Prevent violation of specs while initializing cards Ulf Hansson
2013-09-16 14:17 ` [PATCH 7/7] mmc: core: Collect common code for card ocr validation Ulf Hansson
2013-09-16 20:57 ` [PATCH 0/7] mmc: core: Fixup ocr mask setup to prevent spec violation Guennadi Liakhovetski
2013-09-17  8:00   ` Ulf Hansson
2013-09-17  8:16     ` Guennadi Liakhovetski
2013-09-17  9:29       ` Ulf Hansson
2013-09-17 11:04         ` Mark Brown
2013-09-17 12:50           ` Ulf Hansson
2013-09-27  9:56             ` Ulf Hansson
2013-09-27 10:44               ` Mark Brown
2013-09-17 11:00       ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).