- 29 2月, 2016 22 次提交
-
-
由 Stefan Wahren 提交于
Scott Branden from Broadcom said that the BCM2835 eMMC IP core is very similar to IPROC and share most of the quirks. So use this driver instead of separate one. The sdhci-iproc contains a better workaround for the clock domain crossing problem which doesn't need any delays. This results in a better write performance. Btw we get the rid of the SDHCI_CAPABILITIES hack in the sdhci_readl function. Suggested-by: NScott Branden <sbranden@broadcom.com> Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Acked-by: NEric Anholt <eric@anholt.net> Acked-by: NScott Branden <sbranden@broadcom.com> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Stefan Wahren 提交于
This patch moves the definition of the MMC capabilities from the probe function into iproc platform data. After that we are able to add support for another platform more easily. Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Suggested-by: NStephen Warren <swarren@wwwdotorg.org> Acked-by: NScott Branden <sbranden@broadcom.com> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Wolfram Sang 提交于
I had to use the source to determine what I need to write to 'test' so that all tests are run. Let's mention this explicitly in 'testlist'. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Wolfram Sang 提交于
I don't see a reason why a host driver should depend on the card driver. It also prevents that we can use the mmc_test driver. So, remove it. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Wolfram Sang 提交于
IMO this info is only useful for developers. Most users won't need this information, since there is not much they can do about it. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Arnd Bergmann 提交于
When DT based probing is used but the DMA request fails, the driver will print uninitialized stack data from the rx_req and tx_req variables, as indicated by this warning: drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_probe': drivers/mmc/host/omap_hsmmc.c:2162:3: warning: 'rx_req' may be used uninitialized in this function [-Wmaybe-uninitialized] dev_err(mmc_dev(host->mmc), "unable to obtain RX DMA engine channel %u\n", rx_req); This removes the DMA request line number from the warning, which is the easiest solution and won't hurt us any more as we are planning to remove the legacy code path anyway. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NTony Lindgren <tony@atomide.com> Reviewed-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Fu, Zhonghui 提交于
This patch enables sdhci-acpi devices to suspend/resume asynchronously. This will improve system suspend/resume speed. After enabling the sdhci-acpi devices and all their child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1089ms, and the system resume time is reduced from 940ms to 908ms. Signed-off-by: NZhonghui Fu <zhonghui.fu@linux.intel.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Fu, Zhonghui 提交于
This patch enables mmc hosts to suspend/resume asynchronously. This will improve system suspend/resume speed. After applying this patch and enabling all mmc hosts' child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1107ms, and the system resume time is reduced from 940ms to 914ms. Signed-off-by: NZhonghui Fu <zhonghui.fu@linux.intel.com> Acked-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Chen-Yu Tsai 提交于
eMMC chips require 2 power supplies, vmmc for internal logic, and vqmmc for driving output buffers. vqmmc also controls signaling voltage. Most boards we've seen use the same regulator for both, nevertheless the 2 have different usages, and should be set separately. This patch adds support for vqmmc regulator supply, including voltage switching. The MMC core can use this to try different signaling voltages for eMMC. Signed-off-by: NChen-Yu Tsai <wens@csie.org> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Chen-Yu Tsai 提交于
Let .set_ios() fail if mmc_regulator_set_ocr() fails to enable and set a proper voltage for vmmc. Signed-off-by: NChen-Yu Tsai <wens@csie.org> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Chen-Yu Tsai 提交于
sunxi_mmc_init_host() originated from Allwinner kernel sources. The magic numbers written to various registers was never documented. Add comments for values found in Allwinner user manuals. Signed-off-by: NChen-Yu Tsai <wens@csie.org> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Stefan Wahren 提交于
The RPi firmware-based clocks driver can actually disable unused clocks, so when switching to use it we ended up losing our MMC clock once all devices were probed. This patch adopts the changes from 1e5a0a9a ("mmc: sdhci-bcm2835: Actually enable the clock") to sdhci-iproc. Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Acked-by: NScott Branden <sbranden@broadcom.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Chuanxiao Dong 提交于
Clock frequency values written to an mmc host should not be less than the minimum clock frequency which the mmc host supports. Signed-off-by: NYuan Juntao <juntaox.yuan@intel.com> Signed-off-by: NPawel Wodkowski <pawelx.wodkowski@intel.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Stefan Wahren 提交于
This patch adopts the changes from 475c9e43 ("mmc: sdhci-bcm2835: Clean up platform allocations if sdhci init fails") to sdhci-iproc. Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Acked-by: NScott Branden <sbranden@broadcom.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Rameshwar Prasad Sahu 提交于
The Arason SD host controller supports set block count command (cmd23) and high speed mode. This patch re-enable both of these features that was disabled. For device that doesn't support high speed, it should configure its capability register accordingly instead disables it explicitly. Signed-off-by: NRameshwar Prasad Sahu <rsahu@apm.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Kishon Vijay Abraham I 提交于
Since v4.3+, CONFIG_REGULATOR_PBIAS should be enabled (for platforms that have PBIAS regulator) in order for MMC1 to work. Add a more verbose print to help enable CONFIG_REGULATOR_PBIAS for users using a olddefconfig or a custom .config. Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com> Acked-by: NSebastian Reichel <sre@kernel.org> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Masahiro Yamada 提交于
Variable assignment just before return is redundant. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Peter Chen 提交于
Signed-off-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Geliang Tang 提交于
Use to_delayed_work() instead of open-coding it. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Geliang Tang 提交于
Use to_delayed_work() instead of open-coding it. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Markus Elfring 提交于
This issue was detected by using the Coccinelle software. Two pointer checks could be repeated by the sdricoh_init_mmc() function during error handling even if the relevant properties can be determined for the involved variables before by source code analysis. * This implementation detail could be improved by adjustments for jump targets according to the Linux coding style convention. * Drop an unnecessary initialisation for the variable "mmc" then. Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Markus Elfring 提交于
These variables will eventually be set to an appropriate value a bit later. * host * iobase * result Thus let us omit the explicit initialisation at the beginning. Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 15 2月, 2016 1 次提交
-
-
由 Tony Lindgren 提交于
Commit 5de85b9d ("PM / runtime: Re-init runtime PM states at probe error and driver unbind") introduced pm_runtime_reinit() that is used to reinitialize PM runtime after -EPROBE_DEFER. This allows shutting down the device after a failed probe. However, for drivers using pm_runtime_use_autosuspend() this can cause a state where suspend callback is never called after -EPROBE_DEFER. On the following device driver probe, hardware state is different from the PM runtime state causing omap_device to produce the following error: omap_device_enable() called from invalid state 1 And with omap_device and omap hardware being picky for PM, this will block any deeper idle states in hardware. The solution is to fix the drivers to follow the PM runtime documentation: 1. For sections of code that needs the device disabled, use pm_runtime_put_sync_suspend() if pm_runtime_set_autosuspend() has been set. 2. For driver exit code, use pm_runtime_dont_use_autosuspend() before pm_runtime_put_sync() if pm_runtime_use_autosuspend() has been set. Fixes: 5de85b9d ("PM / runtime: Re-init runtime PM states at probe error and driver unbind") Cc: linux-mmc@vger.kernel.org Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Nishanth Menon <nm@ti.com> Cc: Rafael J. Wysocki <rafael@kernel.org> Cc: Ulf Hansson <ulf.hansson@linaro.org> Cc: Tero Kristo <t-kristo@ti.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 11 2月, 2016 6 次提交
-
-
由 Ulf Hansson 提交于
This reverts commit 829b6962. Revert this change as it causes a sysfs path to change and therefore introduces and ABI regression. More precisely Android's vold is not being able to access /sys/module/mmcblk/parameters/perdev_minors any more, since the path becomes changed to: "/sys/module/mmc_block/..." Fixes: 829b6962 ("mmc: block: don't use parameter prefix if built as module") Reported-by: NJohn Stultz <john.stultz@linaro.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Adrian Hunter 提交于
Intel BXT/APL use a card detect GPIO however the host controller will not enable bus power unless it's card detect also reflects the presence of a card. Unfortunately those 2 things race which can result in commands not starting, after which the controller does nothing and there is a 10 second wait for the driver's 10-second timer to timeout. That is fixed by having the driver look also at the present state register to determine if the card is present. Consequently, provide a 'get_cd' mmc host operation for BXT/APL that does that. Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org # v4.4+ Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Adrian Hunter 提交于
Intel BXT/APL use a card detect GPIO however the host controller will not enable bus power unless it's card detect also reflects the presence of a card. Unfortunately those 2 things race which can result in commands not starting, after which the controller does nothing and there is a 10 second wait for the driver's 10-second timer to timeout. That is fixed by having the driver look also at the present state register to determine if the card is present. Consequently, provide a 'get_cd' mmc host operation for BXT/APL that does that. Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org # v4.4+ Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Adrian Hunter 提交于
Drivers may need to provide their own get_cd() mmc host op, but currently the internals of the current op (sdhci_get_cd()) are provided by sdhci_do_get_cd() which is also called from sdhci_request(). To allow override of the get_cd functionality, change sdhci_request() to call ->get_cd() instead of sdhci_do_get_cd(). Note, in the future the call to ->get_cd() will likely be removed from sdhci_request() since most drivers don't need actually it. However this change is being done now to facilitate a subsequent bug fix. Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org # v4.4+ Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Adrian Hunter 提交于
In the past, fixes for specific hardware devices were implemented in sdhci using quirks. That approach is no longer accepted because the growing number of quirks was starting to make the code difficult to understand and maintain. One alternative to quirks, is to allow drivers to override the default mmc host operations. This patch makes it easy to do that, and it is needed for a subsequent bug fix, for which separate patches are provided. Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org # v4.4+ Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Chris Paterson 提交于
Commit 27cbd7e8 ("mmc: sh_mmcif: rework dma channel handling") introduced a typo causing the TX DMA channel allocation to be overwritten by the requested RX DMA channel. Fixes: 27cbd7e8 ("mmc: sh_mmcif: rework dma channel handling") Signed-off-by: NChris Paterson <chris.paterson2@renesas.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 10 2月, 2016 1 次提交
-
-
由 Olof Johansson 提交于
This used to return -EFAULT, but the function above returns -EINVAL on the same condition so let's stick to that. The removal of error return on this path was introduced with b093410c ('mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD'). Fixes: b093410c ('mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD'). Signed-off-by: NOlof Johansson <olof@lixom.net> Cc: Grant Grundler <grundler@google.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 08 2月, 2016 2 次提交
-
-
由 Robert Jarzmik 提交于
When the gpio driver is probed after the mmc one, the read/write gpio and card detection one return -EPROBE_DEFER. Unfortunately, the memory region remains requested, and upon the next probe, the probe will fail anyway with -EBUSY. Fix this by releasing the memory resource upon probe failure. More broadly, this patch uses devm_*() primitives whenever possible in the probe function. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Alexey Khoroshilov 提交于
There is no checks for dma mapping errors in mmc_spi. Tha patch fixes that and by the way it adds dma_unmap_single(ones_dma) that was left on a failure path mmc_spi_probe(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 02 2月, 2016 2 次提交
-
-
由 Jisheng Zhang 提交于
The device power usage counter is increased by pm_runtime_get_noresume but isn't decreased in err_add_host error path. Fix this issue by calling pm_runtime_put_noidle() in the error path to restore the device's power usage counter. Signed-off-by: NJisheng Zhang <jszhang@marvell.com> Acked-by: NLudovic Desroches <ludovic.desroches@atmel.com> Fixes: f5f17813 ("mmc: sdhci-of-at91: add PM support) Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Robert Jarzmik 提交于
The commit fixing the conversion of pxamci to slot-gpio API fixed the inverted the logic of the read-only gpio. Unfortunately, the commit was tested on a non-inverted gpio, and not on the inverted one. And the fix did work partially, by luck. This is the remaining missing part of the fix, trivial but still necessary. Fixes: Fixes: 26d49fe7 ("mmc: pxamci: fix read-only gpio detection polarity") Reported-by: NAndrea Adami <andrea.adami@gmail.com> Tested-by: NAndrea Adami <andrea.adami@gmail.com> Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Cc: stable@vger.kernel.org Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 21 1月, 2016 1 次提交
-
-
由 Martin Fuzzey 提交于
The DT binding doc says reset-gpios is an optional property but the code currently bails out if it is omitted. This is a regression since it breaks previously working device trees. Fix it by restoring the original documented behaviour. Fixes: ce037275 ("mmc: pwrseq_simple: use GPIO descriptors array API") Tested-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NMartin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 20 1月, 2016 1 次提交
-
-
由 Shawn Lin 提交于
CISTPL_SDIO_STD(0x91) is a known tuple, but sdio_cis don't define it, so we get the warning below while probing several sdio wifi cards. Refer to SDIO spec, it's not needed to parse the tuple, so this patch make it a known one. [ 4.098980] mmc2: queuing unknown CIS tuple 0x91 (3 bytes) [ 4.099033] mmc2: new ultra high speed SDR104 SDIO card at address 0001 Signed-off-by: NShawn Lin <shawn.lin@rock-chips.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 19 1月, 2016 1 次提交
-
-
由 Chuanxiao Dong 提交于
Correct the wrong voltage value shown in debugfs for mmc/sd/sdio. Signed-off-by: NChuanxiao Dong <chuanxiao.dong@intel.com> Signed-off-by: NPawel Wodkowski <pawelx.wodkowski@intel.com> Fixes: 42cd95a0 ("mmc: core: debugfs: Add signal_voltage to ios dump") Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 14 1月, 2016 3 次提交
-
-
由 Mans Rullgard 提交于
As struct mci_dma_data is now only used by AVR32, it is nothing but pointless indirection. Replace it with struct dw_dma_slave in the AVR32 platform code and with a void pointer elsewhere. Signed-off-by: NMans Rullgard <mans@mansr.com> Acked-by: NHans-Christian Noren Egtvedt <egtvedt@samfundet.no> Acked-by: NLudovic Desroches <ludovic.desroches@atmel.com> Acked-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Mans Rullgard 提交于
Commit ecb89f2f ("mmc: atmel-mci: remove compat for non DT board when requesting dma chan") broke dma on AVR32 and any other boards not using DT. This restores a fallback mechanism for such cases. Signed-off-by: NMans Rullgard <mans@mansr.com> Acked-by: NHans-Christian Noren Egtvedt <egtvedt@samfundet.no> Acked-by: NLudovic Desroches <ludovic.desroches@atmel.com> Acked-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Arnd Bergmann 提交于
The tmio_mmc_start_dma_{rx,tx} function functions contain debug code that prints the dma cookie among other things. However, in case we fall back to PIO mode for some reason, the cookie variable is never initialized, and gcc warns about this: In file included from ../include/linux/printk.h:277:0, from ../include/linux/kernel.h:13, from ../include/linux/list.h:8, from ../include/linux/kobject.h:20, from ../include/linux/device.h:17, from ../drivers/mmc/host/tmio_mmc_dma.c:13: ../drivers/mmc/host/tmio_mmc_dma.c: In function 'tmio_mmc_start_dma': ../include/linux/dynamic_debug.h:86:3: warning: 'cookie' may be used uninitialized in this function [-Wmaybe-uninitialized] __dynamic_dev_dbg(&descriptor, dev, fmt, \ ^ ../drivers/mmc/host/tmio_mmc_dma.c:128:15: note: 'cookie' was declared here dma_cookie_t cookie; This modifies the dev_dbg() statements so we only print the cookie when we are already in the DMA path. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-