Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp453055lqt; Fri, 19 Apr 2024 00:11:21 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXnUMwg4MbQC0IslbPh24lR9VwwGh7A3hw5c0KYzuosv05tdA83e0NVxkaGQLayabVcSdVLwrZvgjPJ0F3d/xq1TBkHPGHav0LaY8Bi7w== X-Google-Smtp-Source: AGHT+IF3DhNcRRnWC+rJ5v+JD2u6EFf4SPkm9ZZcrrnc9fp6CEv47VE1v28S6cp495tDaEF1Xhox X-Received: by 2002:a17:902:e5cd:b0:1e4:320b:4311 with SMTP id u13-20020a170902e5cd00b001e4320b4311mr7342497plf.34.1713510680701; Fri, 19 Apr 2024 00:11:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713510680; cv=pass; d=google.com; s=arc-20160816; b=0juQFNAvs0Mnz4Emi3zuCV4Bt0iiM6ZMVLuE7ujYqY3MIz9jPdzb8pU+OQXEXH9CAq 4mHgo6SiDGZxxBKVt3LNBQapXEpj5TUn2V0+Cm32IfX090osdo4xgy+NcrDE3sMWM4Af D3ZtPa8qcdop18bgW4EDKf26jxiPYtcNIkxnFXo9dLmEjHi+sD3vyNYmAmveGby4eAv6 j69MNyLwAtL8AyHptDqs+asRlWLsdcAdERWyiO7JQWfM1gNv5S1amm+dZCrzCShEnyTP U4zxRCNJAM6pwIE0a/hgG8e/kvo+bxHVLgez6gmQnsvtsHOIpUZOHRSUGKzJqiVg4TpO I63g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=rSgLQYNnW2W3wwj9POZIDFFGZNoQmgQfa2ThRwAP7ww=; fh=ASj+iXQT8YJRKnyTU0Qp5r9NxL1O8n4RVnT9CeV3i1U=; b=U+QyB4BnYm5KsaH32/Q1zp/chK3KR7dHLkcz+811rVls1wXjNNMCjWFIn1q5tNkgxa Wda4x4C8RSX0/67VxjiIjmxRcNFH/V0ePiL1FBkRxYOYTYLxmFUFWnLg0nu3XwUHg90v RxeH8fd63/CK+zg54+xiRoni54cN8/V0Vsma4NMKaFsjxSKO8iPDN9ytTmW8pANZAqzT piGOZPpukaL/CbYtsZMwXbKG4XmI4OOKHoEdGKc5rgOuSleqv/bilo3V+7auGD6DYQtG ZgoyWMI2nWu9ilVgoKlZFApyGOS1hUGOptYHq3/oL13dFVgn76UQftK+LgeEtn4/wI4+ QaQQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LRiOizix; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-151087-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151087-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id f37-20020a631f25000000b005dc84ba3c3asi2748229pgf.287.2024.04.19.00.11.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Apr 2024 00:11:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-151087-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LRiOizix; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-151087-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-151087-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4DD562828C4 for ; Fri, 19 Apr 2024 07:11:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D25363EA71; Fri, 19 Apr 2024 07:10:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="LRiOizix" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 736104E1AD; Fri, 19 Apr 2024 07:10:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713510645; cv=none; b=IncwLY2AnvQw9EI4zaHXig5x773yjDxRPPEy/YuHxFuW+RaINxQtWxZCl8eAvVxHKjqKNgcLogIi1+j+sTGfB8SL9q0pXFGcKqgWWVVoP4lAuSCuJrHBZfV+2xcLxSsL34iFRmknuSmFBWShGqi59ME3rx1Df7EkUzSjcK/uAFo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713510645; c=relaxed/simple; bh=/Q6Sp/a/VCj1FwCXRbrJ9YkgBf+bahR7pz6KrJ/M7yc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CxuppBTt4YQI5vzqE74suwNU1eDg3cCH9ZFcsoCU2X6L2biTwjOrH/ReKiBDV/3FjGYefKjCI3jOeRAfr1AOheWOFSBfX/unLEgGYLre5srVIhKaMdcvBEFQQS6HKdpfK1qqtDMZCVJQB74pntj/FUfbqTHxAhFojj334Fvm/XI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=LRiOizix; arc=none smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713510644; x=1745046644; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/Q6Sp/a/VCj1FwCXRbrJ9YkgBf+bahR7pz6KrJ/M7yc=; b=LRiOizix4dTfTdU3rY8+optSs3lI5F3TpgxkPUohMo5jcOVsj0w3d04V 7uFcu6t81L7BjXjDzOuWt7qP70KslMSxaNGZyV4n0p9MLP7Mp9XVc4C1o DNmxvi0YV7PMgSCySHUvECn87RUxqK/GoPhKmLQ5ooqp3bY421AthGJeG 5uDGskWTR1qZAczWSXJKYH8HEQdisiTK11tWiTCrzlSiBoztedbsO/SgR Z8NnGHEbkE84pu4uZOTqTXzsl5sz8NSc2UA/UkNgOitLwgkvqFflqjYrM gvLpAyXhVxZZTgHphTJR5T/glm63oBknbI1Y0L4rYUwcV/OhJ86qAAnny w==; X-CSE-ConnectionGUID: IiB4jHzyREGb015SkDtC3g== X-CSE-MsgGUID: mwg2a2z5RBe9LmjT/F1QEg== X-IronPort-AV: E=McAfee;i="6600,9927,11047"; a="26611872" X-IronPort-AV: E=Sophos;i="6.07,213,1708416000"; d="scan'208";a="26611872" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2024 00:10:39 -0700 X-CSE-ConnectionGUID: R+/zK1yUSz+oVcr+4R0z9A== X-CSE-MsgGUID: +xwrOkUhTbS/eh2N2Lr18g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,213,1708416000"; d="scan'208";a="54451894" Received: from lxia1-mobl2.ccr.corp.intel.com (HELO rzhang1-mobl7.ccr.corp.intel.com) ([10.254.214.225]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2024 00:10:35 -0700 From: Zhang Rui To: peterz@infradead.org Cc: mingo@redhat.com, tglx@linutronix.de, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, ak@linux.intel.com, kan.liang@linux.intel.com Subject: [PATCH 3/3] perf/x86/intel/cstate: Add Lunarlake support Date: Fri, 19 Apr 2024 15:10:19 +0800 Message-Id: <20240419071019.1103953-3-rui.zhang@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240419071019.1103953-1-rui.zhang@intel.com> References: <20240419071019.1103953-1-rui.zhang@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Compared with previous client platforms, PC8 is removed from Lunarlake. It supports CC1/CC6/CC7 and PC2/PC3/PC6/PC10 residency counters. Signed-off-by: Zhang Rui --- arch/x86/events/intel/cstate.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/arch/x86/events/intel/cstate.c b/arch/x86/events/intel/cstate.c index 22e8f2687349..2500a89fcb7c 100644 --- a/arch/x86/events/intel/cstate.c +++ b/arch/x86/events/intel/cstate.c @@ -41,7 +41,7 @@ * MSR_CORE_C1_RES: CORE C1 Residency Counter * perf code: 0x00 * Available model: SLM,AMT,GLM,CNL,ICX,TNT,ADL,RPL - * MTL,SRF,GRR,ARL + * MTL,SRF,GRR,ARL,LNL * Scope: Core (each processor core has a MSR) * MSR_CORE_C3_RESIDENCY: CORE C3 Residency Counter * perf code: 0x01 @@ -53,31 +53,31 @@ * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, * TGL,TNT,RKL,ADL,RPL,SPR,MTL,SRF, - * GRR,ARL + * GRR,ARL,LNL * Scope: Core * MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter * perf code: 0x03 * Available model: SNB,IVB,HSW,BDW,SKL,CNL,KBL,CML, - * ICL,TGL,RKL,ADL,RPL,MTL,ARL + * ICL,TGL,RKL,ADL,RPL,MTL,ARL,LNL * Scope: Core * MSR_PKG_C2_RESIDENCY: Package C2 Residency Counter. * perf code: 0x00 * Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM,CNL, * KBL,CML,ICL,ICX,TGL,TNT,RKL,ADL, - * RPL,SPR,MTL,ARL + * RPL,SPR,MTL,ARL,LNL * Scope: Package (physical package) * MSR_PKG_C3_RESIDENCY: Package C3 Residency Counter. * perf code: 0x01 * Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,KNL, * GLM,CNL,KBL,CML,ICL,TGL,TNT,RKL, - * ADL,RPL,MTL,ARL + * ADL,RPL,MTL,ARL,LNL * Scope: Package (physical package) * MSR_PKG_C6_RESIDENCY: Package C6 Residency Counter. * perf code: 0x02 * Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW, * SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX, * TGL,TNT,RKL,ADL,RPL,SPR,MTL,SRF, - * ARL + * ARL,LNL * Scope: Package (physical package) * MSR_PKG_C7_RESIDENCY: Package C7 Residency Counter. * perf code: 0x03 @@ -96,7 +96,7 @@ * MSR_PKG_C10_RESIDENCY: Package C10 Residency Counter. * perf code: 0x06 * Available model: HSW ULT,KBL,GLM,CNL,CML,ICL,TGL, - * TNT,RKL,ADL,RPL,MTL,ARL + * TNT,RKL,ADL,RPL,MTL,ARL,LNL * Scope: Package (physical package) * MSR_MODULE_C6_RES_MS: Module C6 Residency Counter. * perf code: 0x00 @@ -646,6 +646,17 @@ static const struct cstate_model adl_cstates __initconst = { BIT(PERF_CSTATE_PKG_C10_RES), }; +static const struct cstate_model lnl_cstates __initconst = { + .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | + BIT(PERF_CSTATE_CORE_C6_RES) | + BIT(PERF_CSTATE_CORE_C7_RES), + + .pkg_events = BIT(PERF_CSTATE_PKG_C2_RES) | + BIT(PERF_CSTATE_PKG_C3_RES) | + BIT(PERF_CSTATE_PKG_C6_RES) | + BIT(PERF_CSTATE_PKG_C10_RES), +}; + static const struct cstate_model slm_cstates __initconst = { .core_events = BIT(PERF_CSTATE_CORE_C1_RES) | BIT(PERF_CSTATE_CORE_C6_RES), @@ -768,6 +779,7 @@ static const struct x86_cpu_id intel_cstates_match[] __initconst = { X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE_L, &adl_cstates), X86_MATCH_INTEL_FAM6_MODEL(ARROWLAKE, &adl_cstates), X86_MATCH_INTEL_FAM6_MODEL(ARROWLAKE_H, &adl_cstates), + X86_MATCH_INTEL_FAM6_MODEL(LUNARLAKE_M, &lnl_cstates), { }, }; MODULE_DEVICE_TABLE(x86cpu, intel_cstates_match); -- 2.34.1