[00/12] platform/x86: ISST: Use TPMI interface

Message ID 20230211063257.311746-1-srinivas.pandruvada@linux.intel.com
Headers
Series platform/x86: ISST: Use TPMI interface |

Message

srinivas pandruvada Feb. 11, 2023, 6:32 a.m. UTC
  This series implements TPMI as Intel Speed Select Technology (Intel SST)
HW interface. TPMI has several advantages for Intel SST. This replaces
legacy mailbox and MMIO with architectural interface over TPMI.

This improves performance for HPC type applications. One single IOCTL command
replaces 10s of IOCTLs for mailboxes. This allowed to offer many more
performance levels and SST configurations.

Users use intel-speed-select utility to configure Intel SST.  User of
the tool still can use the same commands. The utility uses new IOCTLs
based on the new API version.

The TPMI documentation can be downloaded from:
https://github.com/intel/tpmi_power_management

This series depends on previously posted series:
- platform/x86/intel: Add TPMI support

Uses 6.2-rc1 as baseline, so the patchset needs to be rebased.

Srinivas Pandruvada (12):
  platform/x86: ISST: Fix kernel documentation warnings
  platform/x86: ISST: Add TPMI target
  platform/x86: ISST: Add IOCTL default callback
  platform/x86: ISST: Add API version of the target
  platform/x86: ISST: Add support for MSR 0x54
  platform/x86: ISST: Enumerate TPMI SST and create framework
  platform/x86: ISST: Parse SST MMIO and update instance
  platform/x86: ISST: Add SST-CP support via TPMI
  platform/x86: ISST: Add SST-PP support via TPMI
  platform/x86: ISST: Add SST-BF support via TPMI
  platform/x86: ISST: Add SST-TF support via TPMI
  platform/x86: ISST: Add suspend/resume callbacks

 .../x86/intel/speed_select_if/Kconfig         |    4 +
 .../x86/intel/speed_select_if/Makefile        |    2 +
 .../intel/speed_select_if/isst_if_common.c    |   73 +-
 .../intel/speed_select_if/isst_if_common.h    |    9 +-
 .../x86/intel/speed_select_if/isst_tpmi.c     |   74 +
 .../intel/speed_select_if/isst_tpmi_core.c    | 1438 +++++++++++++++++
 .../intel/speed_select_if/isst_tpmi_core.h    |   18 +
 include/uapi/linux/isst_if.h                  |  303 ++++
 8 files changed, 1918 insertions(+), 3 deletions(-)
 create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi.c
 create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c
 create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.h