1. 25 5月, 2011 6 次提交
  2. 18 3月, 2011 1 次提交
  3. 16 3月, 2011 1 次提交
  4. 08 3月, 2011 1 次提交
  5. 09 1月, 2011 3 次提交
  6. 20 11月, 2010 2 次提交
  7. 23 10月, 2010 5 次提交
  8. 10 9月, 2010 1 次提交
  9. 11 8月, 2010 3 次提交
    • G
      sdio: allow non-standard SDIO cards · 6f51be3d
      Grazvydas Ignotas 提交于
      There are some chips (like TI WL12xx series) that can be interfaced over
      SDIO but don't support the SDIO specification, meaning that they are
      missing CIA (Common I/O Area) with all it's registers.  Current Linux SDIO
      implementation relies on those registers to identify and configure the
      card, so non-standard cards can not function and cause lots of warnings
      from the core when it reads invalid data from non-existent registers.
      
      After this patch, init_card() host callback can now set new quirk
      MMC_QUIRK_NONSTD_SDIO, which means that SDIO core should not try to access
      any standard SDIO registers and rely on init_card() to fill all SDIO
      structures instead.  As those cards are usually embedded chips, all the
      required information can be obtained from machine board files by the host
      driver when it's called through init_card() callback.
      Signed-off-by: NGrazvydas Ignotas <notasas@gmail.com>
      Cc: Adrian Hunter <adrian.hunter@nokia.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Bob Copeland <me@bobcopeland.com>
      Cc: Kalle Valo <kvalo@adurom.com>
      Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
      Cc: Kishore Kadiyala <kishore.kadiyala@ti.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6f51be3d
    • 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
  10. 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
  11. 07 3月, 2010 3 次提交
  12. 18 12月, 2009 1 次提交
  13. 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
  14. 12 10月, 2008 1 次提交
  15. 23 3月, 2008 1 次提交
  16. 24 9月, 2007 6 次提交
    • D
      MMC core learns about SPI · af517150
      David Brownell 提交于
      Teach the MMC/SD/SDIO core about using SPI mode.
      
       - Use mmc_host_is_spi() so enumeration works through SPI signaling
         and protocols, not just the native versions.
      
       - Provide the SPI response type flags with each request issued,
         including requests from the new lock/unlock code.
      
       - Understand that cmd->resp[0] and mmc_get_status() results for SPI
         return different values than for "native" MMC/SD protocol; this
         affects resetting, checking card lock status, and some others.
      
       - Understand that some commands act a bit differently ... notably:
           * OP_COND command doesn't return the OCR
           * APP_CMD status doesn't have an R1_APP_CMD analogue
      
      Those changes required some new and updated primitives:
      
       - Provide utilities to access two SPI-only requests, and one
         request that wasn't previously needed:
           * mmc_spi_read_ocr() ... SPI only
           * mmc_spi_set_crc() ... SPI only (override by module parm)
           * mmc_send_cid() ... for use without broadcast mode
      
       - Updated internal routines:
           * Previous mmc_send_csd() modified into mmc_send_cxd_native();
             it uses native "R2" responses, which include 16 bytes of data.
           * Previous mmc_send_ext_csd() becomes new mmc_send_cxd_data()
             helper for command-and-data access
           * Bugfix to that mmc_send_cxd_data() code:  dma-to-stack is
             unsafe/nonportable, so kmalloc a bounce buffer instead.
      
       - Modified mmc_send_ext_csd() now uses mmc_send_cxd_data() helper
      
       - Modified mmc_send_csd(), and new mmc_spi_send_cid(), routines use
         those helper routines based on whether they're native or SPI
      
      The newest categories of cards supported by the MMC stack aren't expected
      to work yet with SPI:  MMC or SD cards with over 4GB data, and SDIO.
      All those cards support SPI mode, so eventually they should work too.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      af517150
    • P
      mmc: replace BUG_ON with WARN_ON · d84075c8
      Pierre Ossman 提交于
      Replace all cases of BUG_ON with WARN_ON where there is a chance
      (with varying degrees of slim) that the kernel can continue without
      incidence.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      d84075c8
    • D
      sdio: add SDIO_FBR_BASE(f) macro · 7616ee95
      David Vrabel 提交于
      Signed-off-by: NDavid Vrabel <david.vrabel@csr.com>
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      7616ee95
    • P
      sdio: enable wide bus mode · 4ff6471c
      Pierre Ossman 提交于
      Enable 4-bit data bus mode, according to host and card
      capabilities.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      4ff6471c
    • P
      sdio: change clock speed · 6db5020e
      Pierre Ossman 提交于
      Change clock speed to the highest supported by the card.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      6db5020e
    • P
      sdio: split up common and function CIS parsing · 1a632f8c
      Pierre Ossman 提交于
      Add a more clean separation between global, common CIS information
      and the function specific one as we need the common information in
      places where no specific function is specified.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      1a632f8c