Michał Mirosław
a04184ce77
mmc: sdhci-of-at91: fix memleak on clk_get failure
...
sdhci_alloc_host() does its work not using managed infrastructure, so
needs explicit free on error path. Add it where needed.
Cc: <stable@vger.kernel.org >
Fixes: bb5f8ea4d5
("mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/b2a44d5be2e06ff075f32477e466598bb0f07b36.1577961679.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 12:37:39 +01:00
Ulf Hansson
92f07e5c35
Merge branch 'fixes' into next
2020-01-16 12:37:26 +01:00
Faiz Abbas
27f4e1e942
mmc: sdhci_am654: Fix Command Queuing in AM65x
...
Command Queuing was enabled completely for J721e controllers which lead
to partial enablement even for Am65x. Complete CQ implementation for
AM65x by adding the irq callback.
Fixes: f545702b74
("mmc: sdhci_am654: Add Support for Command Queuing Engine to J721E")
Cc: stable@vger.kernel.org
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20200108143301.1929-4-faiz_abbas@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 12:29:16 +01:00
Faiz Abbas
de31f6ab68
mmc: sdhci_am654: Reset Command and Data line after tuning
...
The tuning data is leftover in the buffer after tuning. This can cause
issues in future data commands, especially with CQHCI. Reset the command
and data lines after tuning to continue from a clean state.
Fixes: 41fd4caeb0
("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20200108143301.1929-3-faiz_abbas@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 12:29:16 +01:00
Faiz Abbas
4d627c8854
mmc: sdhci_am654: Remove Inverted Write Protect flag
...
The MMC/SD controllers on am65x and j721e don't in fact detect the write
protect line as inverted. No issues were detected because of this
because the sdwp line is not connected on any of the evms. Fix this by
removing the flag.
Fixes: 1accbced1c
("mmc: sdhci_am654: Add Support for 4 bit IP on J721E")
Cc: stable@vger.kernel.org
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20200108143301.1929-2-faiz_abbas@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 12:29:16 +01:00
Yangbo Lu
1b21a701ae
mmc: sdhci-of-esdhc: fix clock setting for different controller versions
...
This patch is to fix clock setting code for different controller
versions. Two of HW changes after vendor version 2.2 are removing
PEREN/HCKEN/IPGEN bits in system control register, and adding SD
clock stable bit in present state register. This patch cleans up
related code too.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Link: https://lore.kernel.org/r/20200108040713.38888-2-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 11:50:18 +01:00
Yangbo Lu
2aa3d826ad
mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions
...
This patch is to fix operating in esdhc_reset() for different
controller versions, and to add bus-width restoring after data
reset for eSDHC (verdor version <= 2.2).
Also add annotation for understanding.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20200108040713.38888-1-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 11:50:18 +01:00
Yangbo Lu
5b742232d7
mmc: sdhci-of-esdhc: update tuning erratum A-008171
...
There is an official update for eSDHC tuning erratum A-008171.
This patch is to implement the changes,
- Affect all revisions of SoC.
- Changes for tuning window checking.
- Hardware hits a new condition that tuning succeeds although
the eSDHC might not have tuned properly for type2 SoCs
(soc_tuning_erratum_type2[] array in driver). So check
tuning window after tuning succeeds.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20191212075219.48625-2-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 11:45:54 +01:00
Yangbo Lu
f3c2082508
mmc: sdhci-of-esdhc: convert to use esdhc_tuning_window_ptr()
...
Convert to use a new function esdhc_tuning_window_ptr() to
get tuning window start point and end point.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20191212075219.48625-1-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2020-01-16 11:45:53 +01:00
Christoph Hellwig
4bdc0d676a
remove ioremap_nocache and devm_ioremap_nocache
...
ioremap has provided non-cached semantics by default since the Linux 2.6
days, so remove the additional ioremap_nocache interface.
Signed-off-by: Christoph Hellwig <hch@lst.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
2020-01-06 09:45:59 +01:00
Peter Ujfalusi
738987a1d6
mmc: bcm2835: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de >
Link: https://lore.kernel.org/r/20191217122254.7103-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:43 +01:00
Peter Ujfalusi
e6d82a7bc8
mmc: usdhi6rol0: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA if needed.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217113114.32085-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
b67b45179b
mmc: sh_mmcif: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA if needed.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217113031.31847-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
e1ebb456ae
mmc: pxamci: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217113004.31688-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
2e2d12e110
mmc: owl-mmc: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217112934.31535-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
972a2dd626
mmc: mxs: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217112847.31351-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
c3b2a0212b
mmc: mxcmmc: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217112803.31161-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
716d0205fe
mmc: mmci: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217112737.31024-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Peter Ujfalusi
c1fce22522
mmc: dw_mmc: Use dma_request_chan() instead dma_request_slave_channel()
...
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.
By using dma_request_chan() directly the driver can support deferred
probing against DMA.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com >
Link: https://lore.kernel.org/r/20191217112656.30860-1-peter.ujfalusi@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:19:42 +01:00
Ulf Hansson
9f606f11ea
Merge branch 'fixes' into next
2019-12-19 08:15:58 +01:00
Yangbo Lu
f667216c5c
mmc: sdhci-of-esdhc: re-implement erratum A-009204 workaround
...
The erratum A-009204 workaround patch was reverted because of
incorrect implementation.
8b6dc6b
mmc: sdhci-of-esdhc: Revert "mmc: sdhci-of-esdhc: add
erratum A-009204 support"
This patch is to re-implement the workaround (add a 5 ms delay
before setting SYSCTL[RSTD] to make sure all the DMA transfers
are finished).
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Link: https://lore.kernel.org/r/20191219032335.26528-1-yangbo.lu@nxp.com
Fixes: 5dd1955225
("mmc: sdhci-of-esdhc: add erratum A-009204 support")
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-19 08:13:43 +01:00
Linus Walleij
2253ed4b36
mmc: mmci: Support any block sizes for ux500v2 and qcom variant
...
For the ux500v2 variant of the PL18x block, any block sizes
are supported. This is necessary to support some SDIO
transfers. This also affects the QCOM MMCI variant and the
ST micro variant.
For Ux500 an additional quirk only allowing DMA on blocks
that are a power of two is needed. This might be a bug in
the DMA engine (DMA40) or the MMCI or in the interconnect,
but the most likely is the MMCI, as transfers of these
sizes work fine for other devices using the same DMA
engine. DMA works fine also with SDIO as long as the
blocksize is a power of 2.
This patch has proven necessary for enabling SDIO for WLAN on
PostmarketOS-based Ux500 platforms.
What we managed to test in practice is Broadcom WiFi over
SDIO on the Ux500 based Samsung GT-I8190 and GT-S7710.
This WiFi chip, BCM4334 works fine after the patch.
Before this patch:
brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4334-sdio
for chip BCM4334/3
mmci-pl18x 80118000.sdi1_per2: unsupported block size (60 bytes)
brcmfmac: brcmf_sdiod_ramrw: membytes transfer failed
brcmfmac: brcmf_sdio_download_code_file: error -22 on writing
434236 membytes at 0x00000000
brcmfmac: brcmf_sdio_download_firmware: dongle image file download
failed
After this patch:
brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4334/3 wl0:
Nov 21 2012 00:21:28 version 6.10.58.813 (B2) FWID 01-0
Bringing up networks, discovering networks with "iw dev wlan0 scan"
and connecting works fine from this point.
This patch is inspired by Ulf Hansson's patch
http://www.spinics.net/lists/linux-mmc/msg12160.html
As the DMA engines on these platforms may now get block sizes
they were not used to before, make sure to also respect if
the DMA engine says "no" to a transfer.
Make a drive-by fix for datactrl_blocksz, misspelled.
Cc: Ludovic Barre <ludovic.barre@st.com >
Cc: Brian Masney <masneyb@onstation.org >
Cc: Stephan Gerhold <stephan@gerhold.net >
Cc: Niklas Cassel <niklas.cassel@linaro.org >
Cc: Russell King <rmk+kernel@armlinux.org.uk >
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Tested-by: Stephan Gerhold <stephan@gerhold.net >
Link: https://lore.kernel.org/r/20191217143952.2885-1-linus.walleij@linaro.org
2019-12-18 14:55:11 +01:00
Yangtao Li
67d7d920b3
mmc: au1xmmc: switch to platform_get_irq
...
platform_get_resource(pdev, IORESOURCE_IRQ) is not recommended for
requesting IRQ's resources, as they can be not ready yet. Using
platform_get_irq() instead is preferred for getting IRQ even if it
was not retrieved earlier.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-13-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:55:11 +01:00
Yangtao Li
bc068d38c9
mmc: mtk-sd: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-12-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:55:11 +01:00
Yangtao Li
0a337eb168
mmc: mvsdio: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-11-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:55:11 +01:00
Yangtao Li
cb064b5022
mmc: sdhci-msm: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Link: https://lore.kernel.org/r/20191215175120.3290-10-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:54:53 +01:00
Yangtao Li
75f6eacde8
mmc: sdhci-milbeaut: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-9-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
4942ae0e5f
mmc: sdhci_am654: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-8-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
dbf90a178c
mmc: sdhci_f_sdh30: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-7-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
34ac4509f2
mmc: sh_mmcif: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20191215175120.3290-6-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
b47c43f68e
mmc: sdhci-spear: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-5-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
09938ce84c
mmc: sdhci-s3c: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-4-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
e10e54a6c5
mmc: meson-mx-sdio: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Link: https://lore.kernel.org/r/20191215175120.3290-3-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
1cfb7c28b0
mmc: tmio: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20191215175120.3290-2-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Yangtao Li
c5c52c3730
mmc: sunxi-mmc: convert to devm_platform_ioremap_resource
...
Use devm_platform_ioremap_resource() to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Acked-by: Chen-Yu Tsai <wens@csie.org >
Link: https://lore.kernel.org/r/20191215175120.3290-1-tiny.windzz@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:46:06 +01:00
Ulf Hansson
d0b75c9169
Merge branch 'fixes' into next
2019-12-18 14:44:24 +01:00
Adrian Hunter
75d27ea1ab
mmc: sdhci: Add a quirk for broken command queuing
...
Command queuing has been reported broken on some systems based on Intel
GLK. A separate patch disables command queuing in some cases.
This patch adds a quirk for broken command queuing, which enables users
with problems to disable command queuing using sdhci module parameters for
quirks.
Fixes: 8ee82bda23
("mmc: sdhci-pci: Add CQHCI support for Intel GLK")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20191217095349.14592-2-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:32:11 +01:00
Adrian Hunter
bedf9fc01f
mmc: sdhci: Workaround broken command queuing on Intel GLK
...
Command queuing has been reported broken on some Lenovo systems based on
Intel GLK. This is likely a BIOS issue, so disable command queuing for
Intel GLK if the BIOS vendor string is "LENOVO".
Fixes: 8ee82bda23
("mmc: sdhci-pci: Add CQHCI support for Intel GLK")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20191217095349.14592-1-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:32:11 +01:00
Yangbo Lu
66a83feb59
mmc: sdhci-of-esdhc: use 1/2 periperhal clock for ls1088a
...
The eSDHC on LS1088A platform uses 1/2 peripheral clock as base
clock.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Link: https://lore.kernel.org/r/20191216091911.14840-1-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:29:19 +01:00
Yangbo Lu
fe0acab448
mmc: sdhci-of-esdhc: fix P2020 errata handling
...
Two previous patches introduced below quirks for P2020 platforms.
- SDHCI_QUIRK_RESET_AFTER_REQUEST
- SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
The patches made a mistake to add them in quirks2 of sdhci_host
structure, while they were defined for quirks.
host->quirks2 |= SDHCI_QUIRK_RESET_AFTER_REQUEST;
host->quirks2 |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
This patch is to fix them.
host->quirks |= SDHCI_QUIRK_RESET_AFTER_REQUEST;
host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
Fixes: 05cb6b2a66
("mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support")
Fixes: a46e427125
("mmc: sdhci-of-esdhc: add erratum eSDHC5 support")
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20191216031842.40068-1-yangbo.lu@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:25:23 +01:00
Ludovic Barre
ee157abebc
mmc: mmci: add threaded irq to abort DPSM of non-functional state
...
The stm32_sdmmc variant has build-in support for datatimeout for R1B
requests. If a corresponding IRQ is raised, this triggers the DPSM to stay
busy and remains in a non-functional state. Only a reset can bring it back
to a functional state.
Because a reset must be issued from non-atomic context, let's defer this to
be managed from a threaded IRQ handler. Besides the reset, the threaded
handler also calls mmc_request_done(), to finally complete the request.
Signed-off-by: Ludovic Barre <ludovic.barre@st.com >
Link: https://lore.kernel.org/r/20191211133934.16932-1-ludovic.Barre@st.com
[Ulf: A few minor updates to the changelog/comments]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 14:05:31 +01:00
Michał Mirosław
d0052ad90e
mmc: core: Remove mmc_gpiod_request_*(invert_gpio)
...
Now that invert_gpio arguments are unused, let's remove them.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Link: https://lore.kernel.org/r/64d766d1f8af2e22bce32f4ffa453f7234207ad6.1576031637.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 13:37:07 +01:00
Michał Mirosław
0f7c815d83
mmc: core: Rework cd-gpio handling
...
There are a few places around the code that invert inverted and possibly
inverted CD line. That's really confusing. Squash them all into one place
in mmc_gpiod_request_cd(). MMC_CAP2_CD_ACTIVE_HIGH is used analogously to
WP line: in GPIO mode it is used only at probe time to switch polarity, for
native mode it is left as is.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Link: https://lore.kernel.org/r/db189b715596d63caf8c6a088bddc71dd69a879b.1576031637.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 13:36:53 +01:00
Michał Mirosław
9073d10b09
mmc: core: Rework wp-gpio handling
...
Use MMC_CAP2_RO_ACTIVE_HIGH flag as indicator if GPIO line is to be
inverted compared to DT/platform-specified polarity. The flag is not used
after init in GPIO mode anyway. No functional changes intended.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Link: https://lore.kernel.org/r/a60f563f11bbff821da2fa2949ca82922b144860.1576031637.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 13:36:40 +01:00
Michał Mirosław
2c3039c143
mmc: sdhci-s3c: remove unused ext_cd_gpio field
...
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/3f12c2deaae9e77a5e7ab8415db7751a27bc3b98.1575916477.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 12:55:42 +01:00
Chuhong Yuan
f630d0114d
mmc: cavium: Add missed pci_release_regions
...
The driver forgets to call pci_release_regions() in probe failure
and remove.
Add the missed calls to fix it.
Signed-off-by: Chuhong Yuan <hslester96@gmail.com >
Link: https://lore.kernel.org/r/20191206075408.18355-1-hslester96@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-18 12:55:11 +01:00
Ulf Hansson
4edf6f7008
Merge branch 'mmc_pinctrl' into next
...
Merge an immutable pinctrl branch from Linus Walleij's tree, which enables
pinctrl code consolidations for mmc.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2019-12-16 13:02:35 +01:00
Ulf Hansson
8e9a99361f
mmc: uniphier-sd: Convert to pinctrl_select_default_state()
...
Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().
Cc: Masahiro Yamada <yamada.masahiro@socionext.com >
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20191206170821.29711-10-ulf.hansson@linaro.org
2019-12-16 13:00:41 +01:00
Ulf Hansson
a62ff54055
mmc: jz4740: Convert to pinctrl_select_default_state()
...
Let's move away from using pinctrl_pm_select_default_state() as it's
scheduled for removal and use pinctrl_select_default_state() instead.
Cc: Paul Cercueil <paul@crapouillou.net >
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
Acked-by: Paul Cercueil <paul@crapouillou.net >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20191206170821.29711-9-ulf.hansson@linaro.org
2019-12-16 13:00:41 +01:00
Ulf Hansson
6986ee3f8b
mmc: atmel-mci: Convert to pinctrl_select_default_state()
...
Let's move away from using pinctrl_pm_select_default_state() as it's
scheduled for removal and use pinctrl_select_default_state() instead.
Cc: Ludovic Desroches <ludovic.desroches@microchip.com >
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20191206170821.29711-8-ulf.hansson@linaro.org
2019-12-16 13:00:41 +01:00