From: Artem Shimko <a.shimko.dev@gmail.com>
To: andriy.shevchenko@intel.com, adrian.hunter@intel.com,
ulfh@kernel.org, p.zabel@pengutronix.de
Cc: Artem Shimko <a.shimko.dev@gmail.com>,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/3] mmc: sdhci-of-dwcmshc: improve delay handling with fsleep()
Date: Mon, 18 May 2026 14:00:31 +0300 [thread overview]
Message-ID: <20260518110034.142587-2-a.shimko.dev@gmail.com> (raw)
In-Reply-To: <20260518110034.142587-1-a.shimko.dev@gmail.com>
The driver currently uses udelay() for short delays, which performs
busy-waiting and may not be optimal even for very short durations.
While udelay() is appropriate for atomic context, these specific delays
occur in non-atomic contexts where sleeping is allowed.
Replace udelay(1) with fsleep(1) in dwcmshc_rk3568_set_clock() and
rk35xx_sdhci_reset(). The fsleep() function automatically selects the
optimal delay mechanism based on the requested duration - for
delays <= 10 microseconds it will use udelay() internally, but provides
better flexibility for future adjustments and makes the code more
consistent with kernel best practices. No functional change is intended.
Signed-off-by: Artem Shimko <a.shimko.dev@gmail.com>
---
drivers/mmc/host/sdhci-of-dwcmshc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
index 0b2158a7e409..8c3ca47c8060 100644
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -816,7 +816,7 @@ static void dwcmshc_rk3568_set_clock(struct sdhci_host *host, unsigned int clock
/* Reset DLL */
sdhci_writel(host, BIT(1), DWCMSHC_EMMC_DLL_CTRL);
- udelay(1);
+ fsleep(1);
sdhci_writel(host, 0x0, DWCMSHC_EMMC_DLL_CTRL);
/*
@@ -895,7 +895,7 @@ static void rk35xx_sdhci_reset(struct sdhci_host *host, u8 mask)
if (mask & SDHCI_RESET_ALL && priv->reset) {
reset_control_assert(priv->reset);
- udelay(1);
+ fsleep(1);
reset_control_deassert(priv->reset);
}
--
2.43.0
next prev parent reply other threads:[~2026-05-18 11:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-18 11:00 [PATCH 0/3] mmc: sdhci-of-dwcmshc: Minor cleanups Artem Shimko
2026-05-18 11:00 ` Artem Shimko [this message]
2026-05-18 14:16 ` [PATCH 1/3] mmc: sdhci-of-dwcmshc: improve delay handling with fsleep() Andy Shevchenko
2026-05-18 14:50 ` Artem Shimko
2026-05-18 18:35 ` Andy Shevchenko
2026-05-19 15:43 ` Artem Shimko
2026-05-18 11:00 ` [PATCH 2/3] mmc: sdhci-of-dwcmshc: remove redundant IS_ERR() check Artem Shimko
2026-05-20 6:18 ` Adrian Hunter
2026-05-18 11:00 ` [PATCH 3/3] mmc: sdhci-of-dwcmshc: use dev_err_probe() to simplify error paths Artem Shimko
2026-05-20 6:18 ` Adrian Hunter
2026-05-20 7:14 ` Artem Shimko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260518110034.142587-2-a.shimko.dev@gmail.com \
--to=a.shimko.dev@gmail.com \
--cc=adrian.hunter@intel.com \
--cc=andriy.shevchenko@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=ulfh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.