Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp93463rdh; Wed, 22 Nov 2023 20:04:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHbk2FU3As+zYhB5RvVT5Gq5REvLq5brqggsfoX3suYSpd6+T6n7CxEYYHhcZVmvNPxuGsK X-Received: by 2002:a17:90b:4a0a:b0:280:235:19d with SMTP id kk10-20020a17090b4a0a00b002800235019dmr4670389pjb.36.1700712260305; Wed, 22 Nov 2023 20:04:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700712259; cv=none; d=google.com; s=arc-20160816; b=lAwos7Z1quXI21dGPwPPjEJSzEk65wFSZmXlfz8MBt7K2i2RqrdLF7PGcOFys6cCPf 0H7oQGlmYvI6mqCrHJ0Cr8KVc94CU/HBjtfVJLDv08t1C77lM4lIlMwtdvGQ+HvX3lZa 1+rSFfN7SbbLxddrkjo4az8p+Rfoc5ARV1L+SaimTFZjQCXoBOkJSJBekLjORlKQVSJc trxtWT4EbbM3yYj2YQ3y9dOFISRqsn0pAXFFk/7Qjbhozuv5pUr7XzfErhS0iIGhMhFf xvilxNnTVIKoGaBiWyHCuJEk/GkNFI/0JAt87wMRlPTsilKlYvnheNJ++VMrCu4jIIUy PSiw== 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 :message-id:date:subject:to:from:dkim-signature; bh=V7F/7aLbLxPY3qQO7EpEp9qQXyBtooOaFXHofzUATtc=; fh=d9G4dsZtlI8UONIvGKwhW94hCYEPGxy6CqYeKEG646A=; b=grnRoc4mWYARq+YsXGSIP0kKmlZTbSmfQQcz3rZQeesSBJ1wAhjCjggRaaYnYvCkcL KnxXSFn4hXswKu3zhlo7ccCZs82LE/q1hC9v7iEHAfXJkIq7kJdKXqvH0W05+d9hYvdN 0iB+iLaKpvfcuqCs6bGc90fk6jThDjocY3Zqm2Ujg0l0su7PhApuctHL4mY9M6oBWNfr bVTHUcleLWoOjVQ+DYP50BFIfOQuuuTGbRMvhxqM5DsAFi0EKc28IWpOeS5ckExCwhAR /eTuaLxegK8MBaNibTx89PUA9uiUhqxUCBdKi7AqtLffCbIAgLD0OqcmA0S+d4XL663P 0xIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=j3X4FbQ2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id e8-20020a17090a684800b002772b8993ebsi500910pjm.159.2023.11.22.20.04.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 20:04:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=j3X4FbQ2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 193AC8261006; Wed, 22 Nov 2023 20:04:16 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344519AbjKWED4 (ORCPT + 99 others); Wed, 22 Nov 2023 23:03:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229481AbjKWEDv (ORCPT ); Wed, 22 Nov 2023 23:03:51 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C142112; Wed, 22 Nov 2023 20:03:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700712236; x=1732248236; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=CoErI8R9kWQE4jfpj2fYDuPqAQ/RXoWzpsnmozO+rf8=; b=j3X4FbQ247UaiEKiuneYKc1IpENrxdAxWJ83/6WoUoIe7cM36dMr6aMf gYhx1o3azN68908/brbaT1CJT8zBTlC7Q868V6OZ+w/25eoZYU0VPWJ1w PAoBTlkteIejexluNDyN/iySB3AGIUu5Gp3O9vtMIQ4ZNbr0NEsdubMGW lfa6n82nwD6hejV/Kzj6PELwhxoZSj4XVeEHndNQAuF4cpFoWQDvpF0nZ IOOZ1Kz87i9QWSMTQcDYM0WnYIB50xKiPLZZRClDNHsnCRcA0lCVfSyEg Y8vYCt9TvE8RDBAufWhC6lQQbiMsuNoh5YYL6ypIMDWrVzAGK9h337Cvi Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10902"; a="389347940" X-IronPort-AV: E=Sophos;i="6.04,220,1695711600"; d="scan'208";a="389347940" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 20:03:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10902"; a="801925644" X-IronPort-AV: E=Sophos;i="6.04,220,1695711600"; d="scan'208";a="801925644" Received: from linux.intel.com ([10.54.29.200]) by orsmga001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 20:03:55 -0800 Received: from debox1-desk4.lan (snpatel1-mobl.amr.corp.intel.com [10.209.89.91]) by linux.intel.com (Postfix) with ESMTP id 62B88580CA4; Wed, 22 Nov 2023 20:03:55 -0800 (PST) From: "David E. Box" To: linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, ilpo.jarvinen@linux.intel.com, rajvi.jingar@linux.intel.com Subject: [PATCH V5 00/20] intel_pmc: Add telemetry API to read counters Date: Wed, 22 Nov 2023 20:03:35 -0800 Message-Id: <20231123040355.82139-1-david.e.box@linux.intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 22 Nov 2023 20:04:16 -0800 (PST) On newer Intel silicon, more IP counters are being added in Intel Platform Monitoring Technology (PMT) telemetry spaces hosted in MMIO. There is a need for the intel_pmc_core driver and other drivers to access PMT hosted telemetry in the kernel using an API. This patchset adds driver APIs to allow registering and reading telemetry entries. It makes changes to the intel_pmc_core driver to use these interfaces to access the low power mode counters that are now exclusively available from PMT. David E. Box (15): platform/x86/intel/vsec: Fix xa_alloc memory leak platform/x86/intel/vsec: Move structures to header platform/x86/intel/vsec: remove platform_info from vsec device structure platform/x86/intel/vsec: Use cleanup.h platform/x86/intel/vsec: Assign auxdev parent by argument platform/x86/intel/vsec: Add base address field platform/x86/intel/pmt: Add header to struct intel_pmt_entry platform/x86/intel/pmt: telemetry: Export API to read telemetry platform/x86/intel/pmc: Allow pmc_core_ssram_init to fail asm-generic/io.h: iounmap/ioport_unmap cleanup.h support platform/x86/intel/pmc: Cleanup SSRAM discovery platform/x86/intel/pmc/mtl: Use return value from pmc_core_ssram_init() platform/x86/intel/pmc: Find and register PMC telemetry entries platform/x86/intel/pmc: Add debug attribute for Die C6 counter platform/x86/intel/pmc: Show Die C6 counter on Meteor Lake Gayatri Kammela (1): platform/x86/intel/vsec: Add intel_vsec_register Rajvi Jingar (1): platform/x86/intel/pmc: Display LPM requirements for multiple PMCs Xi Pardee (3): platform/x86:intel/pmc: Call pmc_get_low_power_modes from platform init platform/x86/intel/pmc: Retrieve LPM information using Intel PMT platform/x86/intel/pmc: Read low power mode requirements for MTL-M and MTL-P drivers/platform/x86/intel/pmc/Kconfig | 1 + drivers/platform/x86/intel/pmc/adl.c | 2 + drivers/platform/x86/intel/pmc/cnp.c | 2 + drivers/platform/x86/intel/pmc/core.c | 190 +++++++++----- drivers/platform/x86/intel/pmc/core.h | 10 +- drivers/platform/x86/intel/pmc/core_ssram.c | 263 +++++++++++++++++--- drivers/platform/x86/intel/pmc/icl.c | 10 +- drivers/platform/x86/intel/pmc/mtl.c | 87 ++++++- drivers/platform/x86/intel/pmc/spt.c | 10 +- drivers/platform/x86/intel/pmc/tgl.c | 1 + drivers/platform/x86/intel/pmt/class.c | 43 +++- drivers/platform/x86/intel/pmt/class.h | 30 ++- drivers/platform/x86/intel/pmt/crashlog.c | 2 +- drivers/platform/x86/intel/pmt/telemetry.c | 193 +++++++++++++- drivers/platform/x86/intel/pmt/telemetry.h | 126 ++++++++++ drivers/platform/x86/intel/vsec.c | 129 +++++----- drivers/platform/x86/intel/vsec.h | 45 +++- include/asm-generic/io.h | 6 + 18 files changed, 946 insertions(+), 204 deletions(-) create mode 100644 drivers/platform/x86/intel/pmt/telemetry.h base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86 -- 2.34.1