Krzysztof Kozlowski
2ba206a2ff
dt-bindings: mmc: sdhci-msm: cleanup style
...
Drop unnecessary quotes from $ref.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20221204094717.74016-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Krzysztof Kozlowski
e589522d7a
dt-bindings: mmc: sdhci-am654: cleanup style
...
Cleanup coding style without functional changes:
1. Drop unnecessary quotes from $ref.
2. Use simple enum for compatible enumeration and sort entries.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20221204094717.74016-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Krzysztof Kozlowski
07f8f060ed
dt-bindings: mmc: sdhci: document sdhci-caps and sdhci-caps-mask
...
The Linux SDHCI driver core reads 'sdhci-caps' and 'sdhci-caps-mask'
properties and few devices already use it (e.g. Qualcomm SM8450), so add
them to a shared SDHCI bindings.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20221204094717.74016-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Deren Wu
4a44cd2496
mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
...
vub300_enable_sdio_irq() works with mutex and need TASK_RUNNING here.
Ensure that we mark current as TASK_RUNNING for sleepable context.
[ 77.554641] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff92a72c1d>] sdio_irq_thread+0x17d/0x5b0
[ 77.554652] WARNING: CPU: 2 PID: 1983 at kernel/sched/core.c:9813 __might_sleep+0x116/0x160
[ 77.554905] CPU: 2 PID: 1983 Comm: ksdioirqd/mmc1 Tainted: G OE 6.1.0-rc5 #1
[ 77.554910] Hardware name: Intel(R) Client Systems NUC8i7BEH/NUC8BEB, BIOS BECFL357.86A.0081.2020.0504.1834 05/04/2020
[ 77.554912] RIP: 0010:__might_sleep+0x116/0x160
[ 77.554920] RSP: 0018:ffff888107b7fdb8 EFLAGS: 00010282
[ 77.554923] RAX: 0000000000000000 RBX: ffff888118c1b740 RCX: 0000000000000000
[ 77.554926] RDX: 0000000000000001 RSI: 0000000000000004 RDI: ffffed1020f6ffa9
[ 77.554928] RBP: ffff888107b7fde0 R08: 0000000000000001 R09: ffffed1043ea60ba
[ 77.554930] R10: ffff88821f5305cb R11: ffffed1043ea60b9 R12: ffffffff93aa3a60
[ 77.554932] R13: 000000000000011b R14: 7fffffffffffffff R15: ffffffffc0558660
[ 77.554934] FS: 0000000000000000(0000) GS:ffff88821f500000(0000) knlGS:0000000000000000
[ 77.554937] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 77.554939] CR2: 00007f8a44010d68 CR3: 000000024421a003 CR4: 00000000003706e0
[ 77.554942] Call Trace:
[ 77.554944] <TASK>
[ 77.554952] mutex_lock+0x78/0xf0
[ 77.554973] vub300_enable_sdio_irq+0x103/0x3c0 [vub300]
[ 77.554981] sdio_irq_thread+0x25c/0x5b0
[ 77.555006] kthread+0x2b8/0x370
[ 77.555017] ret_from_fork+0x1f/0x30
[ 77.555023] </TASK>
[ 77.555025] ---[ end trace 0000000000000000 ]---
Fixes: 88095e7b47 ("mmc: Add new VUB300 USB-to-SD/SDIO/MMC driver")
Signed-off-by: Deren Wu <deren.wu@mediatek.com >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/87dc45b122d26d63c80532976813c9365d7160b3.1670140888.git.deren.wu@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Kamal Dasu
292d0426d7
MAINTAINERS: Update maintainer for SDHCI Broadcom BRCMSTB driver
...
Taking over as upstream maintainer for Broadcom SDHCI
driver from Al Cooper.
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/20221202212119.43214-1-kdasu.kdev@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Andy Tang
c8d2d76d76
mmc: sdhci-of-esdhc: limit the SDHC clock frequency
...
The highest clock frequency for eMMC HS200 mode on ls1043a
is 116.7Mhz according to its specification.
So add the limit to gate the frequency.
Signed-off-by: Andy Tang <andy.tang@nxp.com >
Link: https://lore.kernel.org/r/20221202075905.25363-1-andy.tang@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
zhang songyi
496182a389
mmc: sdhci: Remove unneeded semicolon
...
The semicolon after the "}" is unneeded.
Signed-off-by: zhang songyi <zhang.songyi@zte.com.cn >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/202212021031575255977@zte.com.cn
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Zhen Lei
fc02e2b523
mmc: core: Normalize the error handling branch in sd_read_ext_regs()
...
Let's use pr_err() to output the error messages and let's extend a comment
to clarify why returning 0 (success) in one case make sense.
Fixes: c784f92769 ("mmc: core: Read the SD function extension registers for power management")
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com >
[Ulf: Clarified the comment and the commit-msg]
Link: https://lore.kernel.org/r/20221130134920.2109-1-thunder.leizhen@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Christoph Niedermaier
04280473b5
dt-bindings: mmc: Remove comment on wakeup-source property
...
The current comment on wakeup-source is a little confusing because
the word deprecated can be interpreted at first glance to mean that
wakeup-source is deprecated. Also mentioning the obsolete property
confuses more than it helps. Therefore, the comment should be removed
completely because the enable-sdio-wakeup property is not used in
any current DTs. Also remove enable-sdio-wakeup reference in
wakeup-source.txt
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221130121033.7270-1-cniedermaier@dh-electronics.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Adrian Hunter
beaba9e46c
mmc: sdhci: Avoid unnecessary ->set_clock()
...
To avoid glitches on the clock line, the card clock is disabled when making
timing changes. Do not do that separately for HISPD and UHS settings.
Tested-by: Haibo Chen <haibo.chen@nxp.com >
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20221128133259.38305-4-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Michael Wu
e026a3f917
mmc: mmc-hsq: Use fifo to dispatch mmc_request
...
Current next_tag selection will cause a large delay in some requests and
destroy the scheduling results of the block scheduling layer. Because the
issued mrq tags cannot ensure that each time is sequential, especially when
the IO load is heavy. In the fio performance test, we found that 4k random
read data was sent to mmc_hsq to start calling request_atomic It takes
nearly 200ms to process the request, while mmc_hsq has processed thousands
of other requests. So we use fifo here to ensure the first in, first out
feature of the request and avoid adding additional delay to the request.
Reviewed-by: Wenchao Chen <wenchao.chen@unisoc.com >
Signed-off-by: Michael Wu <michael@allwinnertech.com >
Link: https://lore.kernel.org/r/20221128093847.22768-1-michael@allwinnertech.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Jiasheng Jiang
4f431a047a
memstick/ms_block: Add check for alloc_ordered_workqueue
...
As the alloc_ordered_workqueue may return NULL pointer, it should be better
to add check for the return value. Moreover, the msb->io_queue should be
freed if error occurs later.
Fixes: 0ab30494bc ("memstick: add support for legacy memorysticks")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn >
Link: https://lore.kernel.org/r/20221126012558.34374-1-jiasheng@iscas.ac.cn
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:14 +01:00
Ye Bin
5c5301a147
mmc: core: refactor debugfs code
...
Now, CONFIG_DEBUG_FS is scattered in various functions, to make code
clean centralized processing CONFIG_DEBUG_FS in mmc debugfs module.
Signed-off-by: Ye Bin <yebin10@huawei.com >
Link: https://lore.kernel.org/r/20221126102520.2824574-1-yebin@huaweicloud.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:13 +01:00
ChanWoo Lee
b98e7e8daf
mmc: Avoid open coding by using mmc_op_tuning()
...
Replace code with the already defined function. No functional changes.
Signed-off-by: ChanWoo Lee <cw9316.lee@samsung.com >
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20221124080031.14690-1-cw9316.lee@samsung.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:13 +01:00
Yang Li
1e8cb505f3
mmc: Remove unneeded semicolon
...
./drivers/mmc/host/sunplus-mmc.c:321:2-3: Unneeded semicolon
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=3238
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com >
Link: https://lore.kernel.org/r/20221123021221.9646-1-yang.lee@linux.alibaba.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:13 +01:00
Christian Löhle
e81bdae440
mmc: core: Remove non-data R1B ioctl workaround
...
The workaround of pretending R1B non-data transfers are data transfers in
order for the busy timeout to be respected by the host controller driver is
removed. It wasn't useful in a long time.
Initially the workaround ensured that R1B commands did not time out by
setting the data timeout to be the command timeout in commit cb87ea28ed
("mmc: core: Add mmc CMD+ACMD passthrough ioctl"). This was moved inside an
if-clause with idata->buf_bytes being set in commit 4d6144de8b ("mmc:
core: check for zero length ioctl data"). Since the workaround is now
inside the idata->buf_bytes clause and intended to fix R1B non-data
transfers, that do not have buf_bytes set, we can remove the workaround
altogether. This was dead code, since data transfers doesn't use R1B
commands.
Signed-off-by: Christian Loehle <cloehle@hyperstone.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/57d4aceb25254e448bd3e575bd99b0c2@hyperstone.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:29:13 +01:00
Wolfram Sang
ffbace4378
mmc: renesas_sdhi: use plain numbers for end_flags
...
Linux *_bit accessors take plain bit numbers, no need for BIT().
Fixes: c330601c9c ("mmc: renesas_sdhi: take DMA end interrupts into account")
Reported-by: kernel test robot <lkp@intel.com >
Reported-by: Dan Carpenter <error27@gmail.com >
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20221122080554.4468-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:28:22 +01:00
Tony Huang
4e268fed8b
mmc: Add mmc driver for Sunplus SP7021
...
This is a patch for mmc driver for Sunplus SP7021 SOC.
Supports eMMC 4.41 DDR 104MB/s speed mode.
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Tony Huang <tonyhuang.sunplus@gmail.com >
Link: https://lore.kernel.org/r/c92d67596f3cc10d41585b9ab82be7da2cc4c9d8.1669023361.git.tonyhuang.sunplus@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Tony Huang
0f55b16272
dt-binding: mmc: Add mmc yaml file for Sunplus SP7021
...
Add MMC YAML file for Sunplus SP7021.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Tony Huang <tonyhuang.sunplus@gmail.com >
Link: https://lore.kernel.org/r/8c8fbc29524819d8ab45a4fe75311b3b7b567650.1669023361.git.tonyhuang.sunplus@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
afc9b96b50
mmc: renesas_sdhi: use new convenience macro from MMC core
...
Makes the code more readable.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221120113457.42010-5-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
48c917fa99
mmc: renesas_sdhi: add helper to access quirks
...
Add a macro to check for a quirk because it a) ensures that the check
for non-empty 'quirks' struct is not forgotten and b) is easier to read.
Convert existing quirk access as well.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221120113457.42010-4-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
0da69dd215
mmc: renesas_sdhi: better reset from HS400 mode
...
Up to now, HS400 adjustment mode was only disabled on soft reset when a
calibration table was in use. It is safer, though, to disable it as soon
as the instance has an adjustment related quirk set, i.e. bad taps or a
calibration table.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221120113457.42010-3-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
3d4f9898c1
mmc: renesas_sdhi: alway populate SCC pointer
...
We need the SCC pointer to reset the device, so populate it even when we
don't need it for tuning.
Fixes: 45bffc371f ("mmc: renesas_sdhi: only reset SCC when its pointer is populated")
Signed-off-by: Takeshi Saito <takeshi.saito.xv@renesas.com >
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com >
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221120113457.42010-2-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
ye xingchen
fa30beccca
mmc: pwrseq: Use device_match_of_node()
...
Replace the open-code with device_match_of_node().
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn >
Link: https://lore.kernel.org/r/202211171524116446204@zte.com.cn
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Dinh Nguyen
d0ce6aca9d
clk: socfpga: remove the setting of clk-phase for sdmmc_clk
...
Now that the SDMMC driver supports setting the clk-phase, we can remove
the need to do it in the clock driver.
Acked-by: Stephen Boyd <sboyd@kernel.org >
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org >
Link: https://lore.kernel.org/r/20221114230217.202634-5-dinguyen@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Dinh Nguyen
ef87bd81cb
mmc: dw_mmc-pltfm: socfpga: add method to configure clk-phase
...
The clock-phase settings for the SDMMC controller in the SoCFPGA
platforms reside in a register in the System Manager. Add a method
to access that register through the syscon interface.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org >
Link: https://lore.kernel.org/r/20221114230217.202634-4-dinguyen@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Dinh Nguyen
ccfa2466a4
dt-bindings: mmc: synopsys-dw-mshc: document "altr,sysmgr-syscon"
...
Document the optional "altr,sysmgr-syscon" binding that is used to
access the System Manager register that controls the SDMMC clock
phase.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20221114230217.202634-1-dinguyen@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Charl Liu
63abdf7237
mmc: sdhci: Fix the SD tuning issue that the SDHCI_TRANSFER_MODE is cleared incorrectly
...
When cmd->opcode == MMC_SEND_TUNING_BLOCK, the SDHCI_TRANSFER_MODE
should also be kept
Signed-off-by: Charl Liu <charl.liu@bayhubtech.com >
Acked-by: Adrian Hunter <adrian.hunter@intel.com >
Link: https://lore.kernel.org/r/20221111122314.307-1-charl.liu@bayhubtech.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
43c487c28f
mmc: tmio: remove 'alignment_shift' from platform data
...
There is only one alignment shift for one type of Renesas SDHI. Encode
it directly in its DMA driver to reduce complexity and ease further
simplifications.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20221102125430.28466-3-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:37 +01:00
Wolfram Sang
8840e1c13c
mmc: tmio: remove tmio_mmc_k(un)map_atomic helpers
...
After a8402aed8ca5 ("mmc: tmio_mmc_core: Remove
local_irq_{save,restore}() around k[un]map_atomic()") and ac91578a6812
("mmc: tmio_mmc_core: Replace kmap_atomic() with kmap_local_page()"),
the helpers contain just a single call. Putting it directly in the code
makes it actually more readable. More so, because we now avoid the
'offset' calculation when mapping/unmapping and just use it when we need
it in the copy routines.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Link: https://lore.kernel.org/r/20221102125430.28466-2-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Wolfram Sang
c330601c9c
mmc: renesas_sdhi: take DMA end interrupts into account
...
So far, we have been relying on access_end interrupts only to mark DMA
transfers as done implying that DMA end interrupts have occurred by then
anyhow. On some SoCs under some conditions, this turned out to be not
enough. So, we enable DMA interrupts as well and make sure that both
events, DMA irq and access_end irq, have happened before finishing the
DMA transfer.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Duy Nguyen <duy.nguyen.rh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221006190452.5316-6-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Wolfram Sang
ec9e80ae17
mmc: renesas_sdhi: add quirk for broken register layout
...
Some early Gen3 SoCs have the DTRANEND1 bit at a different location than
all later SoCs. Because we need the bit soon, add a quirk so we know
which bit to use.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Duy Nguyen <duy.nguyen.rh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221006190452.5316-5-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Wolfram Sang
af728d7ae2
mmc: tmio: add callback for dma irq
...
We don't want to rely only on the access_end irq in the future, so
implement a callback for dma irqs.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Duy Nguyen <duy.nguyen.rh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221006190452.5316-4-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Wolfram Sang
7f3ea248cd
mmc: renesas_sdhi: improve naming of DMA struct
...
Commit 058db2868c ("mmc: tmio, renesas_sdhi: move struct tmio_mmc_dma
to renesas_sdhi.h") is correct. The DMA struct should be prefixed with
'renesas_sdhi' to avoid confusion about is namespace. Fix some
indentation while here.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Duy Nguyen <duy.nguyen.rh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221006190452.5316-3-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Wolfram Sang
a8687078fc
mmc: renesas_sdhi: remove accessor function for internal_dmac
...
This accessor function does not help readability but makes it worse.
Because I soon need to read from the registers as well and don't want to
add another function like this, I chose to remove the existing one and
use the accessor directly. I also switch from writeq to writel because
no 64 bit register is actually involved.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Tested-by: Duy Nguyen <duy.nguyen.rh@renesas.com >
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Link: https://lore.kernel.org/r/20221006190452.5316-2-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
aae9d3a440
mmc: f-sdh30: Add quirks for broken timeout clock capability
...
There is a case where the timeout clock is not supplied to the capability.
Add a quirk for that.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Acked-by: Jassi Brar <jaswinder.singh@linaro.org >
Link: https://lore.kernel.org/r/20221111081033.3813-7-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
e2d2dcc825
mmc: f-sdh30: Add support for non-removable media
...
To use F_SDH30 for non-removable meda like eMMC,
need to enable FORCE_CARD_INSERT bit to skip the delay for detection.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Acked-by: Jassi Brar <jaswinder.singh@linaro.org >
Link: https://lore.kernel.org/r/20221111081033.3813-6-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
5914a9b16c
mmc: f-sdh30: Add compatible string for Socionext F_SDH30_E51
...
Add a compatible string for Socionext F_SDH30_E51.
Since this IP is transferred to Socionext, so append it to Copyright
and MODULE_AUTHOR as vendor name.
F_SDH30_E51 is a higher version of F_SDH30 that supports eMMC 5.1,
though, currently there are no new features for this IP in this driver,
just add the compatible string.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Link: https://lore.kernel.org/r/20221111081033.3813-5-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
72e7f0cf8d
dt-bindings: sdhci-fujitsu: Add compatible string for F_SDH30_E51
...
Add a compatible string for F_SDH30_E51 IP to the documentation.
Since this IP is transferred to Socionext, so append it as vendor name.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221111081033.3813-4-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
bd724b279f
mmc: f-sdh30: Add reset control support
...
Add reset control support for F_SDH30 controller. This is optional.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Acked-by: Jassi Brar <jaswinder.singh@linaro.org >
Link: https://lore.kernel.org/r/20221111081033.3813-3-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Kunihiko Hayashi
cb7e1e9311
dt-bindings: mmc: Convert sdhci-fujitsu to JSON schema
...
Convert the Fujitsu SDHCI controller IP binding to DT schema format,
and add resets property as optional to support reset control.
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221111081033.3813-2-hayashi.kunihiko@socionext.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Yu Zhe
4b323f02b6
mmc: mtk-sd: fix two spelling mistakes in comment
...
spelling mistake fix : "alreay" -> "already"
"checksume" -> "checksum"
Signed-off-by: Yu Zhe <yuzhe@nfschina.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://lore.kernel.org/r/20221110072819.11530-1-yuzhe@nfschina.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:36 +01:00
Abel Vesa
974b8219df
dt-bindings: mmc: sdhci-msm: Document the SM8550 compatible
...
Document the compatible for SDHCI on SM8550.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-sdhci-v1-0-797864a30e71@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Konrad Dybcio
b78efae3a3
dt-bindings: mmc: sdhci-msm: Document SM8350 SDHCI
...
Document the SDHCI on SM8350.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Link: https://lore.kernel.org/r/20221116123612.34302-1-konrad.dybcio@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Konrad Dybcio
ac4a171b44
dt-bindings: mmc: sdhci-msm: Document the SM6375 compatible
...
Document the compatible for SDHCI on SM6375.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Link: https://lore.kernel.org/r/20221114105043.36698-2-konrad.dybcio@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Yang Yingliang
b38a20f29a
mmc: mmci: fix return value check of mmc_add_host()
...
mmc_add_host() may return error, if we ignore its return value,
it will lead two issues:
1. The memory that allocated in mmc_alloc_host() is leaked.
2. In the remove() path, mmc_remove_host() will be called to
delete device, but it's not added yet, it will lead a kernel
crash because of null-ptr-deref in device_del().
So fix this by checking the return value and goto error path which
will call mmc_free_host().
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Link: https://lore.kernel.org/r/20221109133539.3275664-1-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Yang Yingliang
dc5b9b50fc
mmc: wbsd: fix return value check of mmc_add_host()
...
mmc_add_host() may return error, if we ignore its return value,
it will lead two issues:
1. The memory that allocated in mmc_alloc_host() is leaked.
2. In the remove() path, mmc_remove_host() will be called to
delete device, but it's not added yet, it will lead a kernel
crash because of null-ptr-deref in device_del().
So fix this by checking the return value and goto error path which
will call mmc_free_host(), besides, other resources also need be
released.
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Link: https://lore.kernel.org/r/20221109133237.3273558-1-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Yang Yingliang
e4e46fb61e
mmc: via-sdmmc: fix return value check of mmc_add_host()
...
mmc_add_host() may return error, if we ignore its return value,
it will lead two issues:
1. The memory that allocated in mmc_alloc_host() is leaked.
2. In the remove() path, mmc_remove_host() will be called to
delete device, but it's not added yet, it will lead a kernel
crash because of null-ptr-deref in device_del().
Fix this by checking the return value and goto error path which
will call mmc_free_host().
Fixes: f0bf7f61b8 ("mmc: Add new via-sdmmc host controller driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Link: https://lore.kernel.org/r/20221108130949.1067699-1-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Yang Yingliang
90935f16f2
mmc: meson-gx: fix return value check of mmc_add_host()
...
mmc_add_host() may return error, if we ignore its return value,
it will lead two issues:
1. The memory that allocated in mmc_alloc_host() is leaked.
2. In the remove() path, mmc_remove_host() will be called to
delete device, but it's not added yet, it will lead a kernel
crash because of null-ptr-deref in device_del().
Fix this by checking the return value and goto error path which
will call mmc_free_host().
Fixes: 51c5d8447b ("MMC: meson: initial support for GX platforms")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://lore.kernel.org/r/20221108123417.479045-1-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00
Yang Yingliang
a525cad241
mmc: omap_hsmmc: fix return value check of mmc_add_host()
...
mmc_add_host() may return error, if we ignore its return value,
it will lead two issues:
1. The memory that allocated in mmc_alloc_host() is leaked.
2. In the remove() path, mmc_remove_host() will be called to
delete device, but it's not added yet, it will lead a kernel
crash because of null-ptr-deref in device_del().
Fix this by checking the return value and goto error path wihch
will call mmc_free_host().
Fixes: a45c6cb816 ("[ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Link: https://lore.kernel.org/r/20221108121316.340354-1-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2022-12-07 13:22:35 +01:00