Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3756752pxv; Mon, 19 Jul 2021 08:04:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwMeWqN87bLqWkVv1bUutZGwZ/13MLsXe9es3EdNu6tIoDxjKueOJzEvvm+Rvp9rIYhdtW X-Received: by 2002:a05:6638:418f:: with SMTP id az15mr20638717jab.8.1626707048912; Mon, 19 Jul 2021 08:04:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626707048; cv=none; d=google.com; s=arc-20160816; b=U/3PTz+amEFIbEDVe4sPB910b0FbSspkzQ4P8BIf1dS/eZ20y0MLFT8VovjbOwEkQ/ dmvRDUWq0NJNcaVcDT+Co3PBpj279rYWwie1JybtmJNn6ItTbJj0IHOz3zqC8A25F7j7 c8tqvoo1APWH5mSggL/dMseE5EaiVobTWYdh4Jy6pqwsr6bDjIn3CP7c1RSnpBjsbsvJ Xw7qZ70l68hYy/WC2wuF0jYUUyEGznmXOa/jdiJKD6wCb6tvWLq0Grj851Wg+G4ECEDO 8dIoP/1gNc4Ssxwr9R/jQn4pqqsH8TwRugBQSAA25aLueNhRJY1ykW/kHcOBga24T11E v6Qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=apz3T812yV7Hk5M+E7qWDgGMmh3M+HlmZdhp7uk/C/k=; b=pgiI1x2DiIwP7ptNubRydY78VhDJ6WwWrl6IViERAsqFt5oWzQxzTwByVZaVQlT1nb mFqIxU6E3RHzM1VKspUsntJ6yX8Vxo7k0F0uq9YiPilIZQCvP06rFGnqx7vVoOD+Kgu+ vuZN/nfA9sxfh09/QHmsCUOGlORrJAzRMgyCpIbnJKZwTX1s2Bw+Oh18s9J1HmdcsUde xG5gGpdy7liTxOWvA16gv4f4aqKS5v+2ez0M8CwKgmSvykKjHNiJbOcK8Z+M2bHuzrbr WVULuqP5ErHIvQkZ2f/Z8r6hDQVTLZ0TxpLBTrHwUSb/avufOc66iXVTmG5ZZZPhGRcZ OESA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=g9fHOmOE; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n24si18917626ioz.5.2021.07.19.08.03.36; Mon, 19 Jul 2021 08:04:08 -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=@linuxfoundation.org header.s=korg header.b=g9fHOmOE; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242894AbhGSOW0 (ORCPT + 99 others); Mon, 19 Jul 2021 10:22:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:55876 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242104AbhGSOUY (ORCPT ); Mon, 19 Jul 2021 10:20:24 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D1D4C6128A; Mon, 19 Jul 2021 15:00:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626706855; bh=XULeIKO58KM06kqQ/XPeBJWpa8SchSLl8yxE/fnaWqw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g9fHOmOEJnG1Ybz24yBjs0YeTvoqKIMKAeJ1Vx5VDj36lXw2sIp21VvUvZ2JhzmL9 clwxn05W/lsWHmuUOa990Obb1S9F/jFxjTx6/Te9CdxAkUHCQzGg+xbE0JUxnt1nCh pr9FJpJSGLUubDF3oELs3og6E1d8S75rNkrJrSaU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Al Cooper , Adrian Hunter , Ulf Hansson Subject: [PATCH 4.4 128/188] mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode Date: Mon, 19 Jul 2021 16:51:52 +0200 Message-Id: <20210719144940.681641460@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144913.076563739@linuxfoundation.org> References: <20210719144913.076563739@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Al Cooper commit d0244847f9fc5e20df8b7483c8a4717fe0432d38 upstream. 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 Acked-by: Adrian Hunter Fixes: 52983382c74f ("mmc: sdhci: enhance preset value function") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20210624163045.33651-1-alcooperx@gmail.com Signed-off-by: Ulf Hansson Signed-off-by: Greg Kroah-Hartman --- drivers/mmc/host/sdhci.c | 4 ++++ drivers/mmc/host/sdhci.h | 1 + 2 files changed, 5 insertions(+) --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1134,6 +1134,10 @@ static u16 sdhci_get_preset_value(struct 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; --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -232,6 +232,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