31 Mar, 2011

1 commit


30 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (26 commits)
    mmc: SDHI should depend on SUPERH || ARCH_SHMOBILE
    mmc: tmio_mmc: Move some defines into a shared header
    mmc: tmio: support aggressive clock gating
    mmc: tmio: fix power-mode interpretation
    mmc: tmio: remove work-around for unmasked SDIO interrupts
    sh: fix SDHI IO address-range
    ARM: mach-shmobile: fix SDHI IO address-range
    mmc: tmio: only access registers above 0xff, if available
    mfd: remove now redundant sh_mobile_sdhi.h header
    sh: convert boards to use linux/mmc/sh_mobile_sdhi.h
    ARM: mach-shmobile: convert boards to use linux/mmc/sh_mobile_sdhi.h
    mmc: tmio: convert the SDHI MMC driver from MFD to a platform driver
    sh: ecovec: use the CONFIG_MMC_TMIO symbols instead of MFD
    mmc: tmio: split core functionality, DMA and MFD glue
    mmc: tmio: use PIO for short transfers
    mmc: tmio-mmc: Improve DMA stability on sh-mobile
    mmc: fix mmc_app_send_scr() for dma transfer
    mmc: sdhci-esdhc: enable esdhc on imx53
    mmc: sdhci-esdhc: use writel/readl as general APIs
    mmc: sdhci: add the abort CMDTYPE bits definition
    ...

    Linus Torvalds
     

29 Mar, 2011

1 commit


28 Mar, 2011

1 commit


27 Mar, 2011

1 commit


25 Mar, 2011

