lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240828222932.1279508-1-xi.pardee@linux.intel.com>
Date: Wed, 28 Aug 2024 15:29:15 -0700
From: Xi Pardee <xi.pardee@...ux.intel.com>
To: xi.pardee@...ux.intel.com,
	irenic.rajneesh@...il.com,
	david.e.box@...ux.intel.com,
	hdegoede@...hat.com,
	ilpo.jarvinen@...ux.intel.com,
	platform-driver-x86@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	linux-pm@...r.kernel.org
Subject: [PATCH v2 00/11] Create Intel PMC SSRAM Telemetry driver

This patch series removes the SSRAM support from Intel PMC Core driver
and creates a separate PCI driver for SSRAM device. The new Intel PMC
SSRAM driver provides the following functionalities:
 
1. Search and store the PMC information in a structure, including PWRMBASE
address and devid for each available PMC. Then Intel PMC Core driver
achieves the PMC information using the API provided by the new driver.
 
2. Search and register Intel Platform Monitoring Techology telemetry
regions so they would by available for read through sysfs and Intel PMT
API. Intel PMC Core driver can achieve Low Power Mode requirement
information from a telemetry region registered by the new driver.

The above functionalities was previously handled by Intel PMC Core
driver. Intel PMC Core driver returns -EPROBE_DEFER when trying to read
data from a telem region that is not available yet. This setup may
result in an infinite loop of .probe() calls as Intel PMC Core driver
creates child devices. Creating a separate PCI driver avoids the infinite
loop possibility.

Changes in v2:
- Rearrange and restructure patches completely based on feedback from v1
- Here are the patches:

Preparation for the new SSRAM Telemetry driver:
  platform/x86:intel/pmc: Move PMC Core related functions
  platform/x86:intel/pmc: Rename core_ssram to ssram_telemetry
  platform/x86:intel/pmc: Move PMC devid to core.h

Minor bug fix:
  platform/x86:intel/pmc: Convert index variables to be unsigned
  platform/x86:intel/pmc: Remove unneeded h file inclusion
  platform/x86:intel/pmc: Remove unneeded io operations
  platform/x86:intel/pmc: Check return value of ioremap

Create new driver and convert PMC Core to use the API:
  platform/x86:intel/pmc: Create Intel PMC SSRAM Telemetry driver

Enable Lunar Lake platform:
  platform/x86:intel/pmc: Add Lunar Lake SSRAM devid
  platform/x86:intel/pmt: Get PMC from SSRAM for Lunar Lake
  platform/x86:intel/pmc: Get LPM information for Lunar Lake

Xi Pardee (11):
  platform/x86:intel/pmc: Move PMC Core related functions
  platform/x86:intel/pmc: Rename core_ssram to ssram_telemetry
  platform/x86:intel/pmc: Move PMC devid to core.h
  platform/x86:intel/pmc: Convert index variables to be unsigned
  platform/x86:intel/pmc: Remove unneeded h file inclusion
  platform/x86:intel/pmc: Remove unneeded io operations
  platform/x86:intel/pmc: Check return value of ioremap
  platform/x86:intel/pmc: Create Intel PMC SSRAM Telemetry driver
  platform/x86:intel/pmc: Add Lunar Lake SSRAM devid
  platform/x86:intel/pmt: Get PMC from SSRAM for Lunar Lake
  platform/x86:intel/pmc: Get LPM information for Lunar Lake

 drivers/platform/x86/intel/pmc/Kconfig        |  11 +
 drivers/platform/x86/intel/pmc/Makefile       |   8 +-
 drivers/platform/x86/intel/pmc/arl.c          |  24 +-
 drivers/platform/x86/intel/pmc/core.c         | 200 +++++++++++
 drivers/platform/x86/intel/pmc/core.h         |  23 +-
 drivers/platform/x86/intel/pmc/core_ssram.c   | 326 ------------------
 drivers/platform/x86/intel/pmc/lnl.c          |  41 ++-
 drivers/platform/x86/intel/pmc/mtl.c          |  24 +-
 .../platform/x86/intel/pmc/ssram_telemetry.c  | 183 ++++++++++
 .../platform/x86/intel/pmc/ssram_telemetry.h  |  45 +++
 10 files changed, 525 insertions(+), 360 deletions(-)
 delete mode 100644 drivers/platform/x86/intel/pmc/core_ssram.c
 create mode 100644 drivers/platform/x86/intel/pmc/ssram_telemetry.c
 create mode 100644 drivers/platform/x86/intel/pmc/ssram_telemetry.h

-- 
2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