From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 541DA3F23D3 for ; Mon, 18 May 2026 11:00:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779102051; cv=none; b=E8A+V5ESdh962+aJmPZOtHSagLj1ChdBd08iwrWNhTqVFepcwPSFt+T+K4B8NW9HnpDzUp7drwpz2TrKhdk/va4jYhoW14w7fX0SGkyaP+r2K0jWaxc2booDNy73iFmqdFMkGxs5S16UbqAyXqm60EkG+o8OTquDbRB4Do23zSo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779102051; c=relaxed/simple; bh=MSyEDhlSoU8Puzubbj6qEaJ+2TU2CVDNruRtvJm6Lis=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NJflwwHvjuqRQtIqoTVxxVqEgucaeNZn5Sbc5V9iMb7100oMmlvozHxlQgQOri5kNFISAh+3oukKJxmPw/UiOlR61omtBEnmxdBdCbzRCqf+avXcFgcalU4BigYwEVdyxLeirZYqD/88wUKTuGdfVWLRgKS2Ft1JiLE9L8C4cDc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dUBF7MHc; arc=none smtp.client-ip=209.85.208.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dUBF7MHc" Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-393a44854d2so20349731fa.3 for ; Mon, 18 May 2026 04:00:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779102042; x=1779706842; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xskhRMwYt31YiznnIqsP+p3rukkWTePKX8/4DT9Rytk=; b=dUBF7MHcAPVERjG94lZstniKLwoLdsmRDmMIiYpQqD42Xfy8Da47uNiFD0IFMM44fN a+bW4lm50Ku1+ZDvhnJG96Wf+ZMI/ibK2u3B+RpnejKoBm8t1B4CYwuVUeiYr+sAfS3K 74hnPd14YFsPTCtfaCgIn1Hpn3xT9alqsL/D04l/ZObx+gfvq5YLOLQPBJQk+TH410/J PqbHv5HnPSTECsaIKHOtspNzJF+yXa0VKMY2GLw8h0ar67gKEGG8lx8KFCkEStAU7gtN lrqEqdD7pDUuMqYixSMr+S+ae1U756aB5SJCWWf5dcENE8ZN4OXDq7MBw+3hRO7QoWQ8 5izw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779102042; x=1779706842; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xskhRMwYt31YiznnIqsP+p3rukkWTePKX8/4DT9Rytk=; b=Ak8ClJo6CUfNDa2S24jJx3xl6wDyWrjSrmkLMaFmpp/58hv+mSJj2Z6XIQIUBlQvuY SnygDtugSEyN89mgwmpkKVhPtXztoUCExomUtrLTeGh/ckU2bahl+Y3JeAP+FW3t3r3X Zvl6RuIBkkMpt14wpVRvvV7r9xZN+fDIvlWVbDlFvSPBHZfseTT7zh9ZVnpcPvzyj0xp L5k3YD/944iZtBLm2UBpO7n1zDnvw9g/tATJAcgq/u9aQUIisRSwjP6l0govB6kySoa6 NlGjK9hgiylOiQJg7ll2mx8rXhurlTQ3hbRgHxAc2tiAkk1IQjQSQdUBDCA3Fg+p7yyK UbYA== X-Forwarded-Encrypted: i=1; AFNElJ+Rf1KSmTMInD3y3twMmjnGlQJWGeSZ3JCLBNBeT5RJg8n9BlZaeyFCAxLiE73Ur3r4eJwvjPnDMt+YM1k=@vger.kernel.org X-Gm-Message-State: AOJu0YxJNvhCQENFLXUQYV/B/bgqg+aB69EsH99MfdgHSJAFopnJYuVF nUwaP3fD2kNWe1AOocyLUovMGPkIieYMxXKR004vl29q6Zo67VZFm3p1 X-Gm-Gg: Acq92OFaagQzVFVQdZjFcXrvGIxzLSgpYWMUfcG0sd3Ejpx3zKazkN/ccM7+OL1jKD7 x4mxqXYW2jcCcV8SmAkz45JQJFigKrmK+bAz9AWsHz7SsfIA+7jA/n7+QEDk2mZh1s30tN3Kbcz 8r759aJTQPETJptdWMOCZ+TcMwu5gq2YGLq25jnn4BRloNtcZwa97fPPH4xZlrry7I3tBjBBUwE eHcY/E00ncig4Saro7xeeGAhGjv5D1Zd8/NNUS9rvBYIaxUyVS/9o5SR4u9W1c+UqOo8vL6tONO z4grpEx7mT0+C6/CFTPOmhpVqVVnA2qc46FTx8DDhl8zO7glakdfa/OFNfcMxsCu1lkGiJAQeTT 8xZje3pZm1RjzEF+a6bXMuJqSSpTO8ZpBnihG1fmlIrXp/gqiYvfc367ZV+GOSxW86epnap1hBV zp38rbuuvGflvbJPqZX2tZbvKFcnIOi+uqDgg= X-Received: by 2002:a05:6512:2301:b0:5a8:f8b3:6c8 with SMTP id 2adb3069b0e04-5aa0e7714ccmr4197260e87.37.1779102041544; Mon, 18 May 2026 04:00:41 -0700 (PDT) Received: from NB-6746.. ([188.243.183.222]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a9164bc462sm3239263e87.45.2026.05.18.04.00.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 04:00:41 -0700 (PDT) From: Artem Shimko To: andriy.shevchenko@intel.com, adrian.hunter@intel.com, ulfh@kernel.org, p.zabel@pengutronix.de Cc: Artem Shimko , 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 Message-ID: <20260518110034.142587-2-a.shimko.dev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260518110034.142587-1-a.shimko.dev@gmail.com> References: <20260518110034.142587-1-a.shimko.dev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- 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