Rohit Agarwal
953706844f
mmc: sdhci-msm: Add compatible string check for sdx65
...
Add sdx65 SoC specific compatible string check inside qcom 'sdhci-msm'
controller driver.
Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com >
Link: https://lore.kernel.org/r/1651480665-14978-3-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:28:06 +02:00
Rohit Agarwal
210deba2d9
dt-bindings: mmc: sdhci-msm: Document the SDX65 compatible
...
The SDHCI controller on SDX65 is based on MSM SDHCI v5 IP. Hence, document
the compatible with "qcom,sdhci-msm-v5" as the fallback.
Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/1651480665-14978-2-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:28:02 +02:00
Bhupesh Sharma
5acd6adb65
mmc: sdhci-msm: Add compatible string check for sm8150
...
Add sm8150 SoC specific compatible string check inside qcom 'sdhci-msm'
controller driver.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org >
Link: https://lore.kernel.org/r/20220429220833.873672-5-bhupesh.sharma@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:23:08 +02:00
Bhupesh Sharma
17a9f73d45
dt-bindings: mmc: sdhci-msm: Add compatible string for sm8150
...
Add sm8150 SoC specific compatible strings for qcom-sdhci controller.
Cc: Bjorn Andersson <bjorn.andersson@linaro.org >
Cc: Rob Herring <robh@kernel.org >
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org >
Link: https://lore.kernel.org/r/20220429220833.873672-4-bhupesh.sharma@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:23:03 +02:00
Bhupesh Sharma
466614a976
mmc: sdhci-msm: Add SoC specific compatibles
...
Since Qualcomm device-trees already use SoC specific compatibles for
describing the 'sdhci-msm' nodes, it makes sense to add the support for the
same in the driver as well.
Keep the old deprecated compatible strings still in the driver, to ensure
backward compatibility with older device-trees.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org >
Link: https://lore.kernel.org/r/20220429220833.873672-3-bhupesh.sharma@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:22:59 +02:00
Bhupesh Sharma
a45537723f
dt-bindings: mmc: sdhci-msm: Convert bindings to yaml
...
Convert Qualcomm sdhci-msm devicetree binding to YAML.
Cc: Bjorn Andersson <bjorn.andersson@linaro.org >
Cc: Rob Herring <robh@kernel.org >
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org >
Link: https://lore.kernel.org/r/20220429220833.873672-2-bhupesh.sharma@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:22:51 +02:00
Krzysztof Kozlowski
0a70c5d289
dt-bindings: mmc: brcm,sdhci-brcmstb: cleanup example
...
Cleanup indentation and order of entries in example DTS. The most
important when reading the DTS are compatible and reg. By convention
they are usually to first entries. No functional change.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Link: https://lore.kernel.org/r/20220428081817.35382-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:07:21 +02:00
Krzysztof Kozlowski
b16ebda6d0
dt-bindings: mmc: brcm,sdhci-brcmstb: correct number of reg entries
...
The binding should not allow infinite number of 'reg' entries, so add
strict limit.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Link: https://lore.kernel.org/r/20220428081817.35382-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:07:05 +02:00
Al Cooper
6bcc55fe64
mmc: sdhci-brcmstb: Enable Clock Gating to save power
...
Enabling this feature will allow the controller to stop the bus
clock when the bus is idle. The feature is not part of the standard
and is unique to newer Arasan cores and is enabled with a bit in a
vendor specific register. This feature will only be enabled for
non-removable devices because they don't switch the voltage and
clock gating breaks SD Card volatge switching.
Signed-off-by: Al Cooper <alcooperx@gmail.com >
Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20220427180853.35970-3-kdasu.kdev@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:04:55 +02:00
Al Cooper
f3a70f991d
mmc: sdhci-brcmstb: Re-organize flags
...
Re-organize the flags by basing the bit names on the flag that they
apply to. Also change the "flags" member in the "brcmstb_match_priv"
struct to const.
Signed-off-by: Al Cooper <alcooperx@gmail.com >
Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20220427180853.35970-2-kdasu.kdev@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 12:04:47 +02:00
Linus Walleij
3ae2722c93
mmc: mmci: Remove custom ios handler
...
The custom boardfile ios handler isn't used anywhere in the
kernel. Delete it.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20220427125557.1608825-1-linus.walleij@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 11:59:09 +02:00
Wan Jiabing
83961aacb2
mmc: atmel-mci: Simplify if(chan) and if(!chan)
...
Use if(!host->dma.chan) instead of if(chan) and if(!chan) to make
code better.
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com >
Link: https://lore.kernel.org/r/20220427120310.838843-1-wanjiabing@vivo.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 11:56:02 +02:00
Minghao Chi
0e8bb6666e
mmc: core: use kobj_to_dev()
...
Use kobj_to_dev() instead of open-coding it.
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn >
Link: https://lore.kernel.org/r/20220425105339.3515368-1-chi.minghao@zte.com.cn
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 11:53:44 +02:00
Ulf Hansson
89877983ac
Merge branch 'fixes' into next
2022-05-04 11:52:07 +02:00
Samuel Holland
e9f3fb523d
mmc: sunxi-mmc: Fix DMA descriptors allocated above 32 bits
...
Newer variants of the MMC controller support a 34-bit physical address
space by using word addresses instead of byte addresses. However, the
code truncates the DMA descriptor address to 32 bits before applying the
shift. This breaks DMA for descriptors allocated above the 32-bit limit.
Fixes: 3536b82e58 ("mmc: sunxi: add support for A100 mmc controller")
Signed-off-by: Samuel Holland <samuel@sholland.org >
Reviewed-by: Andre Przywara <andre.przywara@arm.com >
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220424231751.32053-1-samuel@sholland.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 11:50:12 +02:00
Sebastian Reichel
bbbd887282
dt-bindings: mmc: sdhci-of-dwcmhsc: Add rk3588
...
Add compatible value for the Rockchip rk3588 dwcmshc controller.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220422170920.401914-8-sebastian.reichel@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-05-04 11:42:10 +02:00
Linus Walleij
ac9d25557d
mmc: core: Add CIDs for cards to the entropy pool
...
To make the entropy pool a bit better we can toss in the
CID for eMMC and SD cards into it, usually the serial
number portion is at least unique.
This does not count as improvement of the entropy but
in practice it makes it a bit more random to mix in these
numbers.
Cc: Theodore Ts'o <tytso@mit.edu >
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20220425205442.1347837-1-linus.walleij@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 15:39:37 +02:00
Bean Huo
23e09be254
mmc: core: Allows to override the timeout value for ioctl() path
...
Occasionally, user-land applications initiate longer timeout values for certain commands
through ioctl() system call. But so far we are still using a fixed timeout of 10 seconds
in mmc_poll_for_busy() on the ioctl() path, even if a custom timeout is specified in the
userspace application. This patch allows custom timeout values to override this default
timeout values on the ioctl path.
Cc: stable <stable@vger.kernel.org >
Signed-off-by: Bean Huo <beanhuo@micron.com >
Acked-by: Avri Altman <avri.altman@wdc.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20220423221623.1074556-3-huobean@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 15:36:00 +02:00
Bean Huo
897ae3fe12
mmc: sdhci-omap: Use of_device_get_match_data() helper
...
Only the device data is needed, not the entire struct of_device_id.
Use of_device_get_match_data() instead of open coding of_match_device().
Signed-off-by: Bean Huo <beanhuo@micron.com >
Link: https://lore.kernel.org/r/20220423221623.1074556-2-huobean@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:09:00 +02:00
Vignesh Raghavendra
c7666240ec
drivers: mmc: sdhci_am654: Add the quirk to set TESTCD bit
...
The ARASAN MMC controller on Keystone 3 class of devices need the SDCD
line to be connected for proper functioning. Similar to the issue pointed
out in sdhci-of-arasan.c driver, commit 3794c54264 ("mmc:
sdhci-of-arasan: Set controller to test mode when no CD bit").
In cases where this can't be connected, add a quirk to force the
controller into test mode and set the TESTCD bit. Use the flag
"ti,fails-without-test-cd", to implement this above quirk when required.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com >
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com >
Link: https://lore.kernel.org/r/20220425063120.10135-3-a-govindraju@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:55 +02:00
Aswath Govindraju
7a0587496a
dt-bindings: mmc: sdhci-am654: Add flag to force setting of TESTCD bit
...
The ARASAN MMC controller on Keystone 3 class of devices needs the SDCD
line to be connected for proper functioning. Similar to the issue pointed
out in sdhci-of-arasan.c driver, commit 3794c54264 ("mmc:
sdhci-of-arasan: Set controller to test mode when no CD bit").
In cases where SDCD line is not connected, adding
"ti,fails-without-test-cd" in the DT node helps to indicate the
controller, that the SDCD line has been pulled down, using the TESTCD bit.
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com >
Link: https://lore.kernel.org/r/20220425063120.10135-2-a-govindraju@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:55 +02:00
Ulf Hansson
c25a7e5d18
Merge branch 'fixes' into next
2022-04-26 14:05:26 +02:00
Abel Vesa
cfb6466136
dt-bindings: mmc: imx-esdhc: Add i.MX8DXL compatible string
...
Add i.MX8DXL compatible string. It also needs "fsl,imx8qm-fec" compatible.
Signed-off-by: Abel Vesa <abel.vesa@nxp.com >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20220419113516.1827863-10-abel.vesa@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:22 +02:00
Chris Packham
a18f3e4653
dt-bindings: mmc: convert sdhci-dove to JSON schema
...
Convert the sdhci-dove binding to JSON schema. The optional clocks
property was not in the original binding document but has been in the
dove.dtsi since commit 5b03df9ace ("ARM: dove: switch to DT clock
providers").
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Andrew Lunn <andrew@lunn.ch >
Link: https://lore.kernel.org/r/20220419024611.1327525-5-chris.packham@alliedtelesis.co.nz
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:22 +02:00
Chris Packham
a778dbd9a8
dt-bindings: mmc: convert orion-sdio to JSON schema
...
Convert the orion-sdio binding to JSON schema.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Andrew Lunn <andrew@lunn.ch >
Link: https://lore.kernel.org/r/20220419024611.1327525-4-chris.packham@alliedtelesis.co.nz
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:22 +02:00
Linus Walleij
de6e855b28
dt-bindings: mmc: Add small binding note on level shifters
...
The VQMMC is often provided by a level shifter, so drop a small note
in the bindings that this can be the case and how that is done.
It is helpful information since this is pretty common.
Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20220417144223.649201-1-linus.walleij@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:22 +02:00
Linus Walleij
f7ad75041b
mmc: mmci: Break IRQ status loop when all zero
...
We iterate an extra time through the IRQ status handling
loop despite nothing had fired. Enabling the debug prints:
mmci-pl18x 80005000.mmc: op 01 arg 00000000 flags 000000e1
mmci-pl18x 80005000.mmc: irq0 (data+cmd) 00000001
mmci-pl18x 80005000.mmc: irq0 (data+cmd) 00000000
mmci-pl18x 80005000.mmc: op 01 arg 40ff8080 flags 000000e1
mmci-pl18x 80005000.mmc: irq0 (data+cmd) 00000001
mmci-pl18x 80005000.mmc: irq0 (data+cmd) 00000000
It is pointless to loop through the function when status
is zero. Just break the loop if the status is zero.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20220416224549.627623-1-linus.walleij@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:22 +02:00
Heiner Kallweit
238b638b30
mmc: meson-gx: switch to device-managed dmam_alloc_coherent()
...
Using the device-managed version allows to simplify clean-up in probe()
error path and remove().
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com >
Link: https://lore.kernel.org/r/268b3cd5-2388-2553-bdba-c72853f91aa3@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:21 +02:00
Ben Chuang
36ed2fd32b
mmc: sdhci-pci-gli: A workaround to allow GL9755 to enter ASPM L1.2
...
When GL9755 enters ASPM L1 sub-states, it will stay at L1.1 and will not
enter L1.2. The workaround is to toggle PM state to allow GL9755 to enter
ASPM L1.2.
Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20220414094945.457500-1-benchuanggli@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:21 +02:00
Wolfram Sang
13acb62ce1
mmc: sh_mmcif: move platform_data header to proper location
...
We have a dedicated directory for platform_data meanwhile, don't spoil
the MMC directory with it.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220412093102.3428-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:21 +02:00
Aidan MacDonald
afadb04f1d
mmc: jz4740: Apply DMA engine limits to maximum segment size
...
Do what is done in other DMA-enabled MMC host drivers (cf. host/mmci.c) and
limit the maximum segment size based on the DMA engine's capabilities. This
is needed to avoid warnings like the following with CONFIG_DMA_API_DEBUG=y.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 21 at kernel/dma/debug.c:1162 debug_dma_map_sg+0x2f4/0x39c
DMA-API: jz4780-dma 13420000.dma-controller: mapping sg segment longer than device claims to support [len=98304] [max=65536]
CPU: 0 PID: 21 Comm: kworker/0:1H Not tainted 5.18.0-rc1 #19
Workqueue: kblockd blk_mq_run_work_fn
Stack : 81575aec 00000004 80620000 80620000 80620000 805e7358 00000009 801537ac
814c832c 806276e3 806e34b4 80620000 81575aec 00000001 81575ab8 09291444
00000000 00000000 805e7358 81575958 ffffffea 8157596c 00000000 636f6c62
6220646b 80387a70 0000000f 6d5f6b6c 80620000 00000000 81575ba4 00000009
805e170c 80896640 00000001 00010000 00000000 00000000 00006098 806e0000
...
Call Trace:
[<80107670>] show_stack+0x84/0x120
[<80528cd8>] __warn+0xb8/0xec
[<80528d78>] warn_slowpath_fmt+0x6c/0xb8
[<8016f1d4>] debug_dma_map_sg+0x2f4/0x39c
[<80169d4c>] __dma_map_sg_attrs+0xf0/0x118
[<8016a27c>] dma_map_sg_attrs+0x14/0x28
[<804f66b4>] jz4740_mmc_prepare_dma_data+0x74/0xa4
[<804f6714>] jz4740_mmc_pre_request+0x30/0x54
[<804f4ff4>] mmc_blk_mq_issue_rq+0x6e0/0x7bc
[<804f5590>] mmc_mq_queue_rq+0x220/0x2d4
[<8038b2c0>] blk_mq_dispatch_rq_list+0x480/0x664
[<80391040>] blk_mq_do_dispatch_sched+0x2dc/0x370
[<80391468>] __blk_mq_sched_dispatch_requests+0xec/0x164
[<80391540>] blk_mq_sched_dispatch_requests+0x44/0x94
[<80387900>] __blk_mq_run_hw_queue+0xb0/0xcc
[<80134c14>] process_one_work+0x1b8/0x264
[<80134ff8>] worker_thread+0x2ec/0x3b8
[<8013b13c>] kthread+0x104/0x10c
[<80101dcc>] ret_from_kernel_thread+0x14/0x1c
---[ end trace 0000000000000000 ]---
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com >
Link: https://lore.kernel.org/r/20220411153753.50443-1-aidanmacdonald.0x0@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:21 +02:00
Adam Ford
6c1757be92
dt-bindings: mmc: imx-esdhc: Update compatible fallbacks
...
The SDHC controller in the imx8mn and imx8mp have the same controller
as the imx8mm which is slightly different than that of the imx7d.
Using the fallback of the imx8mm enables the controllers to support
HS400-ES which is not available on the imx7d. After discussion with NXP,
it turns out that the imx8qm should fall back to the imx8qxp, because
those have some additional flags not present in the imx8mm.
Mark the current state of the fallbacks as deprecated, and add the
proper fallbacks so in the future, the deprecated combination can be
removed and prevent any future devices from using the wrong fallback.
Suggested-by: haibo.chen@nxp.com
Signed-off-by: Adam Ford <aford173@gmail.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220410193544.1745684-1-aford173@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:21 +02:00
Wolfram Sang
32f18e5961
mmc: improve API to make clear hw_reset callback is for cards
...
To make it unambiguous that the hw_reset callback is for cards and not
for controllers, we add 'card' to the callback name and convert all
users in one go. We keep the argument as mmc_host, though, because the
callback is used very early when mmc_card is not yet populated.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220408080045.6497-4-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:20 +02:00
Wolfram Sang
9723f69d1d
mmc: core: improve API to make clear that mmc_sw_reset is for cards
...
To make it unambiguous that mmc_sw_reset() is for cards and not for
controllers, we make the function argument mmc_card instead of mmc_host.
There are no users to convert currently.
Suggested-by: Ulf Hansson <ulf.hansson@linaro.org >
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220408080045.6497-3-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:20 +02:00
Lad Prabhakar
01c5d28a5b
MAINTAINERS: Add linux-renesas-soc@vger.kernel.org list for Renesas TMIO/SDHI driver
...
Add linux-renesas-soc@vger.kernel.org list entry for Renesas TMIO/SDHI
driver.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220404174159.571-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:20 +02:00
Wolfram Sang
a252a4d3d4
mmc: renesas_sdhi: remove superfluous specific M3W entry
...
We don't need to specify the Gen3 compatible entry for M3W because it
will be provided by the generic Gen3 fallback.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20220404130551.20209-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:20 +02:00
Wolfram Sang
f504dee2c6
mmc: renesas_sdhi: R-Car V3H ES2.0 gained HS400 support
...
The hardware evolved, so we only need to disable HS400 support on ES1.*
revisions. Update the code.
Signed-off-by: Takeshi Saito <takeshi.saito.xv@renesas.com >
[wsa: refactored to top-of-tree]
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20220404123404.16289-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:20 +02:00
Janusz Krzysztofik
e3e5255e77
mmc: omap: Make it CCF clk API compatible
...
The driver, OMAP specific, now omits clk_prepare/unprepare() steps, not
supported by OMAP custom implementation of clock API. However, non-CCF
stubs of those functions exist for use on such platforms until converted
to CCF.
Update the driver to be compatible with CCF implementation of clock API.
Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com >
Link: https://lore.kernel.org/r/20220402112004.129886-1-jmkrzyszt@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Christian Löhle
25bbf0daec
mmc: mmc_spi: parse speed mode options
...
Since SD and MMC Highspeed modes are also valid for SPI let's parse
them too.
Signed-off-by: Christian Loehle <cloehle@hyperstone.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20c6efa9a4c7423bbfb9352705c4a53a@hyperstone.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Sergey Shtylyov
103da0667d
mmc: core: block: fix sloppy typing in mmc_blk_ioctl_multi_cmd()
...
Despite mmc_ioc_multi_cmd::num_of_cmds is a 64-bit field, its maximum
value is limited to MMC_IOC_MAX_CMDS (only 255); using a 64-bit local
variable to hold a copy of that field leads to gcc generating ineffective
loop code: despite the source code using an *int* variable for the loop
counters, the 32-bit object code uses 64-bit unsigned counters. Also,
gcc has to drop the most significant word of that 64-bit variable when
calling kcalloc() and assigning to mmc_queue_req::ioc_count anyway.
Using the *unsigned int* variable instead results in a better code.
Found by Linux Verification Center (linuxtesting.org) with the SVACE static
analysis tool.
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru >
Link: https://lore.kernel.org/r/eea3b0bd-6091-f005-7189-b5b7868abdb6@omp.ru
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Tinghan Shen
7792fdf626
dt-bindings: mmc: mtk-sd: increase reg items
...
MediaTek has a new version of mmc IP since mt8183. Some IO registers
are moved to top to improve hardware design and named as "host top
registers".
Add host top register in the reg binding description for mt8183 and
successors.
Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com >
Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20220330094532.21721-2-tinghan.shen@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Chris Packham
3ddfa03d81
dt-bindings: mmc: xenon: Convert to JSON schema
...
Convert the marvell,xenon-sdhci binding to JSON schema. Currently the
in-tree dts files don't validate because they use sdhci@ instead of mmc@
as required by the generic mmc-controller schema.
The compatible "marvell,sdhci-xenon" was not documented in the old
binding but it accompanies the of "marvell,armada-3700-sdhci" in the
armada-37xx SoC dtsi so this combination is added to the new binding
document.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20220329220544.2132135-3-chris.packham@alliedtelesis.co.nz
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Wolfram Sang
fc1fdbd94c
mmc: renesas_sdhi: R-Car V3M also has no HS400
...
Further digging in the datasheets revealed that R-Car V3M also has no
HS400 support.
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220404105831.5096-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:19 +02:00
Geert Uytterhoeven
139bbdba49
mmc: renesas_sdhi: Add missing checks for the presence of quirks
...
When running on an system without any quirks (e.g. R-Car V3U), the
kernel crashes with a NULL pointer dereference:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000002
...
Hardware name: Renesas Falcon CPU and Breakout boards based on r8a779a0 (DT)
Workqueue: events_freezable mmc_rescan
...
Call trace:
renesas_sdhi_internal_dmac_start_dma+0x54/0x12c
tmio_process_mrq+0x124/0x274
Fix this by adding the missing checks for the validatity of the
priv->quirks pointer.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/cc3178c2ff60f640f4d5a071d51f6b0b1db37656.1648822020.git.geert+renesas@glider.be
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:18 +02:00
Yann Gautier
970dc9c11a
mmc: mmci: stm32: use a buffer for unaligned DMA requests
...
In SDIO mode, the sg list for requests can be unaligned with what the
STM32 SDMMC internal DMA can support. In that case, instead of failing,
use a temporary bounce buffer to copy from/to the sg list.
This buffer is limited to 1MB. But for that we need to also limit
max_req_size to 1MB. It has not shown any throughput penalties for
SD-cards or eMMC.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com >
Link: https://lore.kernel.org/r/20220328145114.334577-1-yann.gautier@foss.st.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:18 +02:00
Wolfram Sang
ed9ab88498
mmc: renesas_sdhi: style fix for proper function bodies
...
Put the braces to the proper position to make reading the code easier.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220320124538.62028-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:18 +02:00
Wolfram Sang
bcfa7f15eb
mmc: renesas_sdhi: make 'dmac_only_one_rx' a quirk
...
After Shimoda-san's much appreciated refactoring of the quirk handling,
we can convert now 'dmac_only_one_rx' from an ugly global flag to a
regular quirk. This makes quirk handling more consistent and easier to
maintain. After this patch, soc_dma_quirks is completely gone, hooray!
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20220320123016.57991-7-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:18 +02:00
Wolfram Sang
c0a43968be
mmc: renesas_sdhi: make 'fixed_addr_mode' a quirk
...
After Shimoda-san's much appreciated refactoring of the quirk handling,
we can convert now the 'fixed_addr_mode' from an ugly global flag to a
regular quirk. This makes quirk handling more consistent and easier to
maintain.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20220320123016.57991-6-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:18 +02:00
Wolfram Sang
254b7d1299
mmc: renesas_sdhi: remove a stale comment
...
The whitelist has been refactored away with a0fb3fc8af ("mmc:
renesas_sdhi: remove whitelist for internal DMAC") so the comment
doesn't make any sense anymore.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20220320123016.57991-5-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:17 +02:00
Wolfram Sang
6de9727a22
mmc: renesas_sdhi: make setup selection more understandable
...
When I read 'no_fallback', I forgot what fallback even though I was the
author of this change. Name it better to make the code easier to
understand.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20220320123016.57991-4-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-04-26 14:05:17 +02:00