mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
Merge tag 'platform-drivers-x86-v6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform driver updates from Hans de Goede: "AMD PMC and PMF drivers: - Various bugfixes - Improved debugging support Intel PMC: - Refactor to support hw with multiple PMCs - Various other improvements / new hw support Intel Speed Select Technology (ISST): - TPMI Uncore Frequency + Cluster Level Power Controls - Various bugfixes - tools/intel-speed-select: Misc improvements Dell-DDV: Add documentation INT3472 ACPI camera sensor glue code: - Evaluate device's _DSM method to control imaging clock - Drop the need to have a table with per sensor-model info Lenovo Yogabook: - Refactor / rework to also support Android models Think-LMI: - Multiple improvements and fixes WMI: - Add proper API documentation for the WMI bus x86-android-tablets: - Misc new hw support Miscellaneous other cleanups / fixes" * tag 'platform-drivers-x86-v6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (91 commits) platform/x86:intel/pmc: Add Meteor Lake IOE-M PMC related maps platform/x86:intel/pmc: Add Meteor Lake IOE-P PMC related maps platform/x86:intel/pmc: Use SSRAM to discover pwrm base address of primary PMC platform/x86:intel/pmc: Discover PMC devices platform/x86:intel/pmc: Enable debugfs multiple PMC support platform/x86:intel/pmc: Add support to handle multiple PMCs platform/x86:intel/pmc: Combine core_init() and core_configure() platform/x86:intel/pmc: Update maps for Meteor Lake P/M platforms platform/x86/intel: tpmi: Remove hardcoded unit and offset platform/x86: int3472: discrete: Log a warning if the pin-numbers don't match platform/x86: int3472: discrete: Use FIELD_GET() on the GPIO _DSM return value platform/x86: int3472: discrete: Add alternative "AVDD" regulator supply name platform/x86: int3472: discrete: Add support for 1 GPIO regulator shared between 2 sensors platform/x86: int3472: discrete: Remove sensor_config-s platform/x86: int3472: discrete: Drop GPIO remapping support platform/x86: apple-gmux: don't use be32_to_cpu and cpu_to_be32 platform/x86/dell/dell-rbtn: Fix resources leaking on error path platform/x86: ISST: Fix usage counter platform/x86: ISST: Reset default callback on unregister platform/x86: int3472: Switch back to use struct i2c_driver's .probe() ...
This commit is contained in:
@@ -15,7 +15,7 @@ struct process_cmd_struct {
|
||||
int arg;
|
||||
};
|
||||
|
||||
static const char *version_str = "v1.15";
|
||||
static const char *version_str = "v1.16";
|
||||
|
||||
static const int supported_api_ver = 2;
|
||||
static struct isst_if_platform_info isst_platform_info;
|
||||
@@ -2113,7 +2113,6 @@ static void set_fact_enable(int arg)
|
||||
else
|
||||
for_each_online_power_domain_in_set(set_fact_for_cpu, NULL, NULL,
|
||||
NULL, &enable);
|
||||
isst_ctdp_display_information_end(outf);
|
||||
|
||||
if (!fact_enable_fail && enable && auto_mode) {
|
||||
/*
|
||||
@@ -2192,10 +2191,13 @@ static void set_fact_enable(int arg)
|
||||
isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0);
|
||||
}
|
||||
|
||||
isst_ctdp_display_information_end(outf);
|
||||
|
||||
return;
|
||||
|
||||
error_disp:
|
||||
isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret);
|
||||
isst_ctdp_display_information_end(outf);
|
||||
|
||||
}
|
||||
|
||||
@@ -2261,9 +2263,6 @@ static void dump_clos_config_for_cpu(struct isst_id *id, void *arg1, void *arg2,
|
||||
struct isst_clos_config clos_config;
|
||||
int ret;
|
||||
|
||||
if (id->cpu < 0)
|
||||
return;
|
||||
|
||||
ret = isst_pm_get_clos(id, current_clos, &clos_config);
|
||||
if (ret)
|
||||
isst_display_error_info_message(1, "isst_pm_get_clos failed", 0, 0);
|
||||
@@ -2437,12 +2436,16 @@ static void set_clos_assoc(int arg)
|
||||
isst_display_error_info_message(1, "Invalid clos id\n", 0, 0);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
isst_ctdp_display_information_start(outf);
|
||||
|
||||
if (max_target_cpus)
|
||||
for_each_online_target_cpu_in_set(set_clos_assoc_for_cpu, NULL,
|
||||
NULL, NULL, NULL);
|
||||
else {
|
||||
isst_display_error_info_message(1, "Invalid target cpu. Specify with [-c|--cpu]", 0, 0);
|
||||
}
|
||||
isst_ctdp_display_information_end(outf);
|
||||
}
|
||||
|
||||
static void get_clos_assoc_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3,
|
||||
|
@@ -641,16 +641,30 @@ static int tpmi_pm_qos_config(struct isst_id *id, int enable_clos,
|
||||
int priority_type)
|
||||
{
|
||||
struct isst_core_power info;
|
||||
int ret;
|
||||
int i, ret, saved_punit;
|
||||
|
||||
info.get_set = 1;
|
||||
info.socket_id = id->pkg;
|
||||
info.power_domain_id = id->punit;
|
||||
info.enable = enable_clos;
|
||||
info.priority_type = priority_type;
|
||||
ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info);
|
||||
if (ret == -1)
|
||||
return ret;
|
||||
|
||||
saved_punit = id->punit;
|
||||
|
||||
/* Set for all other dies also. This is per package setting */
|
||||
for (i = 0; i < MAX_PUNIT_PER_DIE; i++) {
|
||||
id->punit = i;
|
||||
if (isst_is_punit_valid(id)) {
|
||||
info.power_domain_id = i;
|
||||
ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info);
|
||||
if (ret == -1) {
|
||||
id->punit = saved_punit;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
id->punit = saved_punit;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -686,7 +700,7 @@ int tpmi_set_clos(struct isst_id *id, int clos,
|
||||
struct isst_clos_config *clos_config)
|
||||
{
|
||||
struct isst_clos_param info;
|
||||
int ret;
|
||||
int i, ret, saved_punit;
|
||||
|
||||
info.get_set = 1;
|
||||
info.socket_id = id->pkg;
|
||||
@@ -702,9 +716,22 @@ int tpmi_set_clos(struct isst_id *id, int clos,
|
||||
if (info.max_freq_mhz <= 0xff)
|
||||
info.max_freq_mhz *= 100;
|
||||
|
||||
ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info);
|
||||
if (ret == -1)
|
||||
return ret;
|
||||
saved_punit = id->punit;
|
||||
|
||||
/* Set for all other dies also. This is per package setting */
|
||||
for (i = 0; i < MAX_PUNIT_PER_DIE; i++) {
|
||||
id->punit = i;
|
||||
if (isst_is_punit_valid(id)) {
|
||||
info.power_domain_id = i;
|
||||
ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info);
|
||||
if (ret == -1) {
|
||||
id->punit = saved_punit;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
id->punit = saved_punit;
|
||||
|
||||
debug_printf("set cpu:%d clos:%d min:%d max:%d\n", id->cpu, clos,
|
||||
clos_config->clos_min, clos_config->clos_max);
|
||||
|
Reference in New Issue
Block a user