24 May, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     

19 May, 2011

2 commits

  • Haavard's e-mail address at Atmel is no longer valid.

    Signed-off-by: Jean Delvare
    Acked-by: Havard Skinnemoen
    Signed-off-by: Jiri Kosina

    Jean Delvare
     
  • Commit b826291c, "drivercore/dt: add a match table pointer to struct
    device" added an of_match pointer to struct device to cache the
    of_match_table entry discovered at driver match time. This was unsafe
    because matching is not an atomic operation with probing a driver. If
    two or more drivers are attempted to be matched to a driver at the
    same time, then the cached matching entry pointer could get
    overwritten.

    This patch reverts the of_match cache pointer and reworks all users to
    call of_match_device() directly instead.

    Signed-off-by: Grant Likely

    Grant Likely
     

16 May, 2011

1 commit


28 Apr, 2011

7 commits

  • It seems that under certain circumstances the sdhci_tasklet_finish()
    call can be entered with mrq set to NULL, causing the system to crash
    with a NULL pointer de-reference.

    Seen on S3C6410 system. Based on a patch by Dimitris Papastamos.

    Reported-by: Dimitris Papastamos
    Cc:
    Signed-off-by: Chris Ball

    Chris Ball
     
  • It seems that under certain circumstances that the sdhci_tasklet_finish()
    call can be entered with mrq->cmd set to NULL, causing the system to crash
    with a NULL pointer de-reference.

    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    PC is at sdhci_tasklet_finish+0x34/0xe8
    LR is at sdhci_tasklet_finish+0x24/0xe8

    Seen on S3C6410 system.

    Signed-off-by: Ben Dooks
    Signed-off-by: Mark Brown
    Cc:
    Signed-off-by: Chris Ball

    Ben Dooks
     
  • The aggressive clock gating for TMIO MMC patch has broken switching
    interface power on, using MFD or platform callbacks. Restore the
    ios->power_mode == MMC_POWER_UP && ios->clock == 0 case handling.

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

    Guennadi Liakhovetski
     
  • Currently there is a race in the MMC core between a card-detect
    rescan work and the clock-gating work, scheduled from a command
    completion. Fix it by removing the dedicated clock-gating mutex
    and using the MMC standard locking mechanism instead.

    Signed-off-by: Guennadi Liakhovetski
    Cc: Simon Horman
    Cc: Magnus Damm
    Acked-by: Linus Walleij
    Cc:
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     
  • Either OMAP_MMC_STAT_CARD_ERR or OMAP_MMC_STAT_END_OF_CMD might fire
    if there is no host->cmd pointer.

    Check for a valid host->cmd pointer before calling mmc_omap_cmd_done().

    Signed-off-by: Michael Buesch
    Acked-by: Tony Lindgren
    Signed-off-by: Chris Ball

    Michael Buesch
     
  • Fixes a cosmetic bug that affects printk() for SD-combo cards.

    Reported-by: Prashanth Bhat
    Signed-off-by: Michał Mirosław
    Signed-off-by: Chris Ball

    Michał Mirosław
     
  • If pci_ioremap_bar() fails during probe, we "goto release;" and free the
    host, but then we return 0 -- which tells sdhci_pci_probe() that the probe
    succeeded. Since we think the probe succeeded, when we unload sdhci we'll
    go to sdhci_pci_remove_slot() and it will try to dereference slot->host,
    which is now NULL because we freed it in the error path earlier.

    The patch simply sets ret appropriately, so that sdhci_pci_probe() will
    detect the failure immediately and bail out.

    Signed-off-by: Chris Ball
    Cc:

    Chris Ball
     

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

19 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
     
  • This patch is based on the commit "af51715079e7fb6b290e1881d63d815dc4de5011":

    * Bugfix to that mmc_send_cxd_data() code: dma-to-stack is
    unsafe/nonportable, so kmalloc a bounce buffer instead.

    The driver may invalidate the mmc_card->csd when host driver uses dma.
    So this subroutine also needs a kmalloc buffer.

    Signed-off-by: Yoshihiro Shimoda
    Signed-off-by: Chris Ball

    Yoshihiro Shimoda
     
  • 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
     
  • Fixes:

    drivers/mmc/card/mmc_test.c: In function ‘mmc_test_seq_perf’:
    drivers/mmc/card/mmc_test.c:1878:28: warning: variable ‘ts’ set but not
    used [-Wunused-but-set-variable]

    There's no reason to be calling timespec_sub() here, because
    mmc_test_print_avg_rate() is going to do that itself.

    Signed-off-by: Chris Ball
    Cc: Adrian Hunter

    Chris Ball
     
  • * 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block: (65 commits)
    Documentation/iostats.txt: bit-size reference etc.
    cfq-iosched: removing unnecessary think time checking
    cfq-iosched: Don't clear queue stats when preempt.
    blk-throttle: Reset group slice when limits are changed
    blk-cgroup: Only give unaccounted_time under debug
    cfq-iosched: Don't set active queue in preempt
    block: fix non-atomic access to genhd inflight structures
    block: attempt to merge with existing requests on plug flush
    block: NULL dereference on error path in __blkdev_get()
    cfq-iosched: Don't update group weights when on service tree
    fs: assign sb->s_bdi to default_backing_dev_info if the bdi is going away
    block: Require subsystems to explicitly allocate bio_set integrity mempool
    jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging
    jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging
    fs: make fsync_buffers_list() plug
    mm: make generic_writepages() use plugging
    blk-cgroup: Add unaccounted time to timeslice_used.
    block: fixup plugging stubs for !CONFIG_BLOCK
    block: remove obsolete comments for blkdev_issue_zeroout.
    blktrace: Use rq->cmd_flags directly in blk_add_trace_rq.
    ...

    Fix up conflicts in fs/{aio.c,super.c}

    Linus Torvalds
     

23 Mar, 2011

5 commits