27 Jul, 2009

1 commit


17 Jun, 2009

1 commit


23 Apr, 2009

1 commit

  • libertas: add support for Marvell SD8688 chip

    Use RxPD->pkt_ptr to locate eth803 header in the packet
    received since SD8688/v10 firmware allows a gap between
    RxPD and eth803 header.

    Set SDIO block size to 256 for CMD53.
    The maximum block size for SD8688 WLAN function is set
    to 512 in TPLFE_MAX_BLK_SIZE. But using 512 as block size
    results upto 2K bytes data (4 blocks) being transferred
    and causes buffer overflow in firmware.

    Both changes above are backward compatible with earlier
    firmware versions for SD8385/SD8686.

    The SDIO_DEVICE_IDs for SD8688 chip are added in
    include/linux/mmc/sdio_ids.h

    Signed-off-by: Kiran Divekar
    Signed-off-by: Bing Zhao
    Acked-by: Dan Williams
    Signed-off-by: John W. Linville

    Bing Zhao
     

31 Mar, 2009

1 commit

  • Glue between MMC and regulator stacks ... verified with
    some OMAP3 boards using adjustable and configured-as-fixed
    regulators on several MMC controllers.

    These calls are intended to be used by MMC host adapters
    using at least one regulator per host. Examples include
    slots with regulators supporting multiple voltages and
    ones using multiple voltage rails (e.g. DAT4..DAT7 using a
    separate supply, or a split rail chip like certain SDIO
    WLAN or eMMC solutions).

    Signed-off-by: David Brownell
    Acked-by: Pierre Ossman
    Signed-off-by: Liam Girdwood

    David Brownell
     

01 Jan, 2009

2 commits


09 Nov, 2008

1 commit


12 Oct, 2008

1 commit


27 Jul, 2008

2 commits

  • For each card successfully added to the bus, create a subdirectory under
    the host's debugfs root with information about the card.

    At the moment, only a single file is added to the card directory for
    all cards: "state". It reflects the "state" field in struct mmc_card,
    indicating whether the card is present, readonly, etc.

    For MMC and SD cards (not SDIO), another file is added: "status".
    Reading this file will ask the card about its current status and
    return it. This can be useful if the card just refuses to respond to
    any commands, which might indicate that the card state is not what the
    MMC core thinks it is (due to a missing stop command, for example.)

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Pierre Ossman

    Haavard Skinnemoen
     
  • When CONFIG_DEBUG_FS is set, create a few files under /sys/kernel/debug
    containing information about an mmc host's internal state. Currently,
    just a single file is created, "ios", which contains information about
    the current operating parameters for the bus (clock speed, bus width,
    etc.)

    Host drivers can add additional files and directories under the host's
    root directory by passing the debugfs_root field in struct mmc_host as
    the 'parent' parameter to debugfs_create_*.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Pierre Ossman

    Haavard Skinnemoen
     

17 Jul, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (68 commits)
    sdio_uart: Fix SDIO break control to now return success or an error
    mmc: host driver for Ricoh Bay1Controllers
    sdio: sdio_io.c Fix sparse warnings
    sdio: fix the use of hard coded timeout value.
    mmc: OLPC: update vdd/powerup quirk comment
    mmc: fix spares errors of sdhci.c
    mmc: remove multiwrite capability
    wbsd: fix bad dma_addr_t conversion
    atmel-mci: Driver for Atmel on-chip MMC controllers
    mmc: fix sdio_io sparse errors
    mmc: wbsd.c fix shadowing of 'dma' variable
    MMC: S3C24XX: Refuse incorrectly aligned transfers
    MMC: S3C24XX: Add maintainer entry
    MMC: S3C24XX: Update error debugging.
    MMC: S3C24XX: Add media presence test to request handling.
    MMC: S3C24XX: Fix use of msecs where jiffies are needed
    MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices
    MMC: S3C24XX: Fix s3c2410_dma_request() return code check.
    MMC: S3C24XX: Allow card-detect on non-IRQ capable pin
    MMC: S3C24XX: Ensure host->mrq->data is valid
    ...

    Manually fixed up bogus executable bits on drivers/mmc/core/sdio_io.c
    and include/linux/mmc/sdio_func.h when merging.

    Linus Torvalds
     

15 Jul, 2008

7 commits

  • This adds reading and using of enable_timeout from the CIS

    Signed-off-by: Benzi Zbit
    Signed-off-by: Tomas Winkler
    Signed-off-by: Pierre Ossman

    Benzi Zbit
     
  • Relax requirements on host controllers and only require that they do not
    report a transfer count than is larger than the actual one (i.e. a lower
    value is okay). This is how many other parts of the kernel behaves so
    upper layers should already be prepared to handle that scenario. This
    gives us a performance boost on MMC cards.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • This patch fixes sdio_io sparse errors.
    This fix changes signature of API functions,
    changing
    unsigned char -> u8
    unsigned short -> u16
    unsigned long -> u32 - this was probably a bug in 64 bit platforms

    Signed-off-by: Tomas Winkler
    Signed-off-by: Pierre Ossman

    Tomas Winkler
     
  • There are a lot of crappy controllers out there that cannot handle
    all the request sizes that the MMC/SD/SDIO specifications require.
    In case the card driver can pad the data to overcome the problems,
    this commit adds a helper that calculates how much that padding
    should be.

    A corresponding helper is also added for SDIO, but it can also deal
    with all the complexities of splitting up a large transfer efficiently.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Now get_ro() callback must return 0/1 values for its logical states, and
    negative errno values in case of error. If particular host instance doesn't
    support RO/WP switch, it should return -ENOSYS.

    This patch changes some hosts in two ways:

    1. Now functions should be smart to not return negative values in
    "RO asserted" case (particularly gpio_ calls could return negative
    values for the outermost GPIOs).

    Also, board code usually passes get_ro() callbacks that directly return
    gpioreg & bit result, so at91_mci, imxmmc, pxamci and mmc_spi's get_ro()
    handlers need take special care when returning platform's values to the
    mmc core.

    2. In case of host instance didn't implement get_ro() callback, it should
    really return -ENOSYS and let the mmc core decide what to do about it
    (mmc core thinks the same way as the hosts, so it isn't functional
    change).

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Pierre Ossman

    Anton Vorontsov
     
  • Some hosts (and boards that use mmc_spi) do not use interrupts on the CD
    line, so they can't trigger mmc_detect_change. We want to poll the card
    and see if there was a change. 1 second poll interval seems resonable.

    This patch also implements .get_cd() host operation, that could be used
    by the hosts that are able to report card-detect status without need to
    talk MMC.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Pierre Ossman

    Anton Vorontsov
     
  • This patch removes a CVS tag that wasn't updated for a long time.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Pierre Ossman

    Adrian Bunk
     

13 Dec, 2007

1 commit

  • This field and corresponding defines are simply never used anywhere
    in the code. But its mere presence is enough to confuse some host
    driver authors who attempt to rely on it. Let's eliminate the
    possibility for confusion and remove it entirely.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     

18 Oct, 2007

1 commit


24 Sep, 2007

20 commits