20 Dec, 2011

3 commits

  • You didn't mean this to be a bool.

    Signed-off-by: Rusty Russell
    Acked-by: Tony Olech
    Cc:
    Signed-off-by: Chris Ball

    Rusty Russell
     
  • When SDIO runtime PM was originally introduced, we immediately faced
    two regressions with two different chipsets, and in response decided
    not to enable it by default.

    With the recent work on the 8686 we hoped we found all the gotchas,
    so 08da834 did make sense (at least experimentally).

    Unfortunately we now see that some setups out there still refuse to
    work when SDIO runtime PM is enabled by default (see
    http://www.spinics.net/lists/linux-mmc/msg11161.html), and obviously
    we can't live with these kind of regressions.

    This reverts commit 08da834a24312157f512224691ad1fddd11c1073.

    Signed-off-by: Ohad Ben-Cohen
    Cc: Daniel Drake
    Signed-off-by: Chris Ball

    Ohad Ben-Cohen
     
  • Drop the "state" argument from sdhci_suspend_host. Its only user is the
    PCI glue; this allows to move all SDHCI glues to use dev_pm_ops instead.

    Signed-off-by: Manuel Lauss
    Acked-by: Adrian Hunter
    Signed-off-by: Chris Ball

    Manuel Lauss
     

11 Dec, 2011

10 commits


08 Dec, 2011

1 commit

  • Reported by Russell King:
    mmcblk0: error -84 transferring data, sector 149201, nr 64,
    cmd response 0x900, card status 0xb00
    mmcblk0: retrying using single block read

    WARNING: at lib/dma-debug.c:811 check_unmap
    omap_hsmmc omap_hsmmc.0: DMA-API: device driver tries to free DMA memory
    it has not allocated [device address=0x0000000080933000] [size=20480 bytes]

    In case of an error dma_unmap() is issued in omap_hsmmc_dma_cleanup()
    and then again in omap_hsmmc_post_req(). Resolve this by clearing the
    host_cookie to indicate there is no DMA mapped memory to unmap.

    Signed-off-by: Per Forlin
    Tested-by: Balaji T K
    Tested-by: Russell King
    Signed-off-by: Chris Ball

    Per Forlin
     

11 Nov, 2011

1 commit

  • The following error is seen in some case when mounting rootfs from
    SD/MMC cards.

    Waiting for root device /dev/mmcblk0p1...
    mmc1: host does not support reading read-only switch. assuming write-enable.
    mmc1: new high speed SDHC card at address b368
    mmcblk0: mmc1:b368 SDC 3.74 GiB
    mmcblk0: p1
    mmc1: Timeout waiting for hardware interrupt.
    mmcblk0: error -110 transferring data, sector 3678224, nr 40, cmd response 0x900, card status 0xc00
    end_request: I/O error, dev mmcblk0, sector 3678225
    Buffer I/O error on device mmcblk0p1, logical block 458754
    lost page write due to I/O error on mmcblk0p1

    This patch fixes the problem by lowering the usdhc clock and correcting
    watermark configuration.

    Signed-off-by: Shawn Guo
    Cc: Chris Ball
    Cc: Sascha Hauer
    Signed-off-by: Sascha Hauer

    Shawn Guo
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

05 Nov, 2011

1 commit

  • * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (63 commits)
    dmaengine: mid_dma: mask_peripheral_interrupt only when dmac is idle
    dmaengine/ep93xx_dma: add module.h include
    pch_dma: Reduce wasting memory
    pch_dma: Fix suspend issue
    dma/timberdale: free_irq() on an error path
    dma: shdma: transfer based runtime PM
    dmaengine: shdma: protect against the IRQ handler
    dmaengine i.MX DMA/SDMA: add missing include of linux/module.h
    dmaengine: delete redundant chan_id and chancnt initialization in dma drivers
    dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool
    dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers
    serial: sh-sci: don't filter on DMA device, use only channel ID
    ARM: SAMSUNG: Remove Samsung specific enum type for dma direction
    ASoC: Samsung: Update DMA interface
    spi/s3c64xx: Merge dma control code
    spi/s3c64xx: Add support DMA engine API
    ARM: SAMSUNG: Remove S3C-PL330-DMA driver
    ARM: S5P64X0: Use generic DMA PL330 driver
    ARM: S5PC100: Use generic DMA PL330 driver
    ARM: S5PV210: Use generic DMA PL330 driver
    ...

    Fix up fairly trivial conflicts in
    - arch/arm/mach-exynos4/{Kconfig,clock.c}
    - arch/arm/mach-s5p64x0/dma.c

    Linus Torvalds
     

04 Nov, 2011

1 commit

  • * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
    MIPS: O32: Provide definition of registers ta0 .. ta3.
    MIPS: perf: Add Octeon support for hardware perf.
    MIPS: perf: Add support for 64-bit perf counters.
    MIPS: perf: Reorganize contents of perf support files.
    MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
    MIPS: Add accessor macros for 64-bit performance counter registers.
    MIPS: Add probes for more Octeon II CPUs.
    MIPS: Add more CPU identifiers for Octeon II CPUs.
    MIPS: XLR, XLS: Add comment for smp setup
    MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
    MIPS: JZ4740: GPIO: Simplify IRQ demuxer
    MIPS: JZ4740: Use generic irq chip
    MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
    MIPS: Alchemy: kill au1xxx.h header
    MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
    MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
    MIPS: Alchemy: Redo PCI as platform driver
    MIPS: Alchemy: more base address cleanup
    MIPS: Alchemy: rewrite USB platform setup.
    MIPS: Alchemy: abstract USB block control register access
    ...

    Fix up trivial conflicts in:
    arch/mips/alchemy/devboards/db1x00/platform.c
    drivers/ide/Kconfig
    drivers/mmc/host/au1xmmc.c
    drivers/video/Kconfig
    sound/mips/Kconfig

    Linus Torvalds
     

03 Nov, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
    hwspinlock: add MAINTAINERS entries
    hwspinlock/omap: omap_hwspinlock_remove should be __devexit
    hwspinlock/u8500: add hwspinlock driver
    hwspinlock/core: register a bank of hwspinlocks in a single API call
    hwspinlock/core: remove stubs for register/unregister
    hwspinlock/core: use a mutex to protect the radix tree
    hwspinlock/core/omap: fix id issues on multiple hwspinlock devices
    hwspinlock/omap: simplify allocation scheme
    hwspinlock/core: simplify 'owner' handling
    hwspinlock/core: simplify Kconfig

    Fix up trivial conflicts (addition of omap_hwspinlock_pdata, removal of
    omap_spinlock_latency) in arch/arm/mach-omap2/hwspinlock.c

    Also, do an "evil merge" to fix a compile error in omap_hsmmc.c which
    for some reason was reported in the same email thread as the "please
    pull hwspinlock changes".

    Linus Torvalds
     

02 Nov, 2011

2 commits

  • * 'next/devel' of git://git.linaro.org/people/arnd/arm-soc: (50 commits)
    ARM: tegra: update defconfig
    arm/tegra: Harmony: Configure PMC for low-level interrupts
    arm/tegra: device tree support for ventana board
    arm/tegra: add support for ventana pinmuxing
    arm/tegra: prepare Seaboard pinmux code for derived boards
    arm/tegra: pinmux: ioremap registers
    gpio/tegra: Convert to a platform device
    arm/tegra: Convert pinmux driver to a platform device
    arm/dt: Tegra: Add pinmux node to tegra20.dtsi
    arm/tegra: Prep boards for gpio/pinmux conversion to pdevs
    ARM: mx5: fix clock usage for suspend
    ARM i.MX entry-macro.S: remove now unused code
    ARM i.MX boards: use CONFIG_MULTI_IRQ_HANDLER
    ARM i.MX tzic: add handle_irq function
    ARM i.MX avic: add handle_irq function
    ARM: mx25: Add the missing IIM base definition
    ARM i.MX avic: convert to use generic irq chip
    mx31moboard: Add poweroff support
    ARM: mach-qong: Add watchdog support
    ARM: davinci: AM18x: Add wl1271/wlan support
    ...

    Fix up conflicts in:
    arch/arm/mach-at91/at91sam9g45.c
    arch/arm/mach-mx5/devices-imx53.h
    arch/arm/plat-mxc/include/mach/memory.h

    Linus Torvalds
     
  • * 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc: (125 commits)
    ARM: mach-mxs: fix machines' initializers order
    mmc: mxcmmc: explicitly includes mach/hardware.h
    arm/imx: explicitly includes mach/hardware.h in pm-imx27.c
    arm/imx: remove mx27_setup_weimcs() from mx27.h
    arm/imx: explicitly includes mach/hardware.h in mach-kzm_arm11_01.c
    arm/imx: remove mx31_setup_weimcs() from mx31.h
    ARM: tegra: devices.c should include devices.h
    ARM: tegra: cpu-tegra: unexport two functions
    ARM: tegra: cpu-tegra: sparse type fix
    ARM: tegra: dma: staticify some tables and functions
    ARM: tegra: tegra2_clocks: don't export some tables
    ARM: tegra: tegra_powergate_is_powered should be static
    ARM: tegra: tegra_rtc_read_ms should be static
    ARM: tegra: tegra_init_cache should be static
    ARM: tegra: pcie: 0 -> NULL changes
    ARM: tegra: pcie: include board.h
    ARM: tegra: pcie: don't cast __iomem pointers
    ARM: tegra: tegra2_clocks: 0 -> NULL changes
    ARM: tegra: tegra2_clocks: don't cast __iomem pointers
    ARM: tegra: timer: don't cast __iomem pointers
    ...

    Fix up trivial conflicts in
    arch/arm/mach-omap2/Makefile,
    arch/arm/mach-u300/{Makefile.boot,core.c}
    arch/arm/plat-{mxc,omap}/devices.c

    Linus Torvalds
     

01 Nov, 2011

6 commits


29 Oct, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (83 commits)
    mmc: fix compile error when CONFIG_BLOCK is not enabled
    mmc: core: Cleanup eMMC4.5 conditionals
    mmc: omap_hsmmc: if multiblock reads are broken, disable them
    mmc: core: add workaround for controllers with broken multiblock reads
    mmc: core: Prevent too long response times for suspend
    mmc: recognise SDIO cards with SDIO_CCCR_REV 3.00
    mmc: sd: Handle SD3.0 cards not supporting UHS-I bus speed mode
    mmc: core: support HPI send command
    mmc: core: Add cache control for eMMC4.5 device
    mmc: core: Modify the timeout value for writing power class
    mmc: core: new discard feature support at eMMC v4.5
    mmc: core: mmc sanitize feature support for v4.5
    mmc: dw_mmc: modify DATA register offset
    mmc: sdhci-pci: add flag for devices that can support runtime PM
    mmc: omap_hsmmc: ensure pbias configuration is always done
    mmc: core: Add Power Off Notify Feature eMMC 4.5
    mmc: sdhci-s3c: fix potential NULL dereference
    mmc: replace printk with appropriate display macro
    mmc: core: Add default timeout value for CMD6
    mmc: sdhci-pci: add runtime pm support
    ...

    Linus Torvalds
     

27 Oct, 2011

12 commits

  • Code cleanup, putting all eMMC 4.5 detection cases together.
    This patch removes one if-statement and assembles all. And it also
    removes variable initialization below else-statement -- all members
    of card structure are already set to zero at card-init.

    Signed-off-by: Seungwon Jeon
    Signed-off-by: Chris Ball

    Seungwon Jeon
     
  • When device data indicates that multiple block reads are not supported
    on a given HSMMC controller instance, log a message to the console, and
    pass the appropriate MMC capability flag to the MMC core.

    Signed-off-by: Paul Walmsley
    Cc: Dave Hylands
    Tested-by: Steve Sakoman
    Signed-off-by: Chris Ball

    Paul Walmsley
     
  • Due to hardware bugs, some MMC host controllers don't support
    multiple-block reads[1]. To resolve, add a new MMC capability flag,
    MMC_CAP2_NO_MULTI_READ, which can be set by affected host controller
    drivers. When this capability is set, all reads will be issued one
    sector at a time.

    1. See for example Advisory 2.1.1.128 "MMC: Multiple Block Read
    Operation Issue" in _OMAP3530/3525/3515/3503 Silicon Errata_
    Revision F (October 2010) (SPRZ278F), available from
    http://focus.ti.com/lit/er/sprz278f/sprz278f.pdf

    Signed-off-by: Paul Walmsley
    Cc: Dave Hylands
    Tested-by: Steve Sakoman
    Signed-off-by: Chris Ball

    Paul Walmsley
     
  • * 'clk' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7131/1: clkdev: Add Common Macro for clk_lookup
    clk: spi-pl022: convert to clk_prepare()/clk_unprepare()
    clk: timer-sp: convert to clk_prepare()/clk_unprepare()
    clk: sa1111: convert to clk_prepare()/clk_unprepare()
    clk: mmci: convert to clk_prepare()/clk_unprepare()
    clk: amba-pl011: convert to clk_prepare()/clk_unprepare()
    clk: amba-pl010: convert to clk_prepare()/clk_unprepare()
    clk: amba-clcd: convert to clk_prepare()/clk_unprepare()
    clk: amba bus: convert to clk_prepare()/clk_unprepare()
    clk: provide prepare/unprepare functions

    Linus Torvalds
     
  • * 'amba' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7079/1: spi: Fix builderror in spi-pl022.c
    PM: add runtime PM support to MMCI
    PM: add runtime PM support to core Primecell driver

    Linus Torvalds
     
  • * 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (43 commits)
    ARM: 7135/1: ep93xx: bring back missing
    ARM: 7104/1: plat-pxa: break out GPIO driver specifics
    ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystem
    ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics
    ARM: 7101/1: arm/tegra: Replace with
    ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h
    ARM: 7083/1: rewrite U300 GPIO to use gpiolib
    ARM: 7074/1: gpio: davinci: eliminate unused variable warnings
    ARM: 7063/1: Orion: gpio: add missing include of linux/types.h
    ARM: 7055/1: arm/tegra: mach/gpio.h: include linux/types.h to fix build
    ARM: 7054/1: arm/tegra: Delete custom gpio_to_irq, and irq_to_gpio
    ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irq
    ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpio
    ARM: 7057/1: mach-pnx4008: rename GPIO header
    ARM: 7056/1: plat-nomadik: kill off
    ARM: 7050/1: mach-sa1100: delete irq_to_gpio() function
    ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystem
    ARM: 7045/1: mach-lpc32xx: break out GPIO driver specifics
    ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystem
    ARM: 7043/1: mach-ixp2000: rename GPIO header
    ...

    Fix up trivial conflicts in arch/arm/mach-u300/Kconfig manually

    Linus Torvalds
     
  • While trying to suspend the mmc host there could still be
    ongoing requests that we need to wait for. At the same time
    a device driver must respond to a suspend request rather quickly.

    Instead of potentially wait "forever" by claiming the host we now
    "try" to claim the host instead. If it fails, -EBUSY is returned.

    Signed-off-by: Ulf Hansson
    Reviewed-by: Sujit Reddy Thumma
    Acked-by: Linus Walleij
    Signed-off-by: Chris Ball

    Ulf Hansson
     
  • Table 6-2: CCCR bit Definitions, address 00h. Part E1 SDIO Simplified
    Specification Version 3.00, Feb. 25, 2011.

    This patch has been tested with Marvell WLAN device SD8797.

    Signed-off-by: Bing Zhao
    Signed-off-by: Chris Ball

    Bing Zhao
     
  • Here is Essential conditions to indicate Version 3.00 Card
    (SD_SPEC=2 and SD_SPEC3=1) :
    (1) The card shall support CMD6
    (2) The card shall support CMD8
    (3) The card shall support CMD42
    (4) User area capacity shall be up to 2GB (SDSC) or 32GB (SDHC)
    User area capacity shall be more than or equal to 32GB and
    up to 2TB (SDXC)
    (5) Speed Class shall be supported (SDHC or SDXC)

    So even if SD card doesn't support any of the newly defined
    UHS-I bus speed mode, it can advertise itself as SD3.0 cards
    as long as it supports all the essential conditions of
    SD3.0 cards. Given this, these type of cards should atleast
    run in High Speed mode @50MHZ if it supports HS.

    But current initialization sequence for SD3.0 cards is
    such that these non-UHS-I SD3.0 cards runs in Default
    Speed mode @25MHz.

    This patch makes sure that these non-UHS-I SD3.0 cards run
    in High Speed Mode @50MHz.

    Tested this patch with SanDisk Extreme SDHC 8GB Class 10 card.

    Reported-by: "Hiremath, Vaibhav"
    Signed-off-by: Subhash Jadavani
    Signed-off-by: Chris Ball

    Subhash Jadavani
     
  • HPI command is defined in eMMC4.41.
    This feature is important for eMMC4.5 devices.

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

    Jaehoon Chung
     
  • This patch adds cache feature of eMMC4.5 Spec.
    If device supports cache capability, host can utilize some specific
    operations.

    Signed-off-by: Seungwon Jeon
    Signed-off-by: Jaehoon Chung
    Signed-off-by: Chris Ball

    Seungwon Jeon
     
  • This patch will apply the generic CMD6 timeout to switch command
    for power class.

    Signed-off-by: Seungwon Jeon
    Signed-off-by: Chris Ball

    Seungwon Jeon