Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp22810pxb; Wed, 30 Mar 2022 21:47:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4leYklUYq5vZO16FxNVgFCepdJumaPmyfCACp797AT9FC6zTlkx3G+dT8+Bw05W08iiLJ X-Received: by 2002:a17:902:c948:b0:154:1e4f:9837 with SMTP id i8-20020a170902c94800b001541e4f9837mr3447565pla.115.1648702067097; Wed, 30 Mar 2022 21:47:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648702067; cv=none; d=google.com; s=arc-20160816; b=Qw93FNs8EYGerfytH+GU8rSqDDVwTOH9rxpsytWpRt6yR4+k0We9ECvftzzvJQdneu udLjR9KFy3K1Qnec3Lc5oQaWAsLB2BN1QfI9ipXSz/eibZmN1dWg2YTpaH2kARG3Jyj3 DI5Tm7nchOZFHuOjKsViU86wAMeKHI08tfurVVE3gfg8WDFzH+RoTT3AKCaT9TVcoRJZ eLlKRQk4cIyttbLqZq3aetDKh95c4SHV6eylztLf4bCXdhkPDI710WwRpSLDamhazkAB aayB/uGKsg93ABUbNNvjX6SI3HLZUKY6fIK1PAUAA60AlnrVPwWD6FR5eMjenATSv5cg xFbQ== 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=EBcFsPpBOyUxMEU9H+5eyn/s7lGgdO0ytASVcAnuyUk=; b=GJZMOfA6g8BD/XR0ZWNSudnOStxzrV50e2SsSXghhARZeDD4EOuCorCW86GlYMxZE8 LEyDcPLTsxxBOHpI60kPQFZ/0WEf+u/ceWjYWejSD0DlBY59x8PDoKodFcJ7bkWrJEz1 pHUYCIMbNW7IUNx/vQX6onFXRNmiMmVEpYudfV+2VmJ2zNjxFj/4Gz7JCdOogR6wm+uq RAtBrpHO9qKpMpSnmHmIQCqexU4TiuSjUNfE/VJVPXLrwmV/0qPw8mq+KMaQJ1grumd9 t8aC2sfR0GBh113QB/8479YXz0zXb+EROqLEVHIJYJkxJHdHu6mBAc4JRkn4rWGu8kKe sjSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=oOXcqfjk; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id 3-20020a17090a034300b001c9b844880esi1959781pjf.135.2022.03.30.21.47.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 21:47:47 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=oOXcqfjk; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 844BC1EDA0F; Wed, 30 Mar 2022 20:27:39 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243795AbiC3Ua6 (ORCPT + 99 others); Wed, 30 Mar 2022 16:30:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350969AbiC3Uaz (ORCPT ); Wed, 30 Mar 2022 16:30:55 -0400 Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 825F130F4D for ; Wed, 30 Mar 2022 13:29:10 -0700 (PDT) Received: by mail-oi1-x229.google.com with SMTP id j83so23249875oih.6 for ; Wed, 30 Mar 2022 13:29:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EBcFsPpBOyUxMEU9H+5eyn/s7lGgdO0ytASVcAnuyUk=; b=oOXcqfjkyuYdgdmxLI/iIxMEP8saEapZ2EYdYfJYsjZCN64M7/VMNSmTtFhfde3FOy KaaTOpOJ1d0bjO4QHmroHNjF/YgNAEIrpOQUAyqS0CHH/XdOxh3pHc4g+t/VQPkk2aIl QPlyy7qQngXPjAZ4eEOHksfLmIg++gKf1+M8U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EBcFsPpBOyUxMEU9H+5eyn/s7lGgdO0ytASVcAnuyUk=; b=S/DXIXyafEJu1/2n7g9UeTuPdS89u0Tx1y8SOhr9kHqTUmJ/6i9wq+kOsNrXXW14vk hCWX/x55ooPwEwwy19yZLYmbLoltNZhuRbQlH/ZM+VNL4XEgybb/00kGcdlA2i6UpE0q xl7wDV018M7FIcI9beExQgKHVoLOfXNj2p/kgXj9TFBReD7qpmdxjPGdKfICANpKD9KE RkvkBGndBJ0/h/2RFzKTpT+mWE13sueNMWedRhkMssc0Q+YryJNJa6wyHx3aEnbuLpgo r0StC0SqOAf+CDeM6ynODDjAkQMawSWzq5jcnMWETe/6eWfyO4FiaBhJSKJbKxDSRLD5 BhwQ== X-Gm-Message-State: AOAM531I10Y243RK1lz/OZcJTsq9eOVHAMcFZG8PiYBbHaRbk5968b4X myx3eRSjRVdm/CHGStRo+6bKCoQyseaMmA== X-Received: by 2002:a05:6808:1491:b0:2da:7f75:8dec with SMTP id e17-20020a056808149100b002da7f758decmr885125oiw.275.1648672149631; Wed, 30 Mar 2022 13:29:09 -0700 (PDT) Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com. [209.85.167.182]) by smtp.gmail.com with ESMTPSA id y7-20020a4a6247000000b00324e9bf46adsm6367958oog.41.2022.03.30.13.29.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 30 Mar 2022 13:29:07 -0700 (PDT) Received: by mail-oi1-f182.google.com with SMTP id e4so23243645oif.2 for ; Wed, 30 Mar 2022 13:29:07 -0700 (PDT) X-Received: by 2002:aca:5e84:0:b0:2ec:9c1d:fc77 with SMTP id s126-20020aca5e84000000b002ec9c1dfc77mr886786oib.291.1648672146590; Wed, 30 Mar 2022 13:29:06 -0700 (PDT) MIME-Version: 1.0 References: <20220318185139.v2.1.I484f4ee35609f78b932bd50feed639c29e64997e@changeid> In-Reply-To: From: Brian Norris Date: Wed, 30 Mar 2022 13:28:55 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] mmc: core: Set HS clock speed before sending HS CMD13 To: Ulf Hansson Cc: Douglas Anderson , Adrian Hunter , linux-mmc@vger.kernel.org, Linux Kernel , Shawn Lin , Heiner Kallweit Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 Thu, Mar 24, 2022 at 5:13 AM Ulf Hansson wrote: > On Sat, 19 Mar 2022 at 02:52, Brian Norris wrote: > > @@ -1482,6 +1487,12 @@ static int mmc_select_hs200(struct mmc_card *card) > > old_timing = host->ios.timing; > > mmc_set_timing(host, MMC_TIMING_MMC_HS200); > > > > + /* > > + * Bump to HS200 frequency. Some cards don't handle SEND_STATUS > > + * reliably at the initial frequency. > > + */ > > + mmc_set_clock(host, card->ext_csd.hs200_max_dtr); > > + > > If the mmc_switch_status() fails with -EBADMSG, we should probably > restore the clock to its previous value. Otherwise I think we could > potentially break the fallback implemented in 3b6c472822f8 ("mmc: > core: Improve fallback to speed modes if eMMC HS200 fails") OK, done for v3. > Moreover, this change means that we will be calling > mmc_set_bus_speed() from mmc_select_timing(), to actually set the same > HS200 clock rate again. That is unnecessary, can we please avoid that > in some way. There's not a super clean way to track which paths pre-bumped the frequency, especially once you account for host->f_max (as mmc_set_clock() does). I've chosen to teach mmc_set_clock() how to return early if the clock change is redundant. Brian