Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2431938rwb; Fri, 9 Dec 2022 01:55:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf628ls4hjIDj6Y260jR+4eFB8T4KB81iVdbJhyxi2vSn5kiaR0r0nDKGUySw4Opl4v9z0xn X-Received: by 2002:a17:907:2167:b0:7c0:e5c6:2a74 with SMTP id rl7-20020a170907216700b007c0e5c62a74mr4312889ejb.34.1670579751627; Fri, 09 Dec 2022 01:55:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670579751; cv=none; d=google.com; s=arc-20160816; b=K+I15rFbzDg6oZazeAvGvXrU10gbdFK9YFNv+EJoran9UX1+ZPmgUBoWMAb8S9M5Mz rMQkTI5aqIJ9wT7VlRnFYi6MSaw+DpnnsFO+Vv4ikfXgdjgl4vp4+2NSYq6HNWbPaVTp BSC+jvVzC6dqLf/ly2Y6XEbzZccFLOyVFQuLhjqrtRHx9QldANaMPWxxyWVNFJuhWs1c 6rAtrqC4jt6O5ZD+/hO+kdGwS+9+OcZ3GYkAgh+9mYi+uRTJLFtShAWjw+edtuAI6Gdp mvKWE4cSTDdb1/DchBQ10oQmn2DO0DoCdcsL7nyp0gW98B6IameJ9Eg2NSuqLb16X5nY S5zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=DcS3x5UmVaSMKFt9E6LpEtAhtfgHDBTbU6XLvPXAh/M=; b=Prpd5KQDgZ2Yh0Yb1O+LEm6z5+FzzFmwJDGROIegWppnuKrrYrmQO5JTr8kMYJssO2 fCDekZsldWnSV4Q0v4IOzyJ6JkddjlAGjYGOo6ocscXhqrLhhUogyaFVfwKnHqgGNttP l/UMaxfhRlY67B+ANLB+NJA5F+GBzlfNTZZlQY41Vms7Zq6S94MH6C7jojnxbXXeeZay TG3Qks5f490S4+8k8ZZdUYVURgDmUFTKnUaqz0CWJaf2rydRJeGyp6P63uEOE93yWPdF vA9UxNcRwacy2ZQUEuKQ8FTzkDTmKc+KZqBM/dEIDPelVP6+4/eK4vo+j2ZF/OedPvFI k2Bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RMV7LNGN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ck17-20020a170906c45100b007806c141214si651330ejb.153.2022.12.09.01.55.34; Fri, 09 Dec 2022 01:55:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RMV7LNGN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229746AbiLIJe3 (ORCPT + 73 others); Fri, 9 Dec 2022 04:34:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229500AbiLIJe1 (ORCPT ); Fri, 9 Dec 2022 04:34:27 -0500 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 799DE1F637 for ; Fri, 9 Dec 2022 01:34:26 -0800 (PST) Received: by mail-pj1-x102d.google.com with SMTP id k88-20020a17090a4ce100b00219d0b857bcso4409652pjh.1 for ; Fri, 09 Dec 2022 01:34:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DcS3x5UmVaSMKFt9E6LpEtAhtfgHDBTbU6XLvPXAh/M=; b=RMV7LNGN99Ydci6QdHnV35yYk3uHMw09LYh44w6Q5gMtVmSrwcJaXacXkVcQfujsx6 CfvOAHDYsaS2D1kfaE3IPVDEkldu8MPpmH5+bUNYcSCI9cCuU8rNPbSPoo/uCS75DZbJ v3/VFWrwCSgcDmjCy6PKUeqgIFSHYRMu2Pfgq1nrHG0EOXFuwQD+AmYs9uS1Fp2o1JLK WqB19hRISni/U/ZDdnSuFAIRHOAg3AnMds/uT8KRrSPQMe6XP1GwT5yC03UxdXM94bbZ KGMt7xqxiLLxE9gpV4p20YO6RVbOPZ2KygJAv809Eq6Y8pM874j/DYtC7ORgVPXyltRP 2/DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DcS3x5UmVaSMKFt9E6LpEtAhtfgHDBTbU6XLvPXAh/M=; b=2C8JxI4j/nOOw9Q4t/v7Ykl1GcF/xLG+Rj86XvtP2ZIQiS066H+ui7/+hrVVnD/x6x WHzQMXZAieg9iXoT/RxUDi2jP0Tw6eKPaTdUanYqv+H3hIusDKEChwYufSeOqG0a6rdc pJGd1X0BQtJaEGbSQUQaJ7pkRdm9Vki5MaR7R/EK+uTQGzsBpfqMQNv3uhA73AVsCjcQ zh/hVdfbe+OXIAOpq7BEz2nUBmjcQ77gSxC2RTzXyDl5niwvYK2kKk+rbHDxornvY5kj 0Yrf01vepvCSUna2wgAncWY3ou5Vqd2PexRhdUQoylVIDR4KhacHtCX0dpXGmQyw9Vbx JHvQ== X-Gm-Message-State: ANoB5plj2YRzgjoeo0uxgHK4/5evl9jHn8E06lHoFK+ZOzfgxSeg+/Mq 2m+ayugcQFDdBKwujgsFtHd+Gr2w/D5OQfyeIlhUnw== X-Received: by 2002:a17:90b:268b:b0:219:ff4d:b64b with SMTP id pl11-20020a17090b268b00b00219ff4db64bmr12012847pjb.164.1670578466038; Fri, 09 Dec 2022 01:34:26 -0800 (PST) MIME-Version: 1.0 References: <20221207051909.32126-1-wenchao.chen@unisoc.com> In-Reply-To: <20221207051909.32126-1-wenchao.chen@unisoc.com> From: Ulf Hansson Date: Fri, 9 Dec 2022 10:33:49 +0100 Message-ID: Subject: Re: [PATCH] mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K To: Wenchao Chen Cc: adrian.hunter@intel.com, orsonzhai@gmail.com, baolin.wang@linux.alibaba.com, zhang.lyra@gmail.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, zhenxiong.lai@unisoc.com, yuelin.tang@unisoc.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 7 Dec 2022 at 06:20, Wenchao Chen wrote: > > When the clock is less than 400K, some SD cards fail to initialize > because CLK_AUTO is enabled. > > Fixes: fb8bd90f83c4 ("mmc: sdhci-sprd: Add Spreadtrum's initial host controller") > Signed-off-by: Wenchao Chen Applied for next, and by adding a stable tag, thanks! Kind regards Uffe > --- > drivers/mmc/host/sdhci-sprd.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c > index bec3f9e3cd3f..525f979e2a97 100644 > --- a/drivers/mmc/host/sdhci-sprd.c > +++ b/drivers/mmc/host/sdhci-sprd.c > @@ -228,13 +228,15 @@ static inline void _sdhci_sprd_set_clock(struct sdhci_host *host, > div = ((div & 0x300) >> 2) | ((div & 0xFF) << 8); > sdhci_enable_clk(host, div); > > - /* enable auto gate sdhc_enable_auto_gate */ > - val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI); > - mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN | > - SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN; > - if (mask != (val & mask)) { > - val |= mask; > - sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI); > + /* Enable CLK_AUTO when the clock is greater than 400K. */ > + if (clk > 400000) { > + val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI); > + mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN | > + SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN; > + if (mask != (val & mask)) { > + val |= mask; > + sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI); > + } > } > } > > -- > 2.17.1 >