Enumerate TPMI SST driver and create basic framework to add more features. The basic user space interface is still same as the legacy using /dev/isst_interface. Users of "intel-speed-select" utility should be able to use same commands as prior gens without being aware of new underlying hardware interface. TPMI SST driver enumerates on device "intel_vsec.tpmi-sst". Since there can be multiple instances and there is one common SST core, split implementation into two parts: A common core part and an enumeration part. The enumeration driver is loaded for each device instance and register with the TPMI SST core driver. On very first enumeration the TPMI SST core driver register with SST core driver to get IOCTL callbacks. The api_version is incremented for IOCTL ISST_IF_GET_PLATFORM_INFO, so that user space can issue new IOCTLs. Each TPMI package contains multiple power domains. Each power domain has its own set of SST controls. For each domain map the MMIO memory and update per domain struct tpmi_per_power_domain_info. This information will be used to implement other SST interfaces. Implement first IOCTL commands to get number of TPMI SST instances and instance mask as some of the power domains may not have any SST controls. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Zhang Rui <rui.zhang@intel.com> Tested-by: Pragya Tanwar <pragya.tanwar@intel.com> Link: https://lore.kernel.org/r/20230308070642.1727167-3-srinivas.pandruvada@linux.intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
21 lines
803 B
Text
21 lines
803 B
Text
menu "Intel Speed Select Technology interface support"
|
|
depends on PCI
|
|
depends on X86_64 || COMPILE_TEST
|
|
|
|
config INTEL_SPEED_SELECT_TPMI
|
|
tristate
|
|
|
|
config INTEL_SPEED_SELECT_INTERFACE
|
|
tristate "Intel(R) Speed Select Technology interface drivers"
|
|
select INTEL_SPEED_SELECT_TPMI if INTEL_TPMI
|
|
help
|
|
This config enables the Intel(R) Speed Select Technology interface
|
|
drivers. The Intel(R) speed select technology features are non
|
|
architectural and only supported on specific Xeon(R) servers.
|
|
These drivers provide interface to directly communicate with hardware
|
|
via MMIO and Mail boxes to enumerate and control all the speed select
|
|
features.
|
|
|
|
Enable this config, if there is a need to enable and control the
|
|
Intel(R) Speed Select Technology features from the user space.
|
|
endmenu
|