Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1012663yba; Thu, 4 Apr 2019 02:24:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2MPFxFimPwzb27DMK5JuOGtRreUaqshTEHREJqPl+2+RUm1IEQgpkB0gDc7HZhjjE7/th X-Received: by 2002:a17:902:b191:: with SMTP id s17mr5136026plr.70.1554369889767; Thu, 04 Apr 2019 02:24:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554369889; cv=none; d=google.com; s=arc-20160816; b=h82zU+OwI4ObdGU1QYcDPj8PBhUTVfNBnW4oan6etWHdMn6edaCwdUUTnPlsCqlf60 L6NKodntE6fQNBsxGOaaApNVF65US2TB/k0cQN6vysU/UT2Yvq/JMiXpzMq6/X78WzXZ kVavLLweLUYmVOsZNvtw0YxSYI3ff9AVALMBTalu6YBjuTX9g65zccUxmZlxIf0ICV6A ESJhY8xb8Zv0YGuQtMT+7qAgk4SduR4R0WGU8/tz4oYd94C3RC0j6SGmz7p7EQZKT1PT gdWOXW0y1SaMnlzqDecDTIp3j69kVtd7/dyEDtVD+MBNfspM4Mm/28lt5j9ifRlivG8I wzBg== 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=HY2pZkFpbpXdNAyy2EnodjRVWNfIG9OpKuvfnID0UJs=; b=HdDtKX69NdOZSWkeq5nfIHbosk+UzK8G8mQC1+KAe8hbDRIvzTSM5KcPlKrvgwXWdK MYIeFh1bNu9iz0Jr8I+WYaif64V8PRQodDVVt91Y2TMXvRVoUX5UTkvVXVamSRearnLe C6By/br06p9/ZT1ZWBbqJD5JKyjwwo2ns2FPBdcDoch74YEYVRyHCFJdpije+TkWUIum 1hNQno/Eae8yuBDKfhrLP6V/t9mHdWuT6bKvGLqA5c5lLlc/1/t65wfBg/HJcVY03uiT y3r4W22d7MjJaRHhZ6Sm/Kj69geLR5/N7+n26D3Yvp1HI8nGDMiGhaDJ6oiRGMul0bTI De3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="c//55zZX"; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b10si3273089plb.401.2019.04.04.02.24.34; Thu, 04 Apr 2019 02:24:49 -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=@kernel.org header.s=default header.b="c//55zZX"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387789AbfDDJO4 (ORCPT + 99 others); Thu, 4 Apr 2019 05:14:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:55718 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387784AbfDDJOx (ORCPT ); Thu, 4 Apr 2019 05:14:53 -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 8451B2075E; Thu, 4 Apr 2019 09:14:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554369293; bh=gYvYK6UqTc0aP9TRdXOZXHI4t8jWtfIAWj3141aULMg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c//55zZX7OIJrJtD4qwhw94q8Pj+KnlmX59TkW3cYrFtXMcXJo92uOKb1QtvS44D8 ROYNtFQYS8W4XF3Yva2z04Tlq3TK8zqG8diahqel4GCyZaz0bThbaf56BUjpRha8vP 7zrkLAQZn10kaP1lwP956jKUoHdf6Ad9i2C/axiI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "David E. Box" , Srinivas Pandruvada , Rajneesh Bhardwaj , Andy Shevchenko , Sasha Levin Subject: [PATCH 5.0 169/246] platform/x86: intel_pmc_core: Fix PCH IP sts reading Date: Thu, 4 Apr 2019 10:47:49 +0200 Message-Id: <20190404084625.092931046@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190404084619.236418459@linuxfoundation.org> References: <20190404084619.236418459@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 0e68eeea9894feeba2edf7ec63e4551b87f39621 ] A previous commit "platform/x86: intel_pmc_core: Make the driver PCH family agnostic " provided better abstraction to this driver but has some fundamental issues. e.g. the following condition for (index = 0; index < pmcdev->map->ppfear_buckets && index < PPFEAR_MAX_NUM_ENTRIES; index++, iter++) is wrong because for CNL, PPFEAR_MAX_NUM_ENTRIES is hardcoded as 5 which is _wrong_ and even though ppfear_buckets is 8, the loop fails to read all eight registers needed for CNL PCH i.e. PPFEAR0 and PPFEAR1. This patch refactors the pfear show logic to correctly read PCH IP power gating status for Cannonlake and beyond. Cc: "David E. Box" Cc: Srinivas Pandruvada Fixes: c977b98bbef5 ("platform/x86: intel_pmc_core: Make the driver PCH family agnostic") Signed-off-by: Rajneesh Bhardwaj Signed-off-by: Andy Shevchenko Signed-off-by: Sasha Levin --- drivers/platform/x86/intel_pmc_core.c | 3 ++- drivers/platform/x86/intel_pmc_core.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/intel_pmc_core.c b/drivers/platform/x86/intel_pmc_core.c index 22dbf115782e..c37e74ee609d 100644 --- a/drivers/platform/x86/intel_pmc_core.c +++ b/drivers/platform/x86/intel_pmc_core.c @@ -380,7 +380,8 @@ static int pmc_core_ppfear_show(struct seq_file *s, void *unused) index < PPFEAR_MAX_NUM_ENTRIES; index++, iter++) pf_regs[index] = pmc_core_reg_read_byte(pmcdev, iter); - for (index = 0; map[index].name; index++) + for (index = 0; map[index].name && + index < pmcdev->map->ppfear_buckets * 8; index++) pmc_core_display_map(s, index, pf_regs[index / 8], map); return 0; diff --git a/drivers/platform/x86/intel_pmc_core.h b/drivers/platform/x86/intel_pmc_core.h index 89554cba5758..1a0104d2cbf0 100644 --- a/drivers/platform/x86/intel_pmc_core.h +++ b/drivers/platform/x86/intel_pmc_core.h @@ -32,7 +32,7 @@ #define SPT_PMC_SLP_S0_RES_COUNTER_STEP 0x64 #define PMC_BASE_ADDR_MASK ~(SPT_PMC_MMIO_REG_LEN - 1) #define MTPMC_MASK 0xffff0000 -#define PPFEAR_MAX_NUM_ENTRIES 5 +#define PPFEAR_MAX_NUM_ENTRIES 12 #define SPT_PPFEAR_NUM_ENTRIES 5 #define SPT_PMC_READ_DISABLE_BIT 0x16 #define SPT_PMC_MSG_FULL_STS_BIT 0x18 -- 2.19.1