1. 11 8月, 2010 2 次提交
    • M
      mmc: implement SD-combo (IO+mem) support · 7310ece8
      Michal Miroslaw 提交于
      Signed-off-by: NMichal Miroslaw <mirq-linux@rere.qmqm.pl>
      Cc: Adrian Hunter <adrian.hunter@nokia.com>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7310ece8
    • M
      mmc: split mmc_sd_init_card() · 71578a1e
      Michal Miroslaw 提交于
      This series adds support for SD combo cards to MMC/SD driver stack.
      
      SD combo consists of SD memory and SDIO parts in one package.  Since the
      parts have a separate SD command sets, after initialization, they can be
      treated as independent cards on one bus.
      
      Changes are divided into two patches.  First is just moving initialization
      code around so that SD memory part init can be called from SDIO init.
      Second patch is a proper change enabling SD memory along SDIO.  I tried to
      move as much no-op changes to the first patch so that it's easier to
      follow the required changes to initialization flow for SDIO cards.
      
      This is based on Simplified SDIO spec v.2.00.  The init sequence is
      slightly modified to follow current SD memory init implementation.
      Command sequences, assuming SD memory and SDIO indeed ignore unknown
      commands, are the same as before for both parts.
      
      This patch:
      
      Prepare for SD-combo (IO+mem) support by splitting SD memory
      card init and related functions.
      Signed-off-by: NMichal Miroslaw <mirq-linux@rere.qmqm.pl>
      Cc: Adrian Hunter <adrian.hunter@nokia.com>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      71578a1e
  2. 14 4月, 2010 1 次提交
    • D
      ARM: MXC: mxcmmc: work around a bug in the SDHC busy line handling · 3fcb027d
      Daniel Mack 提交于
      MX3 SoCs have a silicon bug which corrupts CRC calculation of
      multi-block transfers when connected SDIO peripheral doesn't drive the
      BUSY line as required by the specs.
      
      One way to prevent this is to only allow 1-bit transfers.
      
      Another way is playing tricks with the DMA engine, but this isn't
      mainline yet. So for now, we live with the performance drawback of 1-bit
      transfers until a nicer solution is found.
      
      This patch introduces a new host controller callback 'init_card' which
      is for now only called from mmc_sdio_init_card().
      Signed-off-by: NDaniel Mack <daniel@caiaq.de>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Volker Ernst <volker.ernst@txtr.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Michał Mirosław <mirqus@gmail.com>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      3fcb027d
  3. 07 3月, 2010 3 次提交
  4. 18 12月, 2009 1 次提交
  5. 23 9月, 2009 4 次提交
    • N
      mmc: propagate error codes back from bus drivers' suspend/resume methods · 95cdfb72
      Nicolas Pitre 提交于
      Especially for SDIO drivers which may have special conditions/errors to
      report, it is a good thing to relay the returned error code back to upper
      layers.
      
      This also allows for the rationalization of the resume path where code to
      "remove" a no-longer-existing or replaced card was duplicated into the
      MMC, SD and SDIO bus drivers.
      
      In the SDIO case, if a function suspend method returns an error, then all
      previously suspended functions are resumed and the error returned.  An
      exception is made for -ENOSYS which the core interprets as "we don't
      support suspend so just kick the card out for suspend and return success".
      
      When resuming SDIO cards, the core code only validates the manufacturer
      and product IDs to make sure the same kind of card is still present before
      invoking functions resume methods.  It's the function driver's
      responsibility to perform further tests to confirm that the actual same
      card is present (same MAC address, etc.) and return an error otherwise.
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      95cdfb72
    • N
      mmc: core SDIO suspend/resume support · 17d33e14
      Nicolas Pitre 提交于
      Currently, all SDIO cards are virtually removed upon a suspend, and
      completely reprobed upon a resume.  This adds the suspend and resume
      methods to the SDIO bus driver so to be able to dispatch those events to
      the actual SDIO function drivers for real suspend/resume instead.
      
      All active functions on a card must have a driver with both a suspend and
      a resume method though.  Failing that, we fall back to the current
      behavior of simply "removing" the card when suspending.
      
      When resuming, we make sure the same card is still inserted by comparing
      the vendor and product IDs.  If there is a mismatch, or if there is simply
      no card anymore in the slot, then the previous card is "removed" and the
      new card is detected.  This is further enhanced with the next patch.
      
      [akpm@linux-foundation.org: fix warnings]
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      17d33e14
    • O
      sdio: add CD disable support · 006ebd5d
      Ohad Ben-Cohen 提交于
      Add support to disconnect the pull-up resistor on CD/DAT[3] (pin 1)
      of the card. This may be desired on certain setups of boards,
      controllers and embedded sdio devices which do not need the card's
      pull-up. As a result, card detection is disabled and power is saved.
      
      [akpm@linux-foundation.org: simplify sdio_disable_cd() a bit]
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Acked-by: NMatt Fleming <matt@console-pimps.org>
      Cc: Ian Molton <ian@mnementh.co.uk>
      Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
      Cc: Philip Langdale <philipl@overt.org>
      Cc: Pierre Ossman <pierre@ossman.eu>
      Cc: David Vrabel <david.vrabel@csr.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      006ebd5d
    • O
      sdio: do not ignore MMC_VDD_165_195 · 27cce39f
      Ohad Ben-Cohen 提交于
      This is needed for 1.8V embedded SDIO devices and supporting host controllers
      (e.g. TI 127x and ZOOM2 boards)
      Signed-off-by: NOhad Ben-Cohen <ohad@bencohen.org>
      Acked-by: NMatt Fleming <matt@console-pimps.org>
      Cc: Ian Molton <ian@mnementh.co.uk>
      Cc: Pierre Ossman <pierre@ossman.eu>
      Cc: Ian Molton <ian@mnementh.co.uk>
      Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
      Cc: Philip Langdale <philipl@overt.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      27cce39f
  6. 12 10月, 2008 1 次提交
  7. 23 3月, 2008 1 次提交
  8. 24 9月, 2007 11 次提交