1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/platform/x86
Srinivas Pandruvada 0ab147bb84 platform/x86: ISST: Parse SST MMIO and update instance
SST registers are presented to OS in multi-layer structures starting
with a SST header showing version information freezing current
definition.

For details on SST terminology refer to
Documentation/admin-guide/pm/intel-speed-select.rst
under the kernel documentation

SST TPMI details are published in the following document:
https://github.com/intel/tpmi_power_management/blob/main/SST_TPMI_public_disclosure_FINAL.docx

SST MMIO structure layout follows:
SST-HEADER
	SST-CP Header
		SST-CP CONTROL
		SST-CP STATUS
		SST-CP CONFIG0
		SST-CP CONFIG1
		...
		...
	SST-PP Header
		SST-PP OFFSET_0
		SST-PP OFFSET_1
					SST_PP_0_INFO
					SST_PP_1_INFO
					SST_PP_2_INFO
					SST_PP_3_INFO
		SST-PP CONTROL
		SST-PP STATUS

Each register bank contains information to get to next lower level
information. This information is parsed and stored in the struct
tpmi_per_power_domain_info for each domain. This information is
used to process each SST requests.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.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-4-srinivas.pandruvada@linux.intel.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2023-03-16 15:18:02 +01:00
..
amd platform/x86: amd: pmf: core: Convert to platform remove callback returning void 2023-03-07 12:19:41 +01:00
dell platform/x86: dell-laptop: Register ctl-led for speaker-mute 2023-03-16 14:51:07 +01:00
hp platform/x86: hp: tc1100-wmi: Convert to platform remove callback returning void 2023-03-07 12:20:15 +01:00
intel platform/x86: ISST: Parse SST MMIO and update instance 2023-03-16 15:18:02 +01:00
x86-android-tablets platform/x86: x86-android-tablets: Add depends on PMIC_OPREGION 2023-03-16 14:40:39 +01:00
acer-wireless.c acer-wireless: send an EV_SYN/SYN_REPORT between state changes 2020-12-07 16:10:11 +01:00
acer-wmi.c platform/x86: acer-wmi: Convert to platform remove callback returning void 2023-03-07 12:19:13 +01:00
acerhdf.c platform-drivers-x86 for v6.3-1 2023-02-21 17:32:50 -08:00
adv_swbutton.c platform/x86: adv_swbutton: Convert to platform remove callback returning void 2023-03-07 12:19:26 +01:00
amilo-rfkill.c platform/x86: amilo-rfkill: Convert to platform remove callback returning void 2023-03-07 12:19:43 +01:00
apple-gmux.c backlight: apple_bl: Use acpi_video_get_backlight_type() 2023-03-16 13:33:11 +01:00
asus-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus-nb-wmi.c platform/x86: asus-wmi: Ignore fan on E410MA 2023-01-12 19:36:03 +01:00
asus-tf103c-dock.c platform/x86: asus-tf103c-dock: Constify toprow keymap 2023-02-06 15:08:45 +01:00
asus-wireless.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus-wmi.c platform/x86: asus-wmi: Fix kbd_dock_devid tablet-switch reporting 2023-01-24 13:41:13 +01:00
asus-wmi.h platform/x86: asus-wmi: Add quirk wmi_ignore_fan 2023-01-12 19:35:51 +01:00
barco-p50-gpio.c platform/x86: barco-p50-gpio: Convert to platform remove callback returning void 2023-03-07 12:19:45 +01:00
classmate-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
compal-laptop.c platform/x86: compal-laptop: Convert to platform remove callback returning void 2023-03-07 12:19:47 +01:00
dual_accel_detect.h platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper 2021-08-12 17:26:36 +02:00
eeepc-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
eeepc-wmi.c platform/x86: asus-wmi: Move acpi_backlight=vendor quirks to ACPI video_detect.c 2022-09-03 12:17:27 +02:00
firmware_attributes_class.c platform/x86: dell-wmi-sysman: fw_attr_inuse can be static 2021-06-16 17:47:52 +02:00
firmware_attributes_class.h platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events 2021-06-16 17:47:51 +02:00
fujitsu-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
fujitsu-tablet.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for B450M DS3H WIFI-CF 2023-01-24 13:41:13 +01:00
gpd-pocket-fan.c platform/x86: gpd pocket fan: Clean-up by using managed work init 2021-03-23 15:22:40 +01:00
hdaps.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
huawei-wmi.c platform/x86: huawei-wmi: Convert to platform remove callback returning void 2023-03-07 12:20:17 +01:00
ibm_rtl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ideapad-laptop.c platform/x86: ideapad-laptop: Convert to platform remove callback returning void 2023-03-07 12:20:19 +01:00
intel_ips.c platform/x86: intel_ips: fix set but unused warning in read_mgtv 2021-06-16 17:47:55 +02:00
intel_ips.h platform/x86: intel-ips: Use the correct style for SPDX License Identifier 2020-01-10 11:57:21 +02:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: fix possible name leak in __intel_scu_ipc_register() 2022-12-08 17:35:49 +01:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API 2020-04-24 11:17:41 +01:00
intel_scu_pcidrv.c sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
intel_scu_pltdrv.c platform/x86: Add Elkhart Lake SCU/PMC support 2020-05-05 20:26:16 +03:00
intel_scu_wdt.c platform/x86: intel_scu_wdt: Drop mistakenly added const 2021-02-05 12:54:27 +02:00
Kconfig Immutable branch between pdx86 and backlight due for the v6.4 merge window 2023-03-16 14:40:52 +01:00
lenovo-yogabook-wmi.c platform/x86: lenovo-yogabook-wmi: Add support for hall sensor on the back 2021-12-07 12:21:01 +01:00
lg-laptop.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
Makefile platform/x86: x86-android-tablets: Add support for the Dolby button on Peaq C1010 2023-03-07 12:08:31 +01:00
meraki-mx100.c platform/x86: add meraki-mx100 platform driver 2021-08-12 09:26:28 +02:00
mlx-platform.c platform: mellanox: mlx-platform: Initialize shift variable to 0 2023-03-07 12:08:30 +01:00
msi-laptop.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
msi-wmi.c platform/x86: msi-wmi: Fix variable 'status' set but not used compiler warning 2021-02-04 13:35:20 +01:00
mxm-wmi.c platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() 2022-12-08 16:32:12 +01:00
nvidia-wmi-ec-backlight.c platform/x86: nvidia-wmi-ec-backlight: Add force module parameter 2023-02-18 11:45:52 +01:00
p2sb.c platform/x86: p2sb: Don't fail if unknown CPU is found 2022-11-07 12:33:49 +01:00
panasonic-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables 2021-08-06 14:04:43 +02:00
pmc_atom.c platform/x86: pmc_atom: Amend comment style and grammar 2022-08-25 16:23:52 +02:00
samsung-laptop.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
samsung-q10.c platform/x86: samsung-q10: Convert to platform remove callback returning void 2023-03-07 12:20:44 +01:00
serial-multi-instantiate.c platform/x86: serial-multi-instantiate: Convert to platform remove callback returning void 2023-03-07 12:20:45 +01:00
simatic-ipc.c platform/x86: simatic-ipc: add another model 2023-01-12 19:42:53 +01:00
sony-laptop.c platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe 2022-12-27 12:23:11 +01:00
system76_acpi.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
think-lmi.c platform/x86: think-lmi: Make kobj_type structure constant 2023-02-10 17:24:20 +01:00
think-lmi.h platform/x86: think-lmi: certificate support clean ups 2022-04-04 15:20:53 +02:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: Fix thinklight LED brightness returning 255 2023-01-30 14:37:22 +01:00
topstar-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
toshiba_acpi.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
toshiba_bluetooth.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba_haps.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match 2023-02-02 11:34:38 +01:00
uv_sysfs.c x86/platform/uv: Make kobj_type structure constant 2023-02-10 17:24:37 +01:00
winmate-fm07-keys.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
wireless-hotkey.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
wmi-bmof.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
wmi.c platform/x86: wmi: Convert to platform remove callback returning void 2023-03-07 12:20:47 +01:00
xiaomi-wmi.c platform/x86: wmi: Make two functions static 2020-04-17 16:47:26 +03:00
xo1-rfkill.c platform/x86: xo1-rfkill: Convert to platform remove callback returning void 2023-03-07 12:20:50 +01:00
xo15-ebook.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00