aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'v6.17'saturneric2025-10-1682-1006/+1766
|\ | | | | | | Linux 6.17
| * mmc: sdhci-pci-gli: GL9767: Fix initializing the UHS-II interface during a ↵Ben Chuang2025-09-121-1/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | power-on According to the power structure of IC hardware design for UHS-II interface, reset control and timing must be added to the initialization process of powering on the UHS-II interface. Fixes: 27dd3b82557a ("mmc: sdhci-pci-gli: enable UHS-II mode for GL9767") Cc: [email protected] # v6.13+ Signed-off-by: Ben Chuang <[email protected]> Acked-by: Adrian Hunter <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci-uhs2: Fix calling incorrect sdhci_set_clock() functionBen Chuang2025-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Fix calling incorrect sdhci_set_clock() in __sdhci_uhs2_set_ios() when the vendor defines its own sdhci_set_clock(). Fixes: 10c8298a052b ("mmc: sdhci-uhs2: add set_ios()") Cc: [email protected] # v6.13+ Signed-off-by: Ben Chuang <[email protected]> Acked-by: Adrian Hunter <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci: Move the code related to setting the clock from ↵Ben Chuang2025-09-122-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sdhci_set_ios_common() into sdhci_set_ios() The sdhci_set_clock() is called in sdhci_set_ios_common() and __sdhci_uhs2_set_ios(). According to Section 3.13.2 "Card Interface Detection Sequence" of the SD Host Controller Standard Specification Version 7.00, the SD clock is supplied after power is supplied, so we only need one in __sdhci_uhs2_set_ios(). Let's move the code related to setting the clock from sdhci_set_ios_common() into sdhci_set_ios() and modify the parameters passed to sdhci_set_clock() in __sdhci_uhs2_set_ios(). Fixes: 10c8298a052b ("mmc: sdhci-uhs2: add set_ios()") Cc: [email protected] # v6.13+ Signed-off-by: Ben Chuang <[email protected]> Acked-by: Adrian Hunter <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: mvsdio: Fix dma_unmap_sg() nents valueThomas Fourier2025-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | The dma_unmap_sg() functions should be called with the same nents as the dma_map_sg(), not the value the map function returned. Fixes: 236caa7cc351 ("mmc: SDIO driver for Marvell SoCs") Signed-off-by: Thomas Fourier <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Cc: [email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci_am654: Disable HS400 for AM62P SR1.0 and SR1.1Judith Mendez2025-08-211-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds SDHCI_AM654_QUIRK_DISABLE_HS400 quirk which shall be used to disable HS400 support. AM62P SR1.0 and SR1.1 do not support HS400 due to errata i2458 [0] so disable HS400 for these SoC revisions. [0] https://www.ti.com/lit/er/sprz574a/sprz574a.pdf Fixes: 37f28165518f ("arm64: dts: ti: k3-am62p: Add ITAP/OTAP values for MMC") Cc: [email protected] Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Andrew Davis <[email protected]> Acked-by: Adrian Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci-of-arasan: Ensure CD logic stabilization before power-upSai Krishna Potthuri2025-08-181-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During SD suspend/resume without a full card rescan (when using non-removable SD cards for rootfs), the SD card initialization may fail after resume. This occurs because, after a host controller reset, the card detect logic may take time to stabilize due to debounce logic. Without waiting for stabilization, the host may attempt powering up the card prematurely, leading to command timeouts during resume flow. Add sdhci_arasan_set_power_and_bus_voltage() to wait for the card detect stable bit before power up the card. Since the stabilization time is not fixed, a maximum timeout of one second is used to ensure sufficient wait time for the card detect signal to stabilize. Signed-off-by: Sai Krishna Potthuri <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci-pci-gli: GL9763e: Mask the replay timer timeout of AERVictor Shih2025-08-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a flaw in the hardware design, the GL9763e replay timer frequently times out when ASPM is enabled. As a result, the warning messages will often appear in the system log when the system accesses the GL9763e PCI config. Therefore, the replay timer timeout must be masked. Signed-off-by: Victor Shih <[email protected]> Fixes: 1ae1d2d6e555 ("mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support") Cc: [email protected] Acked-by: Adrian Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci-pci-gli: GL9763e: Rename the gli_set_gl9763e() for consistencyVictor Shih2025-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In preparation to fix replay timer timeout, rename the gli_set_gl9763e() to gl9763e_hw_setting() for consistency. Signed-off-by: Victor Shih <[email protected]> Fixes: 1ae1d2d6e555 ("mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support") Cc: [email protected] Acked-by: Adrian Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * mmc: sdhci-pci-gli: Add a new function to simplify the codeVictor Shih2025-08-181-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | In preparation to fix replay timer timeout, add sdhci_gli_mask_replay_timer_timeout() function to simplify some of the code, allowing it to be re-used. Signed-off-by: Victor Shih <[email protected]> Fixes: 1ae1d2d6e555 ("mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support") Cc: [email protected] Acked-by: Adrian Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| * Merge tag 'mmc-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmcLinus Torvalds2025-07-2979-967/+1608
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull MMC updates from Ulf Hansson: "MMC core: - Remove redundant pm_runtime_mark_last_busy() calls MMC host: - Convert drivers to use devm_mmc_alloc_host() - Remove redundant pm_runtime_mark_last_busy() calls - renesas_sdhi: - Add support for the RZ/T2H and RZ/N2H variants - Fix incorrect auto retuning for an SDIO card - rtsx_usb_sdmmc: - Add 74 clocks in poweron flow - Re-work the code in sd_set_power_mode() - loongson2: - Add driver for the Loongson-2K SD/SDIO controller - Add support for the Loongson-2K2000 SD/SDIO/eMMC controller - sdhci: - Drop sdhci_free_host()/sdhci_pltfm_free() interface - Remove the sdhci_free_host() and sdhci_pltfm_free() helpers - sdhci-cadence: Add support for the Mobileye EyeQ controller - sdhci-esdhc-imx: - Optimize clock loopback selection - Don't change pinctrl in suspend if wakeup source - sdhci-msm: - Add support for the Milos variant - Add support for the qcs8300 variant - Ensure SD card power isn't ON when card gets removed - sdhci-of-k1: Disable HW busy detection" * tag 'mmc-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (102 commits) mmc: loongson2: Unify the function prefixes for loongson2_mmc_pdata mmc: loongson2: Fix error code in loongson2_mmc_resource_request() dt-bindings: mmc: sdhci-msm: document the Milos SDHCI Controller mmc: loongson2: prevent integer overflow in ret variable mmc: Remove redundant pm_runtime_mark_last_busy() calls mmc: sdhci-msm: Ensure SD card power isn't ON when card removed dt-bindings: mmc: Add sdhci compatible for qcs8300 mmc: sdhci-cadence: use of_property_present mmc: loongson2: Add Loongson-2K2000 SD/SDIO/eMMC controller driver dt-bindings: mmc: loongson,ls2k0500-mmc: Add compatible for Loongson-2K2000 mmc: loongson2: Add Loongson-2K SD/SDIO controller driver dt-bindings: mmc: Add Loongson-2K SD/SDIO/eMMC controller binding mmc: Convert ternary operator to str_true_false() helper dt-bindings: mmc: renesas,sdhi: Document RZ/T2H and RZ/N2H support mmc: sdhci-cadence: add Mobileye eyeQ support dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller mmc: rtsx_usb_sdmmc: Fix clang -Wimplicit-fallthrough in sd_set_power_mode() mmc: cb710-mmc: Convert ternary operator to str_plural() helper mmc: rtsx_usb_sdmmc: Add 74 clocks in poweron flow mmc: rtsx_usb_sdmmc: Re-work the code in sd_set_power_mode() ...
| | * mmc: loongson2: Unify the function prefixes for loongson2_mmc_pdataBinbin Zhou2025-07-161-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function prefixes for loongson2_mmc_pdata follow two naming conventions: SoC-based and DMA-based. First, DMA-based prefixes are the preferred choice, as they clearly highlight differences, such as prepare_dma; however, for functions related to SoC, such as reorder_cmd_data, it is agreed to use the smallest SoC name as the fallback prefix, such as ls2k0500. No functional change intended. Suggested-by: Huacai Chen <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Reviewed-by: Huacai Chen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * mmc: loongson2: Fix error code in loongson2_mmc_resource_request()Dan Carpenter2025-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a cut and paste bug so we accidentally return the wrong variable. It should be "ret" instead of PTR_ERR(host->clk). Fixes: 2115772014bd ("mmc: loongson2: Add Loongson-2K SD/SDIO controller driver") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * mmc: loongson2: prevent integer overflow in ret variableSergio Perez Gonzalez2025-07-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In loongson2_mmc_dll_mode_init(), `ret` variable is declared as u32 but it is expected to hold an int value. Fixes: d0f8e961deae ("mmc: loongson2: Add Loongson-2K2000 SD/SDIO/eMMC controller driver") Reported-by: https://scan7.scan.coverity.com/#/project-view/53936/11354?selectedIssue=1644958 Signed-off-by: Sergio Perez Gonzalez <[email protected]> Reviewed-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * mmc: Remove redundant pm_runtime_mark_last_busy() callsSakari Ailus2025-07-0911-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(), pm_runtime_autosuspend() and pm_request_autosuspend() now include a call to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to pm_runtime_mark_last_busy(). Signed-off-by: Sakari Ailus <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * mmc: sdhci-msm: Ensure SD card power isn't ON when card removedSarthak Garg2025-07-031-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many mobile phones feature multi-card tray designs, where the same tray is used for both SD and SIM cards. If the SD card is placed at the outermost location in the tray, the SIM card may come in contact with SD card power-supply while removing the tray, possibly resulting in SIM damage. To prevent that, make sure the SD card is really inserted by reading the Card Detect pin state. If it's not, turn off the power in sdhci_msm_check_power_status() and also set the BUS_FAIL power state on the controller as part of pwr_irq handling for BUS_ON request. Signed-off-by: Sarthak Garg <[email protected]> Acked-by: Adrian Hunter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * mmc: Merge branch fixes into nextUlf Hansson2025-07-033-5/+10
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Merge the mmc fixes for v6.16-rc[n] into the next branch, to allow them to get tested together with the new mmc changes that are targeted for v6.17. Signed-off-by: Ulf Hansson <[email protected]>
| | * | mmc: sdhci-cadence: use of_property_presentBenoît Monin2025-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using of_property_read_bool to check the presence of the cdns,phy-* properties in the device tree, use of_property_present in function sdhci_cdns_phy_param_count. This silences the following warning messages since the cdns,phy-* properties are all u32, not boolean. OF: /soc/sdhci@d8010000: Read of boolean property 'cdns,phy-input-delay-legacy' with a value. OF: /soc/sdhci@d8010000: Read of boolean property 'cdns,phy-input-delay-mmc-highspeed' with a value. OF: /soc/sdhci@d8010000: Read of boolean property 'cdns,phy-input-delay-mmc-ddr' with a value. OF: /soc/sdhci@d8010000: Read of boolean property 'cdns,phy-dll-delay-sdclk' with a value. OF: /soc/sdhci@d8010000: Read of boolean property 'cdns,phy-dll-delay-sdclk-hsmmc' with a value. Signed-off-by: Benoît Monin <[email protected]> Link: https://lore.kernel.org/r/e244c1377f7b2ad5d026c9d9368a08de3887129f.1750943549.git.benoit.monin@bootlin.com Signed-off-by: Ulf Hansson <[email protected]>
| | * | mmc: loongson2: Add Loongson-2K2000 SD/SDIO/eMMC controller driverBinbin Zhou2025-07-031-0/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch describes the two MMC controllers of the Loongson-2K2000 SoC, one providing an eMMC interface and the other exporting an SD/SDIO interface. Compared to the Loongson-2K1000's MMC controllers, their internals are similar, except that we use an internally exclusive DMA engine instead of an externally shared APBDMA engine. Signed-off-by: Binbin Zhou <[email protected]> Reviewed-by: Huacai Chen <[email protected]> Link: https://lore.kernel.org/r/1df46b976abd36003bd553ad8a039e5c97369df0.1750765495.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | mmc: loongson2: Add Loongson-2K SD/SDIO controller driverBinbin Zhou2025-07-033-0/+812
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MMC controllers on the Loongson-2K series CPUs are similar, except for the interface characteristics and the use of DMA controllers. This patch describes the MMC controllers on the Loongson-2K0500/2K1000, with the distinguishing feature being the use of an externally shared APBDMA engine. Signed-off-by: Binbin Zhou <[email protected]> Reviewed-by: Huacai Chen <[email protected]> Link: https://lore.kernel.org/r/c0a9f0c0279d8e09165c6e2d694b0c35f7fc7e31.1750765495.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | mmc: Convert ternary operator to str_true_false() helperLi Dong2025-07-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace direct ternary condition check with existing helper function str_true_false() to improve code readability and maintain consistency. Signed-off-by: Li Dong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * | mmc: Merge branch fixes into nextUlf Hansson2025-06-251-0/+1
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the mmc fixes for v6.16-rc[n] into the next branch, to allow them to get tested together with the new mmc changes that are targeted for v6.17. Signed-off-by: Ulf Hansson <[email protected]>
| | * \ \ mmc: Merge branch fixes into nextUlf Hansson2025-06-241-7/+2
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the mmc fixes for v6.16-rc[n] into the next branch, to allow them to get tested together with the new mmc changes that are targeted for v6.17. Signed-off-by: Ulf Hansson <[email protected]>
| | * \ \ \ mmc: Merge branch fixes into nextUlf Hansson2025-06-246-21/+54
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the mmc fixes for v6.16-rc[n] into the next branch, to allow them to get tested together with the new mmc changes that are targeted for v6.17. Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-cadence: add Mobileye eyeQ supportBenoît Monin2025-06-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MMC/SDHCI controller implemented by Mobileye needs the preset value quirks to configure the clock properly at speed slower than HS200. It otherwise works as a standard sd4hc controller. Signed-off-by: Benoît Monin <[email protected]> Link: https://lore.kernel.org/r/e97f409650495791e07484589e1666ead570fa12.1750156323.git.benoit.monin@bootlin.com Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: rtsx_usb_sdmmc: Fix clang -Wimplicit-fallthrough in sd_set_power_mode()Nathan Chancellor2025-06-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns (or errors with CONFIG_WERROR=y): drivers/mmc/host/rtsx_usb_sdmmc.c:1042:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] 1042 | case MMC_POWER_UNDEFINED: | ^ drivers/mmc/host/rtsx_usb_sdmmc.c:1042:2: note: insert 'break;' to avoid fall-through 1042 | case MMC_POWER_UNDEFINED: | ^ | break; Clang is a little more pedantic than GCC, which does not warn when falling through to a case that is just break or return. Clang's version is more in line with the kernel's own stance in deprecated.rst, which states that all switch/case blocks must end in either break, fallthrough, continue, goto, or return. Add the missing break to silence the warning. Fixes: 2c3809bd6f65 ("mmc: rtsx_usb_sdmmc: Add 74 clocks in poweron flow") Signed-off-by: Nathan Chancellor <[email protected]> Link: https://lore.kernel.org/r/20250620-mmc-rtsx-usb-sdmmc-fix-clang-implicit-fallthrough-v1-1-4031d11159c0@kernel.org Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: cb710-mmc: Convert ternary operator to str_plural() helperLi Dong2025-06-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace direct ternary condition check with existing helper function str_plural() to improve code readability and maintain consistency. Signed-off-by: Li Dong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: rtsx_usb_sdmmc: Add 74 clocks in poweron flowRicky Wu2025-06-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To conform with SD spec definition, that the host must provide at least 74 clocks before issuing first command, let's add these clock cycles at MMC_POWER_UP. Signed-off-by: Ricky Wu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: rtsx_usb_sdmmc: Re-work the code in sd_set_power_mode()Ulf Hansson2025-06-241-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's only at MMC_POWER_OFF and at MMC_POWER_UP when some operations must be carried out in sd_set_power_mode(). The code is a bit obfuscated in this regards. Let's convert it into a switch-case-clause to make this clear. Reviewed-by: Avri Altman <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Acked-by: Ricky Wu <[email protected]> Link: https://lore.kernel.org/r/[email protected]
| | * | | | | mmc: rtsx_usb_sdmmc: Convert sd_set_power_mode() into voidUlf Hansson2025-06-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sdmmc_set_ios() is the only caller of sd_set_power_mode() and it ignores the return code. Let's therefore convert sd_set_power_mode() into a void function instead. Reviewed-by: Avri Altman <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Acked-by: Ricky Wu <[email protected]> Link: https://lore.kernel.org/r/[email protected]
| | * | | | | mmc: rtsx_usb_sdmmc: Print debug-messages at power-on/off errorsUlf Hansson2025-06-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It should be useful to know when we fail to power-on/off a card. Let's therefore print debug-messages when this happens. Reviewed-by: Avri Altman <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Acked-by: Ricky Wu <[email protected]> Link: https://lore.kernel.org/r/[email protected]
| | * | | | | mmc: rtsx_usb_sdmmc: Fix error-path in sd_set_power_mode()Ulf Hansson2025-06-241-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the error path of sd_set_power_mode() we don't update host->power_mode, which could lead to an imbalance of the runtime PM usage count. Fix this by always updating host->power_mode. Reviewed-by: Avri Altman <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Acked-by: Ricky Wu <[email protected]> Link: https://lore.kernel.org/r/[email protected]
| | * | | | | mmc: host: renesas_sdhi: Fix incorrect auto retuning for an SDIO cardYoshihiro Shimoda2025-06-242-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This host controller is possible to change incorrect tap if an SDIO card is used because DAT1 is used for interrupt signal on SDIO standard but the controller doesn't take care of it. So, in the worst case, this behavior causes a CRC error. To resolve the issue, this driver uses manual correction mode instead of auto correction if an SDIO card is used. Also, even if DAT1 is mismatched on an SDIO card, this driver will not change the TAP. Signed-off-by: Yoshihiro Shimoda <[email protected]> Reviewed-by: Wolfram Sang <[email protected]> Tested-by: Wolfram Sang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: host: tmio: Add .sdio_irq()Yoshihiro Shimoda2025-06-242-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renesas SDHI controller requires vender specific handling when an SDIO irq occurs. So, add .sdio_irq() to the tmio core. Signed-off-by: Yoshihiro Shimoda <[email protected]> Reviewed-by: Wolfram Sang <[email protected]> Tested-by: Wolfram Sang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci: Drop sdhci_free_host()/sdhci_pltfm_free() interfaceBinbin Zhou2025-06-244-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >From now on, all calls to sdhci_free_host()/sdhci_pltfm_free() have been cleaned up, so we can just delete them. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/8adcfef00fd4bc40f33f5fd42d2e5e73d72e68e4.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci_f_sdh30: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/c216c46cb5aebe8e4598215428ace4440974c188.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci_am654: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/a456963bae14b0c6dade02f388f815f1ffcaa98a.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-xenon: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Hu Ziji <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/e7c52155f04fc270400985b70514800c23fd5565.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-tegra: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Thierry Reding <[email protected]> Cc: Jonathan Hunter <[email protected]> Cc: [email protected] Signed-off-by: Binbin Zhou <[email protected]> Acked-by: Thierry Reding <[email protected]> Link: https://lore.kernel.org/r/cee82eaad0392838fbe1fab8e2301e680d34c0c5.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-st: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Patrice Chotard <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/5fdb2403bf553ad43e2336d072007dd7ea2b4143.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-sprd: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Orson Zhai <[email protected]> Cc: Baolin Wang <[email protected]> Reviewed-by: Chunyan Zhang <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/88a24d5f60bc916712cca813e24ae49b7e691eb2.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-pxav3: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/7b489e7326349c3709caa33efb0e995b5667fb27.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-pxav2: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-20/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/b4f833b5f4816cfe5b9e502d55aad6a970042aad.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-pic32: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/e6f16e97f8b82ffa71b8ad34e32e42ab240734e5.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-omap: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Vignesh Raghavendra <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/c45dd3f283de7e259cc2fa01ee8d1e34d18829d3.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-of-sparx5: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Steen Hegelund <[email protected]> Cc: Daniel Machon <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Acked-by: Daniel Machon <[email protected]> Link: https://lore.kernel.org/r/67b5e9076056da66d9fc8951fafd4f48ddd3ca25.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-of-ma35d1: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Jacky Huang <[email protected]> Cc: Shan-Chun Hung <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/67a2a3b35e2d46aab06657e88566c14a7f2d7947.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-of-k1: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Cc: Yixun Lan <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: Yixun Lan <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/e98c6383c82a0af2dce6d07645c9fecd53de8767.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-of-esdhc: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/03a03a94c933694c8e4f6f4b7b05bc69932dc7f8.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>
| | * | | | | mmc: sdhci-of-dwcmshc: Drop the use of sdhci_pltfm_free()Binbin Zhou2025-06-241-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the devm_mmc_alloc_host() helper is already in use, sdhci_pltfm_free() is no longer needed. Signed-off-by: Binbin Zhou <[email protected]> Link: https://lore.kernel.org/r/01b6797d55562e124599663e859dd9b7d4e4d8e0.1749127796.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <[email protected]>