linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Xi Pardee <xi.pardee@linux.intel.com>
To: xi.pardee@linux.intel.com, irenic.rajneesh@gmail.com,
	david.e.box@linux.intel.com, hdegoede@redhat.com,
	ilpo.jarvinen@linux.intel.com,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: [PATCH v2 00/11] Create Intel PMC SSRAM Telemetry driver
Date: Wed, 28 Aug 2024 15:29:15 -0700	[thread overview]
Message-ID: <20240828222932.1279508-1-xi.pardee@linux.intel.com> (raw)

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


             reply	other threads:[~2024-08-28 22:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-28 22:29 Xi Pardee [this message]
2024-08-28 22:29 ` [PATCH v2 01/11] platform/x86:intel/pmc: Move PMC Core related functions Xi Pardee
2024-08-29 10:49   ` Ilpo Järvinen
2024-08-28 22:29 ` [PATCH v2 02/11] platform/x86:intel/pmc: Rename core_ssram to ssram_telemetry Xi Pardee
2024-08-29 10:50   ` Ilpo Järvinen
2024-08-28 22:29 ` [PATCH v2 03/11] platform/x86:intel/pmc: Move PMC devid to core.h Xi Pardee
2024-08-29 10:52   ` Ilpo Järvinen
2024-09-10  6:55     ` Xi Pardee
2024-08-28 22:29 ` [PATCH v2 04/11] platform/x86:intel/pmc: Convert index variables to be unsigned Xi Pardee
2024-08-29 10:54   ` Ilpo Järvinen
2024-08-28 22:29 ` [PATCH v2 05/11] platform/x86:intel/pmc: Remove unneeded h file inclusion Xi Pardee
2024-08-29 11:02   ` Ilpo Järvinen
2024-09-10  7:08     ` Xi Pardee
2024-08-28 22:29 ` [PATCH v2 06/11] platform/x86:intel/pmc: Remove unneeded io operations Xi Pardee
2024-08-28 22:29 ` [PATCH v2 07/11] platform/x86:intel/pmc: Check return value of ioremap Xi Pardee
2024-08-29 11:06   ` Ilpo Järvinen
2024-09-10  6:53     ` Xi Pardee
2024-08-28 22:29 ` [PATCH v2 08/11] platform/x86:intel/pmc: Create Intel PMC SSRAM Telemetry driver Xi Pardee
2024-08-29 12:02   ` Ilpo Järvinen
2024-09-10 19:57     ` Xi Pardee
2024-08-28 22:29 ` [PATCH v2 09/11] platform/x86:intel/pmc: Add Lunar Lake SSRAM devid Xi Pardee
2024-08-29 12:03   ` Ilpo Järvinen
2024-08-28 22:29 ` [PATCH v2 10/11] platform/x86:intel/pmt: Get PMC from SSRAM for Lunar Lake Xi Pardee
2024-08-28 22:29 ` [PATCH v2 11/11] platform/x86:intel/pmc: Get LPM information " Xi Pardee
2024-08-29 12:13   ` Ilpo Järvinen
2024-09-10  0:49     ` Xi Pardee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240828222932.1279508-1-xi.pardee@linux.intel.com \
    --to=xi.pardee@linux.intel.com \
    --cc=david.e.box@linux.intel.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=irenic.rajneesh@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).