Commit 79554aaa authored by Zhang Rui's avatar Zhang Rui Committed by Srinivas Pandruvada

tools/power/x86/intel-speed-select: Introduce TPMI interface support

TPMI (Topology Aware Register and PM Capsule Interface) creates a
flexible, extendable and software-PCIe-driver-enumerable MMIO interface
for PM features.

SST feature is exposed via the TPMI interface on newer Xeon platforms.

Kernel TPMI based SST driver provides a series of new IOCTLs for userspace
to use.

Introduce support for the platforms that do SST control via TPMI interface.

Compared with previous platforms, Newer Xeons also supports multi-punit in a
package/die, including cpu punit and non-cpu punit. These have already
been handled in the generic code.
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
[srinivas.pandruvada@linux.intel.com: changelog edits]
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
parent a0ca5a09
intel-speed-select-y += isst-config.o isst-core.o isst-display.o isst-daemon.o hfi-events.o isst-core-mbox.o intel-speed-select-y += isst-config.o isst-core.o isst-display.o isst-daemon.o hfi-events.o isst-core-mbox.o isst-core-tpmi.o
This diff is collapsed.
...@@ -22,6 +22,9 @@ int isst_set_platform_ops(int api_version) ...@@ -22,6 +22,9 @@ int isst_set_platform_ops(int api_version)
case 1: case 1:
isst_ops = mbox_get_platform_ops(); isst_ops = mbox_get_platform_ops();
break; break;
case 2:
isst_ops = tpmi_get_platform_ops();
break;
default: default:
isst_ops = NULL; isst_ops = NULL;
break; break;
......
...@@ -143,12 +143,14 @@ struct isst_pkg_ctdp_level_info { ...@@ -143,12 +143,14 @@ struct isst_pkg_ctdp_level_info {
int pkg_max_power; int pkg_max_power;
int fact; int fact;
int t_proc_hot; int t_proc_hot;
int cooling_type;
int uncore_p0; int uncore_p0;
int uncore_p1; int uncore_p1;
int uncore_pm; int uncore_pm;
int sse_p1; int sse_p1;
int avx2_p1; int avx2_p1;
int avx512_p1; int avx512_p1;
int amx_p1;
int mem_freq; int mem_freq;
size_t core_cpumask_size; size_t core_cpumask_size;
cpu_set_t *core_cpumask; cpu_set_t *core_cpumask;
...@@ -311,5 +313,6 @@ extern void hfi_exit(void); ...@@ -311,5 +313,6 @@ extern void hfi_exit(void);
/* Interface specific callbacks */ /* Interface specific callbacks */
extern struct isst_platform_ops *mbox_get_platform_ops(void); extern struct isst_platform_ops *mbox_get_platform_ops(void);
extern struct isst_platform_ops *tpmi_get_platform_ops(void);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment