linux/drivers/platform/x86
Srinivas Pandruvada 8fbfb6fc67 platform/x86: ISST: Store per CPU information
There are two per CPU data needs to be stored and cached to avoid repeated
MSR readings for accessing them later:

- Physical to logical CPU conversion
The PUNIT uses a different CPU numbering scheme which is not APIC id based.
So we need to establish relationship between PUNIT CPU number and Linux
logical CPU numbering which is based on APIC id. There is an MSR 0x53
(MSR_THREAD_ID), which gets physical CPU number for the local CPU where it
is read. Also the CPU mask in some messages will inform which CPUs needs
to be online/offline for a TDP level. During TDP switch if user offlined
some CPUs, then the physical CPU mask can't be converted as we can't
read MSR on an offlined CPU to go to a lower TDP level by onlining more
CPUs. So the mapping needs to be established at the boot up time.

- Bus number corresponding to a CPU
A group of CPUs are in a control of a PUNIT. The PUNIT device is exported
as PCI device. To do operation on a PUNIT for a CPU, we need to find out
to which PCI device it is related to. This is done by reading MSR 0x128
(MSR_CPU_BUS_NUMBER).

So during CPU online stages the above MSRs are read and stored. Later
this stored information is used to process IOCTLs request from the user
space.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2019-07-02 18:41:16 +03:00
..
intel_speed_select_if platform/x86: ISST: Store per CPU information 2019-07-02 18:41:16 +03:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Mark expected switch fall-throughs 2019-06-29 16:04:44 +03:00
acerhdf.c platform/x86: acerhdf: restructure to allow large BIOS table be __initconst 2018-09-27 12:18:08 +03:00
alienware-wmi.c platform/x86: alienware-wmi: printing the wrong error code 2019-05-09 00:33:02 +03:00
amilo-rfkill.c
apple-gmux.c
asus-laptop.c
asus-nb-wmi.c platform/x86: asus-nb-wmi: Add microphone mute key code 2019-06-17 15:22:47 +03:00
asus-wireless.c platform/x86: asus-wireless: Fix uninitialized symbol usage 2018-07-02 16:48:22 +03:00
asus-wmi.c platform/x86: asus-wmi: Do not disable keyboard backlight on unloading 2019-06-17 15:22:47 +03:00
asus-wmi.h platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi 2019-06-12 11:54:16 +03:00
classmate-laptop.c
compal-laptop.c
dcdbas.c firmware: dcdbas: include linux/io.h 2018-10-03 11:27:22 +03:00
dcdbas.h firmware: dcdbas: Move dcdbas to drivers/platform/x86 2018-09-27 12:18:15 +03:00
dell_rbu.c platform/x86: dell_rbu: fix lock imbalance in img_update_realloc 2019-02-23 09:20:56 -08:00
dell-laptop.c platform/x86: dell-laptop: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
dell-rbtn.c platform/x86: dell-rbtn: Add missing #include 2019-04-08 20:12:13 +03:00
dell-rbtn.h
dell-smbios-base.c platform/x86: dell-smbios-base: Support systems without tokens 2018-06-26 15:01:52 -07:00
dell-smbios-smm.c firmware: dcdbas: Move dcdbas to drivers/platform/x86 2018-09-27 12:18:15 +03:00
dell-smbios-wmi.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
dell-smbios.h
dell-smo8800.c
dell-wmi-aio.c
dell-wmi-descriptor.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
dell-wmi-descriptor.h
dell-wmi-led.c
dell-wmi.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
eeepc-laptop.c PCI: hotplug: Embed hotplug_slot 2018-09-18 17:52:15 -05:00
eeepc-wmi.c
fujitsu-laptop.c
fujitsu-tablet.c
gpd-pocket-fan.c
hdaps.c
hp_accel.c platform/x86: hp_accel: Add support for HP ProBook 450 G0 2019-06-12 12:42:27 +03:00
hp-wireless.c
hp-wmi.c
huawei-wmi.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
i2c-multi-instantiate.c ACPI / scan: Create platform device for BSG2150 ACPI nodes 2019-02-05 19:38:20 +02:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
intel_atomisp2_pm.c platform/x86: Fix config space access for intel_atomisp2_pm 2018-12-03 21:40:03 +02:00
intel_bxtwc_tmu.c platform/x86: intel_bxtwc_tmu: Convert to use SPDX identifier 2018-09-27 12:18:16 +03:00
intel_cht_int33fe.c platform/x86: intel_cht_int33fe: Remove old style mux connections 2019-02-14 10:52:25 +01:00
intel_chtdc_ti_pwrbtn.c platform/x86: intel_chtdc_ti_pwrbtn: Add SPDX identifier 2018-09-27 12:18:16 +03:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Get rid of custom ICPU() macro 2019-06-29 17:15:22 +03:00
intel_ips.c platform/x86: intel_ips: Convert to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-03 21:40:03 +02:00
intel_ips.h platform/x86: intel-ips: Convert to use SPDX identifier 2018-09-27 12:18:16 +03:00
intel_menlow.c platform/x86: intel_menlow: avoid null pointer deference error 2019-06-12 12:42:27 +03:00
intel_mid_powerbtn.c platform-drivers-x86 for v4.20-1 2018-11-01 08:42:21 -07:00
intel_mid_thermal.c platform/x86: intel_mid_thermal: Convert to use SPDX identifier 2018-09-27 12:18:17 +03:00
intel_mrfld_pwrbtn.c platform/x86: Add support for Basin Cove power button 2019-05-09 00:33:03 +03:00
intel_oaktrail.c platform/x86: intel_oaktrail: Convert to use SPDX identifier 2018-09-27 12:18:18 +03:00
intel_pmc_core.c platform/x86: intel_pmc: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
intel_pmc_core.h platform/x86: intel_pmc_core: Allow to dump debug registers on S0ix failure 2019-05-06 17:54:42 +03:00
intel_pmc_ipc.c platform/x86: intel_pmc_ipc: Don't map non-used optional resources 2019-05-06 17:54:04 +03:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Revert "Fix resource ioremap warning" 2019-05-06 17:54:13 +03:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipc: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel_telemetry_core.c platform/x86: intel_telemetry: Convert to use SPDX identifier 2018-09-27 12:18:20 +03:00
intel_telemetry_debugfs.c platform/x86: intel_telemetry: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
intel_telemetry_pltdrv.c platform-drivers-x86 for v4.20-1 2018-11-01 08:42:21 -07:00
intel_turbo_max_3.c platform/x86: intel_turbo_max_3: Convert to use SPDX identifier 2018-09-27 12:18:20 +03:00
intel-hid.c platform/x86: intel-hid: Missing power button release on some Dell models 2019-01-26 11:07:34 -08:00
intel-rst.c platform/x86: intel-rst: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel-smartconnect.c platform/x86: intel-smartconnect: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel-vbtn.c platform/x86: intel-vbtn: Report switch events when event wakes device 2019-06-12 11:54:16 +03:00
intel-wmi-thunderbolt.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
Kconfig platform/x86: ISST: Add common API to register and handle ioctls 2019-07-02 18:41:16 +03:00
lg-laptop.c platform/x86: Add LG Gram laptop special features driver 2018-10-19 19:21:57 +03:00
Makefile platform/x86: ISST: Add common API to register and handle ioctls 2019-07-02 18:41:16 +03:00
mlx-platform.c platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration 2019-06-12 11:54:16 +03:00
msi-laptop.c
msi-wmi.c
mxm-wmi.c
panasonic-laptop.c
pcengines-apuv2.c platform/x86: pcengines-apuv2: Make two symbols static 2019-06-12 12:42:27 +03:00
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Add CB4063 Beckhoff Automation board to critclk_systems DMI table 2019-06-29 17:12:19 +03:00
samsung-laptop.c platform/x86: samsung-laptop: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
samsung-q10.c
sony-laptop.c platform/x86: sony-laptop: Fix unintentional fall-through 2019-05-09 00:33:02 +03:00
surface3_button.c
surface3-wmi.c
surfacepro3_button.c
tc1100-wmi.c
thinkpad_acpi.c platform/x86: thinkpad_acpi: cleanup for Thinkpad ACPI led 2019-05-09 00:33:03 +03:00
topstar-laptop.c
toshiba_acpi.c platform/x86: toshiba_acpi: Fix defined but not used build warnings 2018-07-21 09:26:45 -07:00
toshiba_bluetooth.c
toshiba_haps.c
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi: Update Hi10 Air filter 2019-06-29 16:04:25 +03:00
wmi-bmof.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
wmi.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
xiaomi-wmi.c platform/x86: wmi: add Xiaomi WMI key driver 2019-06-29 15:56:36 +03:00
xo1-rfkill.c
xo15-ebook.c