Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp4744979ybp; Mon, 14 Oct 2019 09:21:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqwqb0lZ5BzYPNZeQJhKnNF7tJfdHcQ3iO4am3R+m1BITH+SJmr8gOH9wgYY7Ebd2twz0nSU X-Received: by 2002:a50:8f03:: with SMTP id 3mr29950320edy.195.1571070086865; Mon, 14 Oct 2019 09:21:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571070086; cv=none; d=google.com; s=arc-20160816; b=wZu/axiSf8ElQXhRZmlqFN9espuThs8hNoX25ACfyEEh6Wvv8BPCVYi6+LgHJj0dQZ IB14lz3Qf59/B/QCXoYp7oG/CljnjwVai0yxFLiWhhOfRP3TTcnmoZYhg2u1RFfLzpVP B5F7LVoRSD89CueKKKd26oRHYwvzzMdwpZhlwAWCk63jsp3MwXWGbo5gp7gUIdPryDd4 RdQb41O45qmWmE1oiw5nUtumqPHtfs6htJjDox9DhcRwDUWvwcJZaXRLPFTPNfgmzEy2 xbYUjhF8S0l+dahXJg3BrYz7PvCBsywqO183hrJ+ECuc2G3bq1nf4pfNH1A4fIaLD6MC zyiA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/yjgZhJlzmYmxj7+A0FInNB+01Y4Ffyd19ePmcPESes=; b=PxPJ5UNSIYAP8R3hs1Z7nImSkPiv1IRKlKAsiSFnvkrdqnLm0nWG71Q888zVZ1oGvN 2XuSlMYSSG/CTlaOK0Cm3kX8sathsgtNzZL1X27WnL8skI4+1qVGyYmL00r22YhlfLt/ Ec6Mxep+P8371zH+QwkxHxbw1uyHYV/ibMuQK88mKV4II5qp07dPVqGHs2aPESCxZEYn /EIZA3fMYE+Zqpx5eTjbgyahJ5dgGZS7i2ev8qpafvmWv9aJrLGGv8s0FMGcuhlqUMOG TpR6Wu3eABNUiSeFVxVpteuYWZWkJYJdB+hiFhUf/+pnzOT5/qVnf4xut9FO7fiNdkqC nhGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=CVyG1ovb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b42si12111462edb.11.2019.10.14.09.21.03; Mon, 14 Oct 2019 09:21:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=CVyG1ovb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731079AbfJNPgZ (ORCPT + 99 others); Mon, 14 Oct 2019 11:36:25 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:40164 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730828AbfJNPgY (ORCPT ); Mon, 14 Oct 2019 11:36:24 -0400 Received: by mail-pf1-f196.google.com with SMTP id x127so10600384pfb.7 for ; Mon, 14 Oct 2019 08:36:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/yjgZhJlzmYmxj7+A0FInNB+01Y4Ffyd19ePmcPESes=; b=CVyG1ovbA8RGQ16T8ML7L8LxbGahjwShjcdQlTH3lmTzTAJ0nwEn02/iyJpBhuIa40 QSMgqet7U40/IYTyqdpf2v8oonnIGq+4pYocfb2XiIC/XjHbzlxnUqmuH7+2PzjEHh4H mlecS7R/xoy4e5pJd6IniOpI2cI9PP4FIlnHzpIop4Q1ix+Q6Z6ybDk/BESizhnPWHJ8 E3sbjbz08X+suDdzP+K5z3VHMarROko3ztjrl4EVjlkmBXEP0i+qZ/S3f1+N/k8puu8H PjKRiHVumJRCTerVRRTpxzRGW5nJliDpIHPEUOZHxMSjeyG60K3yktU9U8kpwavBuSEo rIeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/yjgZhJlzmYmxj7+A0FInNB+01Y4Ffyd19ePmcPESes=; b=jBK+XfeNVCMpdKL+zIpP7wP9WU/k8ZlemUKNVc5cLvFnBC/S3X1jTtHqyFRQATzcQi 2UZG3N+coGe24f/B3nEusd/Ce36j9ByJGrgns0vgxiKDObNW0YkQw2SrDH3W6S/OseRT bmYVmD2KMHHb0vHEhvakNXcFDXHO29E0y3w7RahDOErTtwcfStKNApDUrc772/TRP5eG vHY+wrCLOcGE9xk4pDUsyrrUqAoThonMp5mPEIgKoHdF/58fydNXAjEKv2BF2NCugSyt z2q/0CpzXw8SfgUemQF4+8+r3sdoOpLtOqti2wwGhLDHzCyyliJtzRWih5itP2Jsy0dR eOeQ== X-Gm-Message-State: APjAAAXH4qCV8n9HvX1gvZZxZnr+VPw7LTtPHQiPm6v0Dh/EClytWEiJ /9HDNu7i2/rvziGMu/FAuj8= X-Received: by 2002:a17:90a:6302:: with SMTP id e2mr36003590pjj.20.1571067382494; Mon, 14 Oct 2019 08:36:22 -0700 (PDT) Received: from localhost.localdomain (155-97-232-235.usahousing.utah.edu. [155.97.232.235]) by smtp.googlemail.com with ESMTPSA id q76sm41142648pfc.86.2019.10.14.08.36.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Oct 2019 08:36:22 -0700 (PDT) From: Tuowen Zhao To: lee.jones@linaro.org, linux-kernel@vger.kernel.org Cc: Tuowen Zhao , AceLan Kao , Mika Westerberg , Andy Shevchenko Subject: [PATCH v4 2/2] mfd: intel-lpss: use devm_ioremap_uc for MMIO Date: Mon, 14 Oct 2019 09:33:44 -0600 Message-Id: <20191014153344.8996-2-ztuowen@gmail.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191014153344.8996-1-ztuowen@gmail.com> References: <20191014153344.8996-1-ztuowen@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci in MTRR. This will cause the system to hang during boot. If possible, this bug could be corrected with a firmware update. This patch use devm_ioremap_uc to overwrite/ignore the MTRR settings by forcing the use of strongly uncachable pages for intel-lpss. The BIOS bug is present on Dell XPS 13 7390 2-in-1: [ 0.001734] 5 base 4000000000 mask 6000000000 write-combining 4000000000-7fffffffff : PCI Bus 0000:00 4000000000-400fffffff : 0000:00:02.0 (i915) 4010000000-4010000fff : 0000:00:15.0 (intel-lpss-pci) Link: https://bugzilla.kernel.org/show_bug.cgi?id=203485 Cc: Tested-by: AceLan Kao Signed-off-by: Tuowen Zhao Acked-by: Mika Westerberg Acked-by: Andy Shevchenko Acked-for-MFD-by: Lee Jones --- drivers/mfd/intel-lpss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c index bfe4ff337581..b0f0781a6b9c 100644 --- a/drivers/mfd/intel-lpss.c +++ b/drivers/mfd/intel-lpss.c @@ -384,7 +384,7 @@ int intel_lpss_probe(struct device *dev, if (!lpss) return -ENOMEM; - lpss->priv = devm_ioremap(dev, info->mem->start + LPSS_PRIV_OFFSET, + lpss->priv = devm_ioremap_uc(dev, info->mem->start + LPSS_PRIV_OFFSET, LPSS_PRIV_SIZE); if (!lpss->priv) return -ENOMEM; -- 2.23.0