16 commits

  • Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • The power-mode sequence on MMC is MMC_POWER_OFF -> MMC_POWER_UP ->
    MMC_POWER_ON and not MMC_POWER_ON -> MMC_POWER_UP, as the driver currently
    is implying.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • SDIO IRQs got unmasked on sh-mobile while writing to the
    CTL_CLK_AND_WAIT_CTL register, because that register at address 0x138
    is not implemented on those SoCs and writes to it overwrite the
    register at address 0x38: CTL_SDIO_IRQ_MASK. Previous patches
    eliminated access to register above 0xff on sh-mobile, so that this
    work-around isn't needed anymore.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • Not all tmio implementations have registers above oxff. Accessing
    them on thise platforms is dangerous. In some cases it leads to
    address wrapping to addresses below 0x100, which corrupts random
    unrelated registers.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • On sh-mobile platforms the SDHI driver was using the tmio_mmc SD/SDIO
    MFD cell driver. Now that the tmio_mmc driver has been split into a
    core and a separate MFD glue, we can support SDHI natively without the
    need to emulate an MFD controller. This also allows to support systems
    with an on-SoC SDHI controller and a separate MFD with a TMIO core.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • TMIO MMC chips contain an SD / SDIO IP core from Panasonic, similar to
    the one, used in MN5774 and other MN57xx controllers. These IP cores are
    included in many multifunction devices, in sh-mobile chips from Renesas,
    in the latter case they can also use DMA. Some sh-mobile implementations
    also have some other specialities, that MFD-based solutions don't have.
    This makes supporting all these features in a monolithic driver inconveniet
    and error-prone. This patch splits the driver into 3 parts: the core,
    the MFD glue and the DMA support. In case of a modular build, two modules
    will be built: mmc_tmio_core and mmc_tmio.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • This patch allows transferring of some requests in PIO and some in DMA
    mode and defaults to using DMA only for transfers longer than 8 bytes.
    This is especially useful with SDIO, which can have lots of 2- and 4-byte
    transfers, creating unnecessary high overhead, when executed in DMA.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • On some SDHI tmio implementations the order of DMA and command completion
    interrupts swaps, which leads to malfunction. This patch postpones
    DMA activation until the MMC command completion IRQ time.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • Fix the NO INT in the Multi-BLK IO in SD/MMC, and Multi-BLK read in
    SDIO on imx53.

    The CMDTYPE of the CMD register (offset 0xE) should be set to "11"
    when the STOP CMD12 is issued on imx53 to abort one open ended
    multi-blk IO. Otherwise the TC INT wouldn't be generated.

    In exact block transfer, the controller doesn't complete the
    operations automatically as required at the end of the transfer
    and remains on hold if the abort command is not sent on imx53.

    As a result, the TC flag is not asserted and SW receives timeout
    exception. Set bit1 of Vendor Spec register to fix it.

    Signed-off-by: Richard Zhu
    Signed-off-by: Richard Zhao
    Reviewed-by: Wolfram Sang
    Signed-off-by: Chris Ball

    Richard Zhu
     
  • Add one flag to indicate the GPIO CD/WP is enabled or not
    on imx platforms, and reuse the writel/readl as the general
    APIs for imx SOCs.

    Signed-off-by: Richard Zhu
    Reviewed-by: Wolfram Sang
    Signed-off-by: Chris Ball

    Richard Zhu
     
  • Add the abort CMDTYPE bits definition of command register (offset 0xE)

    Signed-off-by: Richard Zhu
    Signed-off-by: Chris Ball

    Richard Zhu
     
  • sdhci-esdhc-imx does not need SDHCI_QUIRK_NO_CARD_NO_RESET.
    Make it OF-specific.

    Signed-off-by: Richard Zhu
    Tested-by: Wolfram Sang
    Signed-off-by: Chris Ball

    Richard Zhu
     
  • Since these are the headers that provide irq_of_parse_and_map()
    and NO_IRQ.

    Signed-off-by: David S. Miller
    Acked-by: Grant Likely
    Signed-off-by: Chris Ball

    David Miller
     
  • New IO FPGA implementation for Versatile Express boards contain
    MMCI (PL180) cell with FIFO extended to 128 words (512 bytes).

    Matt Waddel reports that this patch improves MMC performance on
    his vexpress system, and also fixes "mmcblk0: error -5 transferring
    data" errors.

    Signed-off-by: Pawel Moll
    Tested-by: Matt Waddel
    Signed-off-by: Chris Ball

    Pawel Moll
     
  • This patch uses the fixed burst bit when using an internal DMA controller.
    I found increased performance with IDMAC when this bit is set.

    Signed-off-by: Jaehoon Chung
    Signed-off-by: Kyungmin Park
    Signed-off-by: Chris Ball

    Jaehoon Chung
     
  • The SDHCI driver uses PCI_CLASS_REVISION instead of PCI_REVISION_ID, so
    it was not converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65
    (PCI: Change all drivers to use pci_device->revision). The newer VIA
    driver has similar code too. This patch converts both drivers to use
    the 'revision' field of 'struct pci_dev'.

    Signed-off-by: Sergei Shtylyov
    Acked-by: Harald Welte
    Signed-off-by: Chris Ball

    Sergei Shtylyov
     

23 Mar, 2011

5 commits


19 Mar, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)
    mmc: dw_mmc: support mmc power control with regulator
    mmc: dw_mmc: fix suspend/resume operation
    mmc: dw_mmc: add quirks for unreliable card detect, and capabilities
    mmc: tmio: fix address in kunmap_atomic() calls
    mmc: core: reset card voltage after power off
    mmc: core: export function mmc_do_release_host()
    mmc: sdio: remember new card RCA when redetecting card
    mmc: dw_mmc: Remove set-but-unused variable.
    mmc: sdhci-esdhc-imx: add card detect on custom GPIO for mx25/35
    mmc: sdhci-esdhc: broken card detection is not a default quirk
    mmc: sdhci-esdhc-imx: add write protect on custom GPIO on mx25/35
    mmc: msm_sdcc: remove needless cache flush after dma_unmap_sg()
    mmc: sh_mmcif: support aggressive clock gating
    mmc: check if mmc cards < 2GB do sector addressing
    mmc: core: comment on why sdio_reset is done at init time
    mmc: dw_mmc: support DDR mode
    mmc: via-sdmmc: Remove set-but-unused variable.
    mmc: cb710: Return err value in cb710_wait_while_busy()
    mmc: sdhci-pci: Remove set-but-unused variable.
    mmc: mxs-mmc: add mmc host driver for i.MX23/28
    ...

    Linus Torvalds
     
  • * 'spi/next' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
    spi/dw_spi: move dw_spi.h into drivers/spi
    spi/dw_spi: Fix missing header
    gpio/langwell: Clear edge bit before handling
    gpio/langwell: Simplify demux loop
    gpio/langwell: Convert irq name space
    gpio/langwell: Fix broken irq_eoi change.
    gpio; Make Intel chipset gpio drivers depend on x86
    gpio/cs5535-gpio: Fix section mismatch
    spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices
    spi/davinci: Support DMA transfers larger than 65535 words
    spi/davinci: Use correct length parameter to dma_map_single calls
    gpio: Use __devexit at necessary places
    gpio: add MODULE_DEVICE_TABLE to pch_gpio and ml_ioh_gpio
    gpio/mcp23s08: support mcp23s17 variant
    of_mmc_spi: add card detect irq support
    spi/omap_mcspi: catch xfers of non-multiple SPI word size
    spi/omap_mcspi: Off-by-one error in finding the right divisor
    gpio/pca953x: Fix wrong pointer type
    spi/pl022: rid dangling labels
    spi: add support for SuperH SPI
    ...

    Linus Torvalds
     

