History

platform/x86: asus-armoury: add ppt_* and nv_* tuning knobs

Adds the ppt_* and nv_* tuning knobs that are available via WMI methods and adds proper min/max levels plus defaults. The min/max are defined by ASUS and typically gained by looking at what they allow in the ASUS Armoury Crate application - ASUS does not share the values outside of this. It could also be possible to gain the AMD values by use of ryzenadj and testing for the minimum stable value. The general rule of thumb for adding to the match table is that if the model range has a single CPU used throughout, then the DMI match can omit the last letter of the model number as this is the GPU model. If a min or max value is not provided it is assumed that the particular setting is not supported. for example ppt_pl2_sppt_min/max is not set. If a <ppt_setting>_def is not set then the default is assumed to be <ppt_setting>_max It is assumed that at least AC settings are available so that the firmware attributes will be created - if no DC table is available and power is on DC, then reading the attributes is -ENODEV.

Luke D. Jones committed 1 year ago

Commit 39ae6c51 parent d849a9f3 files · +1593 −6Browse files

Showing the changes to include/linux/platform_data (1 of 3 files). Show all

Unified · Split

include/linux/platform_data/x86/asus-wmi.h+3−0
@@ -139,6 +139,9 @@ · 138 unmodified lines
139 139
140#define ASUS_WMI_DEVID_APU_MEM 0x000600C1140#define ASUS_WMI_DEVID_APU_MEM 0x000600C1
141 141
142#define ASUS_WMI_DEVID_DGPU_BASE_TGP 0x00120099
143#define ASUS_WMI_DEVID_DGPU_SET_TGP 0x00120098
144
142/* gpu mux switch, 0 = dGPU, 1 = Optimus */145/* gpu mux switch, 0 = dGPU, 1 = Optimus */
143#define ASUS_WMI_DEVID_GPU_MUX 0x00090016146#define ASUS_WMI_DEVID_GPU_MUX 0x00090016
144#define ASUS_WMI_DEVID_GPU_MUX_VIVO 0x00090026147#define ASUS_WMI_DEVID_GPU_MUX_VIVO 0x00090026