Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp365903pxv; Wed, 30 Jun 2021 07:23:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzH90NTRfBEjEh2pmHdsAMeFebrlStdXWKT809d84Vel8KeTri7YhkWpNY98U1YKkM5U/7V X-Received: by 2002:a05:6638:3726:: with SMTP id k38mr9153443jav.140.1625063009547; Wed, 30 Jun 2021 07:23:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625063009; cv=none; d=google.com; s=arc-20160816; b=PgUYvcjibzqxtcB9RYPBDo1YTGPmUKIPHbpJMCZHeLtAp8fZrNgTsTWNtCjZGICZDA SVNFH3xEJ8ZgX1uNFcj+ANAw/EW6tYeGNGlMgDB7Qjxj5khRbs4m/RitcuUBXCv3TqIe Sosah3nSBTz5O8LbrISNQmRbeeNSIC6n1ScRzm0YwiB67SkRHBHM1cw5OUK0fowHPqS+ O9z/knmK6JhsYT+E2Vz2XGkey6pkl5quLAy0+TU4ZXpoXlwmcTDJaRmha9SI4M4jq53i ND1d2LXzFEg5JnTEE6rLN6Zx8AOhXCC3tKqQ9m9dwP6RvUpxXJDfggnZrvIArrGRftt9 U0aA== 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=ul+xfgqMRCF8BIHYL3fuS5RV/KFPrPSsd3KoauRtG+E=; b=ghPXthWzFfkrd3eEc9l68DbkUZtv7mx1rQkUtyyUO4QfQrD6YhYb70KVYLWUQba/4l mVvaY7hxc4/OszrteasC+w2E6RxIb/H4vUBtLyRosuDjATXqu+6eEyF7RLB7DACUQvwf y2flfUQ385bcsThDqOg+qQdDWpnExAyHKXqWKDBPcIv6X45/CU8vT6CMwHnmq/k15Jf0 IzpiV+tMtArOCnbUwzFJ/x4wi2XFfmy9MaW8Zmbkwx1kivflijpL6sjjx+5Mc6ENgTcT e/O20KlKxvp1RNieKONmX4WcIsgF7Ph53g7ZfH6QDz/PNp74ua5DRmOthoFKWUFtBsn9 KzRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="g1/Yz7J7"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f21si21705937jav.53.2021.06.30.07.23.13; Wed, 30 Jun 2021 07:23:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="g1/Yz7J7"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S235216AbhF3OXg (ORCPT + 99 others); Wed, 30 Jun 2021 10:23:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235141AbhF3OXd (ORCPT ); Wed, 30 Jun 2021 10:23:33 -0400 Received: from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com [IPv6:2607:f8b0:4864:20::e33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF099C061756 for ; Wed, 30 Jun 2021 07:21:03 -0700 (PDT) Received: by mail-vs1-xe33.google.com with SMTP id x12so1778607vsp.4 for ; Wed, 30 Jun 2021 07:21:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ul+xfgqMRCF8BIHYL3fuS5RV/KFPrPSsd3KoauRtG+E=; b=g1/Yz7J7EbTwoG2FKUYTMNDjHw+J0zuJngzLKCwBAi92YOaR1H/rH1Aimab0guY8m9 HL/RTgwaI2Pnx4QodfDqzcVF+2fVtDzDjgzxvrWp43H85z8lJcKW4y0ZAJujo4vS844T kNdioF3dVQG6vf2b+LRTRYXBY6PtwEEjEs0UjWFreSepzJaqTWsDKGrZq0rRq8OspE7M 34m4qoTX3DwPYz3H9ab6koTkroo3lby4TQi3BmjealppKuiQrgn1P9pAlFhN5dgo0KPX vFVDgL04i/qvHMuCRfwbhiArPVr37rvlk4i2Hi3CrR9v2MdhEQH6F9jJFOQJ5nDLSyot iJog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ul+xfgqMRCF8BIHYL3fuS5RV/KFPrPSsd3KoauRtG+E=; b=TKJDyFypj6Bs3GEe3QEJsd8XKGOON6b+cWJmtftaCmEFGvJlsD0cNEIVN+v9R5WoUn XbqlXSxcXbsYWk4IE7j6EtDDYuaVOmRR45nGbbOtlQmBB8pu1hqvZRRtflLFfensaENs lK8NN7HjpHCVlN38rDBP5qTd3Bivx/3iFTtCopAV+HnbRVHUI0uEXdc385jfdO0tGciz Jf7eS1sDmMPhy1sYJeQbhOAQr4wLojdEALPGWksO9o9tugXDmyOp07ik1MoeD2YYI+K1 RGhDxPrKrmUZyIzp/n/GyIzL/BL56KJ6vVfad70VznWUShse/eaiPVq5tWLCYbj01izh XiJQ== X-Gm-Message-State: AOAM533bbcLD5wCN/xcCBlksn2crpSYCq7bel0u1F/GqBdhPnPNj9/Uf cofPxrGvIaX8uAL6I1E9jcUMRIYkXPb+utICLEhBzw== X-Received: by 2002:a67:8783:: with SMTP id j125mr7711177vsd.42.1625062863038; Wed, 30 Jun 2021 07:21:03 -0700 (PDT) MIME-Version: 1.0 References: <20210624163045.33651-1-alcooperx@gmail.com> In-Reply-To: <20210624163045.33651-1-alcooperx@gmail.com> From: Ulf Hansson Date: Wed, 30 Jun 2021 16:20:26 +0200 Message-ID: Subject: Re: [PATCH] mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode To: Al Cooper Cc: Linux Kernel Mailing List , Adrian Hunter , linux-mmc Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 24 Jun 2021 at 18:31, Al Cooper wrote: > > When an eMMC device is being run in HS400 mode, any access to the > RPMB device will cause the error message "mmc1: Invalid UHS-I mode > selected". This happens as a result of tuning being disabled before > RPMB access and then re-enabled after the RPMB access is complete. > When tuning is re-enabled, the system has to switch from HS400 > to HS200 to do the tuning and then back to HS400. As part of > sequence to switch from HS400 to HS200 the system is temporarily > put into HS mode. When switching to HS mode, sdhci_get_preset_value() > is called and does not have support for HS mode and prints the warning > message and returns the preset for SDR12. The fix is to add support > for MMC and SD HS modes to sdhci_get_preset_value(). > > This can be reproduced on any system running eMMC in HS400 mode > (not HS400ES) by using the "mmc" utility to run the following > command: "mmc rpmb read-counter /dev/mmcblk0rpmb". > > Signed-off-by: Al Cooper I assume we want this for stable kernels, but it would be nice to add a fixes tag as well. Do you know if there is a specific commit that this fixes? Kind regards Uffe > --- > drivers/mmc/host/sdhci.c | 4 ++++ > drivers/mmc/host/sdhci.h | 1 + > 2 files changed, 5 insertions(+) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index bf238ade1602..6b39126fbf06 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -1812,6 +1812,10 @@ static u16 sdhci_get_preset_value(struct sdhci_host *host) > u16 preset = 0; > > switch (host->timing) { > + case MMC_TIMING_MMC_HS: > + case MMC_TIMING_SD_HS: > + preset = sdhci_readw(host, SDHCI_PRESET_FOR_HIGH_SPEED); > + break; > case MMC_TIMING_UHS_SDR12: > preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR12); > break; > diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h > index 0770c036e2ff..960fed78529e 100644 > --- a/drivers/mmc/host/sdhci.h > +++ b/drivers/mmc/host/sdhci.h > @@ -253,6 +253,7 @@ > > /* 60-FB reserved */ > > +#define SDHCI_PRESET_FOR_HIGH_SPEED 0x64 > #define SDHCI_PRESET_FOR_SDR12 0x66 > #define SDHCI_PRESET_FOR_SDR25 0x68 > #define SDHCI_PRESET_FOR_SDR50 0x6A > > base-commit: 7426cedc7dad67bf3c71ea6cc29ab7822e1a453f > -- > 2.17.1 >