18 Mar, 2011

12 commits

  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits)
    omap: zoom: host should not pull up wl1271's irq line
    arm: plat-omap: iommu: fix request_mem_region() error path
    OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430
    omap4: mux: Remove duplicate mux modes
    omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag
    omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set
    omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected
    omap4: board-omap4panda: Initialise the serial pads
    omap3: board-3430sdp: Initialise the serial pads
    omap4: board-4430sdp: Initialise the serial pads
    omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init
    omap2+: mux: Remove the use of IDLE flag
    omap2+: Add separate list for dynamic pads to mux
    perf: add OMAP support for the new power events
    OMAP4: Add IVA OPP enteries.
    OMAP4: Update Voltage Rail Values for MPU, IVA and CORE
    OMAP4: Enable 800 MHz and 1 GHz MPU-OPP
    OMAP3+: OPP: Replace voltage values with Macros
    OMAP3: wdtimer: Fix CORE idle transition
    Watchdog: omap_wdt: add fine grain runtime-pm
    ...

    Fix up various conflicts in
    - arch/arm/mach-omap2/board-omap3evm.c
    - arch/arm/mach-omap2/clock3xxx_data.c
    - arch/arm/mach-omap2/usb-musb.c
    - arch/arm/plat-omap/include/plat/usb.h
    - drivers/usb/musb/musb_core.h

    Linus Torvalds
     
  • * 'for-linus' of git://codeaurora.org/quic/kernel/davidb/linux-msm: (46 commits)
    msm: scm: Check for interruption immediately
    msm: scm: Fix improper register assignment
    msm: scm: Mark inline asm as volatile
    msm: iommu: Enable HTW L2 redirection on MSM8960
    msm: iommu: Don't read from write-only registers
    msm: iommu: Remove dependency on IDR
    msm: iommu: Use ASID tagging instead of VMID tagging
    msm: iommu: Rework clock logic and add IOMMU bus clock control
    msm: iommu: Clock control for the IOMMU driver
    msm: mdp: Set the correct pack pattern for XRGB/ARGB
    msm_fb: Fix framebuffer console
    msm: mdp: Add support for RGBX 8888 image format.
    video: msmfb: Put the partial update magic value into the fix_screen struct.
    msm: clock: Migrate to clkdev
    msm: clock: Remove references to clk_ops_pcom
    msm: headsmp.S: Fix section mismatch
    msm: Use explicit GPLv2 licenses
    msm: iommu: Enable IOMMU support for MSM8960
    msm: iommu: Generalize platform data for multiple targets
    msm: iommu: Create a Kconfig item for the IOMMU driver
    ...

    Linus Torvalds
     
  • * 'defcfg' of master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: 6647/1: add Versatile Express defconfig
    ARM: 6644/1: mach-ux500: update the U8500 defconfig

    * 'drivers' of master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: 6764/1: pl011: factor out FIFO to TTY code
    ARM: 6763/1: pl011: add optional RX DMA to PL011 v2
    ARM: 6758/1: amba: support pm ops
    ARM: amba: make amba_driver id_table const
    ARM: amba: make internal ID table handling const
    ARM: amba: make probe() functions take const id tables
    ARM: 6662/1: amba: make amba_bustype non-static
    ARM: mmci: add dmaengine-based DMA support
    ARM: mmci: no need for separate host->data_xfered
    ARM: mmci: avoid unnecessary switch to data available PIO interrupts
    ARM: mmci: no need to call flush_dcache_page() with sg_miter API
    ARM: mmci: avoid reporting too many completed bytes on fifo overrun
    ALSA: AACI: make fifo variables more explanitory
    ALSA: AACI: no need to call snd_pcm_period_elapsed() for each period
    ALSA: AACI: use snd_pcm_lib_period_bytes()
    ALSA: AACI: clean up AACI announcement printk
    ALSA: AACI: fix channel mask selection
    ALSA: AACI: fix number of channels for record
    ALSA: AACI: fix multiple IRQ claiming

    * 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm:
    VIDEO: cyberpro: remove unused cyber2000fb_get_fb_var()
    VIDEO: cyberpro: remove useless function extreg pointers
    VIDEO: cyberpro: update handling of device structures
    VIDEO: cyberpro: add support for video capture I2C
    VIDEO: cyberpro: make 'reg_b0_lock' always present
    VIDEO: cyberpro: add I2C support
    VIDEO: cyberpro: select lowest multipler/divisor for PLL

    Linus Torvalds
     
  • Pull in Linus' tree to pick up changes required for the langwell gpio fixes

    Grant Likely
     
  • This patch adds support for power regulators.

    Signed-off-by: Jaehoon Chung
    Signed-off-by: kyungmin Park
    Acked-by: Will Newton
    Signed-off-by: Chris Ball

    Jaehoon Chung
     
  • This patch is related to re-init processing on suspend/resume.

    When card is resuming, some register is reset. If card is removable,
    maybe controller should be rescan for card. But if assume card is
    non-removable, need to restore the old value at registers.

    We store the value of FIFOTH at probe time and then restore it in
    dw_mci_resume().

    Signed-off-by: Jaehoon Chung
    Signed-off-by: Kyungmin Park
    Acked-by: Will Newton
    Signed-off-by: Chris Ball

    Jaehoon Chung
     
  • This patch adds quirks and capabilities to platdata.

    Some cards don't use the CDn pin; in that case, we assume the card's
    inserted. Some boards need other capabilities. So, we add capabilities
    in the board's platdata.

    Signed-off-by: Jaehoon Chung
    Signed-off-by: Kyungmin Park
    Acked-by: Will Newton
    Signed-off-by: Chris Ball

    Jaehoon Chung
     
  • Currently kunmap_atomic() doesn't take into account the offset, used
    with kmap_atomic(). On platforms, where kunmap_atomic() is not a NOP,
    this will lead to problems, when offset != 0.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • count is only ever used by assigning to old_len if count == 0, and
    then old_len isn't ever used at all. So, both are redundant. Fixes:

    drivers/mmc/host/dw_mmc.c: In function ‘dw_mci_read_data_pio’:
    drivers/mmc/host/dw_mmc.c:1034:32: warning: variable ‘old_len’ set but
    not used [-Wunused-but-set-variable]

    Signed-off-by: Chris Ball
    Acked-by: Will Newton

    Chris Ball
     
  • Signed-off-by: Wolfram Sang
    Tested-by: Marc Reilly
    Tested-by: Eric Benard
    Signed-off-by: Chris Ball

    Wolfram Sang
     
  • It can be worked around using a GPIO which will be done for i.MX later.

    Signed-off-by: Wolfram Sang
    Acked-by: Anton Vorontsov
    Tested-by: Marc Reilly
    Tested-by: Eric Benard
    Signed-off-by: Chris Ball

    Wolfram Sang
     
  • Signed-off-by: Wolfram Sang
    Tested-by: Marc Reilly
    Tested-by: Eric Benard
    Signed-off-by: Chris Ball

    Wolfram Sang