Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3902709ybz; Mon, 4 May 2020 11:49:56 -0700 (PDT) X-Google-Smtp-Source: APiQypL4jDdwFcWGynRPFtoGy1Oprt9mdzemZfrKYE2zxYbvaPFdeAdh5YWtKF0Gz20KOQtmreQ2 X-Received: by 2002:a17:906:5e50:: with SMTP id b16mr16786827eju.331.1588618195897; Mon, 04 May 2020 11:49:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588618195; cv=none; d=google.com; s=arc-20160816; b=LjMMB0kkVRP0nm0huHxuelAXKwEngmAeElk0ujTwdDw2oxsVzF1jM4uY5crBXcYLZp WEUdwev4oMz6tBA1PAFZUmUQ/bRKVhM/21aM/eDDcvu8nxAUnMaDPDB4BfJh9zYIk7nY CvX/OI9DbrKweeQlC+lusCcrj14jDO4OMG9b1nCW7O3YnEo2jqRFJO+kL5AcK3EfU68q RnLkd9vNUid6awqMgN802UTUsRK72M/QkqXJ7DVqCPUYHwfE/xTxzNjBAtWAwG7/JvP7 p+HHfbB907cCEjnV3vEl2bd4xPnH4iXAY1DswZiCqFpZzQqMafPcHm4w0vV8wbbYMOBM d1gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tA65RtpJQIttkluROLigWJ4DLH2d5mOheyFheDd1v3k=; b=vdFLt2BwBkKfvHyAcJDDdwjSax4qus2v5B/WGoknajagowsXahEHNxfZ9W5P5XwnU2 9fdJOZsC5yQU6rQ3coytktahVnuCdDXQgT8Uj6CENRijcUuJ+rJzSKSdlqHJ8Fv3YwHz uRCCqAiKJbD4J1A2HoeNSODo9J1OKv3jMXYWLbaHzJ5lSiLkiceezjzzfXL2b4qtMiBK YwHSy3HcaeUFWgJimNHznSmK0a8Ft0QbuoSyvGHSIi1r18+xYB6bS4G911iHV/vdr/ow L+oU8R40cohDCnWjthphAtSFjFwq9UG6JmbnZ14vVVLw2LXXk+epNIkvdsCh3MShjxOz r62g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iGn8zbbQ; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v2si6789864edx.112.2020.05.04.11.49.32; Mon, 04 May 2020 11:49:55 -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=@kernel.org header.s=default header.b=iGn8zbbQ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731865AbgEDSFf (ORCPT + 99 others); Mon, 4 May 2020 14:05:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:35326 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731828AbgEDSF3 (ORCPT ); Mon, 4 May 2020 14:05:29 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5B9E32073B; Mon, 4 May 2020 18:05:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588615528; bh=e6ccMfhxtpK7sTocC+QkoGt/nt9t13JWpEXbmbDlFks=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iGn8zbbQPuPompI2z1VhB6esQZB1bBMRIEJQkSy2gspx3Cq8z9Bpo7Sr2rcr2ScyH Z1wBD3sY5R1fm8/stRr77cN7VZLF2pO8le9NhYN6OSyhrcbIIwbe/d2PCwsfI3ITU1 RQbRRSHE3D9Oxr619aUchPfTw+RPcX2t9i7ggpdA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Adrian Hunter , Ulf Hansson Subject: [PATCH 5.6 18/73] mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers Date: Mon, 4 May 2020 19:57:21 +0200 Message-Id: <20200504165505.189933665@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200504165501.781878940@linuxfoundation.org> References: <20200504165501.781878940@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Adrian Hunter commit 1a8eb6b373c2af6533c13d1ea11f504e5010ed9a upstream. BIOS writers have begun the practice of setting 40 ohm eMMC driver strength even though the eMMC may not support it, on the assumption that the kernel will validate the value against the eMMC (Extended CSD DRIVER_STRENGTH [offset 197]) and revert to the default 50 ohm value if 40 ohm is invalid. This is done to avoid changing the value for different boards. Putting aside the merits of this approach, it is clear the eMMC's mask of supported driver strengths is more reliable than the value provided by BIOS. Add validation accordingly. Signed-off-by: Adrian Hunter Fixes: 51ced59cc02e ("mmc: sdhci-pci: Use ACPI DSM to get driver strength for some Intel devices") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200422111629.4899-1-adrian.hunter@intel.com Signed-off-by: Ulf Hansson Signed-off-by: Greg Kroah-Hartman --- drivers/mmc/host/sdhci-pci-core.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/mmc/host/sdhci-pci-core.c +++ b/drivers/mmc/host/sdhci-pci-core.c @@ -601,6 +601,9 @@ static int intel_select_drive_strength(s struct sdhci_pci_slot *slot = sdhci_priv(host); struct intel_host *intel_host = sdhci_pci_priv(slot); + if (!(mmc_driver_type_mask(intel_host->drv_strength) & card_drv)) + return 0; + return intel_host->drv_strength; }