Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2453346rda; Wed, 25 Oct 2023 03:17:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH3Sxr0gdnc67bqVJfUamw4uRWptG3N3XtHDpB1bV20V4pp4IObk6Qu4bEkRcid+IlKKOfA X-Received: by 2002:a05:6808:1586:b0:3ae:5c48:6f41 with SMTP id t6-20020a056808158600b003ae5c486f41mr18381666oiw.28.1698229059882; Wed, 25 Oct 2023 03:17:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698229059; cv=none; d=google.com; s=arc-20160816; b=wIcp0MMzmAxJ/w/VljiNmMQ/mx1ZLNIu5G+s/2mtDka1wCeKP2qieNJYuQBIZS6Hy0 zWCmSHLWl5QTUIoDW17p9gjiI4ulPbJt5xIoj6sVuLc2OP/H5djMu+vNjPVyuU7ohebS wlSDOZEPKkpOgqf/oILacSFA/kd85jl7it2HzY/ol0wzBWIpEryBg5vapyqpYTfSp2Ok QxghLATG6OsK7AAQx1przAQOlAsPC4aaeRcnr0OLfT9TsrxefA13ZCBzEQJffFj8Gxrt FoUbekjPxZydj2knNf25SjcqsqMQ8VFxO9jSRmFY5Wfa6CmlBtrMYQ3D88oFaUQ746tI 7ctg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:reply-to :from:references:cc:to:content-language:subject:user-agent :mime-version:date:message-id; bh=0x2TvtO7g+IveWbbW8iEnt5PhmHLxguD7slBGfZScgc=; fh=NObE+7vsnPt6llw73u78JXXS8R1FrxAhBQ/wRiw7c+U=; b=tTNBMIDFNqg86g0qYoqErVQCKNUkToLSkimV8dY+O5txrTcta5ixuDOKI+ueq1fw70 DGWvjDWq96uOIrUQWN0a3GP8ddWIEI6W+rrh9WV1m8XAVvMPd+MhRdVeKCKSxYywv5Hy 5CWyGfy+afcJMy1y872gKKINhuoCPkkNCoUziSpaCOpsn7njcuv/kmuv8NC9EWWo5y0p kJxUUIqn0yutZ2eek/vf/4WBWYygGOGMojB83VopBeWTST6yVlH2l4iYZPgDusW4kRvn ELvatd/eS5Ahti9lkYXnRrw4k7PTgLSo8DW0gSQMCDpZhxlE3IeBQfBR8ZVKfu6+5gAZ f1oA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id 21-20020a250415000000b00da04074e22esi3736911ybe.374.2023.10.25.03.17.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 03:17:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id D0C2E80BA7CB; Wed, 25 Oct 2023 03:17:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234590AbjJYKQt (ORCPT + 99 others); Wed, 25 Oct 2023 06:16:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234581AbjJYKQr (ORCPT ); Wed, 25 Oct 2023 06:16:47 -0400 Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de [80.237.130.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40FE513D; Wed, 25 Oct 2023 03:16:44 -0700 (PDT) Received: from [2a02:8108:8980:2478:8cde:aa2c:f324:937e]; authenticated by wp530.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1qvawH-0002cu-Ry; Wed, 25 Oct 2023 12:16:37 +0200 Message-ID: Date: Wed, 25 Oct 2023 12:16:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mmc: meson-mx-sdhc: Fix initialization frozen issue Content-Language: en-US, de-DE To: Ulf Hansson , Ziyang Huang Cc: neil.armstrong@linaro.org, khilman@baylibre.com, jbrunet@baylibre.com, martin.blumenstingl@googlemail.com, yinxin_1989@aliyun.com, briannorris@chromium.org, linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org References: From: "Linux regression tracking (Thorsten Leemhuis)" Reply-To: Linux regressions mailing list In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1698229004;fb7a1f22; X-HE-SMSGID: 1qvawH-0002cu-Ry X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Wed, 25 Oct 2023 03:17:22 -0700 (PDT) On 23.10.23 13:14, Ulf Hansson wrote: > On Tue, 10 Oct 2023 at 18:44, Ziyang Huang wrote: >> >> Commit 4bc31edebde5 ("mmc: core: Set HS clock speed before sending >> HS CMD13") set HS clock (52MHz) before switching to HS mode. For this >> freq, FCLK_DIV5 will be selected and div value is 10 (reg value is 9). >> Then we set rx_clk_phase to 11 or 15 which is out of range and make >> hardware frozen. After we send command request, no irq will be >> interrupted and the mmc driver will keep to wait for request finished, >> even durning rebooting. >> >> So let's set it to Phase 90 which should work in most cases. Then let >> meson_mx_sdhc_execute_tuning() to find the accurate value for data >> transfer. >> >> If this doesn't work, maybe need to define a factor in dts. >> >> Fixes: e4bf1b0970ef ("mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host") >> Signed-off-by: Ziyang Huang > > I have re-added Thorsten to see if he has some time to test this on his end. FWIW, I was only involved wrt to regression tracking. It iirc was was Martin that had reported the problem here: https://lore.kernel.org/all/CAFBinCD0RT0p-jk86W0JuMT3ufohRh1RqWCcM35DKZJpuc10HQ@mail.gmail.com/ Side note: a proper Reported-by: tag together with a Link or Closes tag would be good to have in the patch descriptions, as explained in the Docs. Ciao, Thorsten >> --- >> Changes since v1: >> Use Phase 90 instand of value 1 >> >> drivers/mmc/host/meson-mx-sdhc-mmc.c | 26 +++++--------------------- >> 1 file changed, 5 insertions(+), 21 deletions(-) >> >> diff --git a/drivers/mmc/host/meson-mx-sdhc-mmc.c b/drivers/mmc/host/meson-mx-sdhc-mmc.c >> index 97168cdfa8e9..29698fceb89c 100644 >> --- a/drivers/mmc/host/meson-mx-sdhc-mmc.c >> +++ b/drivers/mmc/host/meson-mx-sdhc-mmc.c >> @@ -269,7 +269,7 @@ static int meson_mx_sdhc_enable_clks(struct mmc_host *mmc) >> static int meson_mx_sdhc_set_clk(struct mmc_host *mmc, struct mmc_ios *ios) >> { >> struct meson_mx_sdhc_host *host = mmc_priv(mmc); >> - u32 rx_clk_phase; >> + u32 val, rx_clk_phase; >> int ret; >> >> meson_mx_sdhc_disable_clks(mmc); >> @@ -290,27 +290,11 @@ static int meson_mx_sdhc_set_clk(struct mmc_host *mmc, struct mmc_ios *ios) >> mmc->actual_clock = clk_get_rate(host->sd_clk); >> >> /* >> - * according to Amlogic the following latching points are >> - * selected with empirical values, there is no (known) formula >> - * to calculate these. >> + * Phase 90 should work in most cases. For data transmission, >> + * meson_mx_sdhc_execute_tuning() will find a accurate value >> */ >> - if (mmc->actual_clock > 100000000) { >> - rx_clk_phase = 1; >> - } else if (mmc->actual_clock > 45000000) { >> - if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) >> - rx_clk_phase = 15; >> - else >> - rx_clk_phase = 11; >> - } else if (mmc->actual_clock >= 25000000) { >> - rx_clk_phase = 15; >> - } else if (mmc->actual_clock > 5000000) { >> - rx_clk_phase = 23; >> - } else if (mmc->actual_clock > 1000000) { >> - rx_clk_phase = 55; >> - } else { >> - rx_clk_phase = 1061; >> - } >> - >> + regmap_read(host->regmap, MESON_SDHC_CLKC, &val); >> + rx_clk_phase = FIELD_GET(MESON_SDHC_CLKC_CLK_DIV, val) / 4; >> regmap_update_bits(host->regmap, MESON_SDHC_CLK2, >> MESON_SDHC_CLK2_RX_CLK_PHASE, >> FIELD_PREP(MESON_SDHC_CLK2_RX_CLK_PHASE, >> -- >> 2.34.1 >> >