aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-17mmc: core: export function mmc_do_release_host()Ulf Hansson2-1/+10
When using mmc_try_claim_host the corresponding release function is mmc_do_release_host, which then also must be exported. Reviewed-by: Jonas Aberg <[email protected]> Reviewed-by: Sebastian Rasmussen <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-17mmc: sdio: remember new card RCA when redetecting cardStefan Nilsson XK1-0/+8
During redetection of a SDIO card, a request for a new card RCA was submitted to the card, but was then overwritten by the old RCA. This caused the card to be deselected instead of selected when using the incorrect RCA. This bug's been present since the "oldcard" handling was introduced in 2.6.32. Signed-off-by: Stefan Nilsson XK <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Reviewed-by: Pawel Wieczorkiewicz <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Cc: <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-17mmc: dw_mmc: Remove set-but-unused variable.Chris Ball1-5/+1
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 <[email protected]> Acked-by: Will Newton <[email protected]>
2011-03-17mmc: sdhci-esdhc-imx: add card detect on custom GPIO for mx25/35Wolfram Sang2-0/+81
Signed-off-by: Wolfram Sang <[email protected]> Tested-by: Marc Reilly <[email protected]> Tested-by: Eric Benard <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-17mmc: sdhci-esdhc: broken card detection is not a default quirkWolfram Sang3-3/+4
It can be worked around using a GPIO which will be done for i.MX later. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Tested-by: Marc Reilly <[email protected]> Tested-by: Eric Benard <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-17mmc: sdhci-esdhc-imx: add write protect on custom GPIO on mx25/35Wolfram Sang2-12/+50
Signed-off-by: Wolfram Sang <[email protected]> Tested-by: Marc Reilly <[email protected]> Tested-by: Eric Benard <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-17mmc: msm_sdcc: remove needless cache flush after dma_unmap_sg()Linus Walleij1-8/+0
dma_unmap_sg() already flushes the cache, I don't get what this code is doing here. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-16mmc: sh_mmcif: support aggressive clock gatingGuennadi Liakhovetski1-5/+5
To support MMC aggressive clock gating the driver has to stop the interface clock when the .set_ios() method is called with .clock == 0. Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-16mmc: check if mmc cards < 2GB do sector addressingPhilip Rakity1-1/+11
Some TOSHIBA MMC cards only support sector addressing even though the size is < 2GB. According to JEDEC Spec JESD84-A441-1 the ocr register (bits 30, 29) determine byte/sector mode. Use them. Signed-off-by: Philip Rakity <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-16mmc: core: comment on why sdio_reset is done at init timePhilip Rakity1-0/+6
sdio_reset sends a CMD52 to reset the sdio card. This is highly recommended for sdio cards being reinitialized. Since we do not know if the card is being reinitialized we just send the command. SD/eMMC cards are supposed to ignore the CMD before the CMD0. Document why we are doing this. Signed-off-by: Philip Rakity <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: dw_mmc: support DDR modeJaehoon Chung2-1/+9
This patch adds DDR mode support to dw_mmc. If we set any bit in UHS_REG bit[16:31], the card of that slot is supported for DDR mode. For example, if UHS_REG[16] is set, card number 0 is DDR mode. Signed-off-by: Jaehoon Chung <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Will Newton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: via-sdmmc: Remove set-but-unused variable.Chris Ball1-3/+0
drivers/mmc/host/via-sdmmc.c: In function ‘via_reset_pcictrl’: drivers/mmc/host/via-sdmmc.c:805:8: warning: variable ‘addrbase’ set but not used [-Wunused-but-set-variable] Signed-off-by: Chris Ball <[email protected]> Cc: Harald Welte <[email protected]> Acked-by: Wolfram Sang <[email protected]>
2011-03-15mmc: cb710: Return err value in cb710_wait_while_busy()Chris Ball1-1/+1
Fixes: drivers/mmc/host/cb710-mmc.c: In function ‘cb710_wait_while_busy’: drivers/mmc/host/cb710-mmc.c:182:6: warning: variable ‘err’ set but not used [-Wunused-but-set-variable] Signed-off-by: Chris Ball <[email protected]> Acked-by: Michał Mirosław <[email protected]> Acked-by: Wolfram Sang <[email protected]>
2011-03-15mmc: sdhci-pci: Remove set-but-unused variable.Chris Ball1-4/+0
drivers/mmc/host/sdhci-pci.c: In function ‘sdhci_pci_probe_slot’: drivers/mmc/host/sdhci-pci.c:913:18: warning: variable ‘addr’ set but not used [-Wunused-but-set-variable] Signed-off-by: Chris Ball <[email protected]> Acked-by: Wolfram Sang <[email protected]>
2011-03-15mmc: mxs-mmc: add mmc host driver for i.MX23/28Shawn Guo4-0/+902
This adds the mmc host driver for Freescale MXS-based SoC i.MX23/28. The driver calls into mxs-dma via generic dmaengine api for both pio and data transfer. Thanks Chris Ball for the indentation patch. Signed-off-by: Shawn Guo <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]> Tested-by: Wolfram Sang <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sdhci-tegra: free irq on error and removeWolfram Sang1-1/+5
Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Olof Johansson <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mxcmmc: use dmaengine APISascha Hauer1-77/+104
This switches the mxcmmc driver to use the dmaengine API. Unlike the old one this one is always present in the tree, even if no DMA is implemented, hence we can remove all the #ifdefs in from the driver. The driver automatically switches to PIO mode if no DMA support or no suitable channel is available. Signed-off-by: Sascha Hauer <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: dw_mmc: support 8-bit buswidthJaehoon Chung1-0/+3
This patch adds support for 8-bit buswidth. dw_mmc can use 8-bit buswidth and set to CTYPE_8BIT in card-type register. Signed-off-by: Jaehoon Chung <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Will Newton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: dw_mmc: modify quirks bit-shift controlJaehoon Chung1-5/+3
If we need some quirks, maybe add quirks in future But now, quirks value set to integer..later we should be confused.. So I think that need bit-shift control. And If we need not any quirks, we didn't set anything.. (Need not DW_MCI_QUIRK_NONE) Signed-off-by: Jaehoon Chung <[email protected]> Acked-by: Will Newton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: tmio_mmc: use dmaengine helpers, drop submit checkLinus Walleij1-13/+4
Use the new dmaengine helper functions, and drop the error check on the returned cookier from the dmaengine - we recently established that this is really not allowed to fail. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: tmio_mmc: drop dma_sglen state variableLinus Walleij1-7/+2
This variable doesn't seem to be used for anything after the other patches so just drop it. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: tmio_mmc: unmap with the proper sglenLinus Walleij1-2/+2
According to the DMA-API you shall unmap the sglists with the same sglist length as passed into the mapping function, not the returned value from the mapping function. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: tmio_mmc: map DMA buffers on the DMA engine deviceLinus Walleij1-4/+6
As established for the MMCI, it is proper to map the DMA buffers on the DMA engine which is the one actually performing the DMA. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sh_mmcif: use dmaengine helpers, drop submit checkLinus Walleij1-16/+6
Use the new dmaengine helper functions, and drop the error check on the returned cookier from the dmaengine - we recently established that this is really not allowed to fail. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sh_mmcif: rename and retype activity variableLinus Walleij1-9/+9
The host_sglen is now actually used to keep track of whether DMA is active or not, so rename and retype it to bool. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sh_mmcif: unmap with the proper sglenLinus Walleij1-2/+2
According to the DMA-API you shall unmap the sglists with the same sglist length as passed into the mapping function, not the returned value from the mapping function. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sh_mmcif: map DMA buffers on the DMA engine deviceLinus Walleij1-4/+8
As established for the MMCI, it is proper to map the DMA buffers on the DMA engine which is the one actually performing the DMA. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: atmel-mci: use dmaengine helper functionsLinus Walleij1-3/+3
Use the new dmaengine helpers to make the code more readable. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: atmel-mci: conform to DMA-APILinus Walleij1-4/+3
Fixes the following: - It is perfectly legal for the dma_map_sg() to return fewer entries than were passed in. - Supply the returned numer of (possibly coalesced) entries to the device_pre_slave_sg() function. - Use the proper original sg_len when unmapping the sglist in the error path. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: atmel-mci: map DMA sglist on the DMA engineLinus Walleij1-3/+5
As established for the MMCI, it is proper to map the DMA buffers on the DMA engine which is the one actually performing the DMA. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sdhci: Add Ricoh e823 PCI IDManoj Iyer1-0/+8
Signed-off-by: Manoj Iyer <[email protected]> Cc: <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: Ensure prototypes for SD API are visible in sd.cMark Brown1-0/+1
So we know the implementation and prototypes agree with each other. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Chris Ball <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: Improve MMC_TEST config text.Will Newton1-2/+1
The test file is created under debugfs, not sysfs. Also remove the unnecessary default n. Signed-off-by: Will Newton <[email protected]> Reviewed-by: Chris Ball <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: dw_mmc: Enable low-power mode for the card clock.Will Newton1-1/+2
Setting this bit in the clock enable register will stop the clock when the card is in the IDLE state. Signed-off-by: Will Newton <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: dw_mmc: Run card detect tasklet during slot initialisation.Will Newton1-0/+6
We need to run the card detect tasklet at the end of slot initialisation as it is possible that a card has been inserted prior to boot, so we don't see an insertion interrupt and now the card is sitting there inserted but with no power to it. Signed-off-by: Neil Jones <[email protected]> Signed-off-by: Will Newton <[email protected]> Reviewed-by: Matt Fleming <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mmc_mxc: Allow selection only for the correct platformsFabio Estevam1-1/+1
Currently MMC_MXC driver can be selected by all i.MX devices. Restrict its use only for the appropriate processors. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Sascha Hauer <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: tmio_mmc: Improve readability of the output of pr_debug_status()Simon Horman1-23/+27
Reviewed-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Simon Horman <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mmc_test: add tests to measure large sequential I/O performanceAdrian Hunter1-0/+100
Add two large sequential I/O performance tests: 35. Large sequential read into scattered pages 36. Large sequential write from scattered pages The tests measure transfer times for 10MiB, 100MiB, 1000MiB. Signed-off-by: Adrian Hunter <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mmc_test: add tests to measure random I/O operations per secondAdrian Hunter1-11/+128
Existing performance tests measure single or sequential I/O speed. Add two random I/O tests: 33. Random read performance by transfer size 34. Random write performance by transfer size Signed-off-by: Adrian Hunter <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mmc_test: make performance test area size about 4MiBAdrian Hunter1-12/+13
The test area size was set to the preferred erase size but for comparison purposes it is better if it is the same size for different devices. Make it a multiple of preferred erase size that is greater than or equal to 4MiB. Signed-off-by: Adrian Hunter <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: remove BROKEN_CLK_GATING quirk for wl1271Pierre Tardy1-1/+11
This sdio card supports having its sdio clock shutdown. It is also not using the SDIO IRQ, but rather uses a side gpio irq. Signed-off-by: Pierre Tardy <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: add MMC_QUIRK_BROKEN_CLK_GATINGPierre Tardy3-4/+15
Some sdio card are not following sdio standard, and do not work when the sdio bus's clock is gated. To keep functionnality for all legacy driver, we turn this quirk on for every sdio card. Drivers needs to disable the quirk manually when someone verifies that their supported card works with clock gating. Signed-off-by: Pierre Tardy <[email protected]> Acked-by: Ohad Ben-Cohen <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: add per device quirk placeholderPierre Tardy5-1/+68
Some cards have quirks valid for every platforms using current platform quirk hooks leads to a lot of code and debug duplication. So we inspire a bit from what exists in PCI subsystem and do our own per vendorid/deviceid quirk. We still drop the complexity of the pci quirk system (with special section tables, and so on). That can be added later if needed. Signed-off-by: Pierre Tardy <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Ohad Ben-Cohen <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: put the led blinking code after clock ungatingPierre Tardy1-2/+1
Since mmc clock gating can also be used as a power gating tip, it's better to put the led blinking after having ungated the clock. Signed-off-by: Pierre Tardy <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: mmc_test: Only warn about not waiting for busy if it's supportedPawel Moll1-3/+4
If the MMC host controller does not support waiting for card signaling busy state (MMC_CAP_WAIT_WHILE_BUSY cap), there is no point in prining the relevant warning message. Signed-off-by: Pawel Moll <[email protected]> Reviewed-by: Matt Fleming <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: sdhci-s3c: Auto CMD12 supportKyungmin Park1-0/+3
Samsung SDHCI host controller supports the Auto CMD12. Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: Fix the block device read only flagMarc-André Hébert1-0/+1
While the MMC handled the card's read only flag correctly on open, it did not setup the flag in the allocated disk structure. The consequence being that probing the /sys/class/block/mmcblkX/ro attribute always reported 0. Signed-off-by: Marc-Andre Hebert <[email protected]> Reviewed-by: Chris Ball <[email protected]> Tested-by: Chris Ball <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-15mmc: export eMMC4.4 enhanced area details to sysfsChuanxiao Dong4-0/+101
Enhanced area feature is a new feature defined in eMMC4.4 standard. This user data area provides higher performance/reliability, at the expense of using twice the effective media space due to the area using SLC. The MMC driver now reads out the enhanced area offset and size and adds them to the device attributes in sysfs. Enabling the enhanced area can only be done once, and should be done in manufacturing. To use this feature, bit ERASE_GRP_DEF should also be set. Documentation/ABI/testing/sysfs-devices-mmc describes the two new attributes. Signed-off-by: Chuanxiao Dong <[email protected]> Reviewed-by: Chris Ball <[email protected]> Signed-off-by: Chris Ball <[email protected]>
2011-03-09Merge branch 'fixes' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] pcc-cpufreq: don't load driver if get_freq fails during init.
2011-03-09Merge branch 'for-linus' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: mmc: fix CONFIG_MMC_UNSAFE_RESUME regression