Commit 9528d5c0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v6.19-2' of...

Merge tag 'platform-drivers-x86-v6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fixes from Ilpo Järvinen:

 - alienware-wmi-wmax: Area-51, x16, and 16X Aurora laptops support

 - asus-armoury:
    - Fix FA507R PPT data
    - Add TDP data for more laptop models

 - asus-nb-wmi: Asus Zenbook 14 display toggle key support

 - dell-lis3lv02d: Dell Latitude 5400 support

 - hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing

 - ibm_rtl: Fix EBDA signature search pointer arithmetic

 - ideapad-laptop: Reassign KEY_CUT to KEY_SELECTIVE_SCREENSHOT

 - intel/pmt:
    - Fix kobject memory leak on init failure
    - Use valid pointers on error handling path

 - intel/vsec: Correct kernel doc comments

 - mellanox: mlxbf-pmc: Fix event names

 - msi-laptop: Add sysfs_remove_group()

 - samsumg-galaxybook: Do not cast pointer to a shorter type

 - think-lmi: WMI certificate thumbprint support for ThinkCenter

 - uniwill: Tuxedo Book BA15 Gen10 support

* tag 'platform-drivers-x86-v6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (22 commits)
  platform/x86: asus-armoury: add support for G835LW
  platform/x86: asus-armoury: fix ppt data for FA507R
  platform/x86/intel/pmt/discovery: use valid device pointer in dev_err_probe
  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing
  platform/x86: asus-armoury: add support for G615LR
  platform/x86: asus-armoury: add support for FA608UM
  platform/x86: asus-armoury: add support for GA403WR
  platform/x86: asus-armoury: add support for GU605CR
  platform/x86: ideapad-laptop: Reassign KEY_CUT to KEY_SELECTIVE_SCREENSHOT
  platform/x86: samsung-galaxybook: Fix problematic pointer cast
  platform/x86/intel/pmt: Fix kobject memory leak on init failure
  platform/x86/intel/vsec: correct kernel-doc comments
  platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic
  platform/x86: msi-laptop: add missing sysfs_remove_group()
  platform/x86: think-lmi: Add WMI certificate thumbprint support for ThinkCenter
  platform/x86: dell-lis3lv02d: Add Latitude 5400
  platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event names
  platform/x86: asus-nb-wmi: Add keymap for display toggle
  platform/x86/uniwill: Add TUXEDO Book BA15 Gen10
  platform/x86: alienware-wmi-wmax: Add support for Alienware 16X Aurora
  ...
parents 349bd28a c6703f10
Loading
Loading
Loading
Loading
+173 −3
Original line number Diff line number Diff line
@@ -449,12 +449,27 @@ static const struct dmi_system_id power_limits[] = {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_max = 80,
				.ppt_pl2_sppt_min = 25,
				.ppt_pl2_sppt_min = 35,
				.ppt_pl2_sppt_max = 80,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_max = 80
				.ppt_pl3_fppt_max = 80,
				.nv_dynamic_boost_min = 5,
				.nv_dynamic_boost_max = 25,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_def = 45,
				.ppt_pl1_spl_max = 65,
				.ppt_pl2_sppt_min = 35,
				.ppt_pl2_sppt_def = 54,
				.ppt_pl2_sppt_max = 65,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_max = 65,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.dc_data = NULL,
		},
	},
	{
@@ -552,6 +567,42 @@ static const struct dmi_system_id power_limits[] = {
			},
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "FA608UM"),
		},
		.driver_data = &(struct power_data) {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_def = 45,
				.ppt_pl1_spl_max = 90,
				.ppt_pl2_sppt_min = 35,
				.ppt_pl2_sppt_def = 54,
				.ppt_pl2_sppt_max = 90,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_def = 90,
				.ppt_pl3_fppt_max = 65,
				.nv_dynamic_boost_min = 10,
				.nv_dynamic_boost_max = 15,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
				.nv_tgp_min = 55,
				.nv_tgp_max = 100,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_def = 45,
				.ppt_pl1_spl_max = 65,
				.ppt_pl2_sppt_min = 35,
				.ppt_pl2_sppt_def = 54,
				.ppt_pl2_sppt_max = 65,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_max = 65,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "FA608WI"),
@@ -822,6 +873,38 @@ static const struct dmi_system_id power_limits[] = {
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GA403WR"),
		},
		.driver_data = &(struct power_data) {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_max = 80,
				.ppt_pl2_sppt_min = 25,
				.ppt_pl2_sppt_max = 80,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_max = 80,
				.nv_dynamic_boost_min = 0,
				.nv_dynamic_boost_max = 25,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
				.nv_tgp_min = 80,
				.nv_tgp_max = 95,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 15,
				.ppt_pl1_spl_max = 35,
				.ppt_pl2_sppt_min = 25,
				.ppt_pl2_sppt_max = 35,
				.ppt_pl3_fppt_min = 35,
				.ppt_pl3_fppt_max = 65,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GA503QR"),
@@ -950,6 +1033,35 @@ static const struct dmi_system_id power_limits[] = {
			},
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GU605CR"),
		},
		.driver_data = &(struct power_data) {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 30,
				.ppt_pl1_spl_max = 85,
				.ppt_pl2_sppt_min = 38,
				.ppt_pl2_sppt_max = 110,
				.nv_dynamic_boost_min = 5,
				.nv_dynamic_boost_max = 20,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
				.nv_tgp_min = 80,
				.nv_tgp_def = 90,
				.nv_tgp_max = 105,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 30,
				.ppt_pl1_spl_max = 85,
				.ppt_pl2_sppt_min = 38,
				.ppt_pl2_sppt_max = 110,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "GU605CW"),
@@ -1260,6 +1372,35 @@ static const struct dmi_system_id power_limits[] = {
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "G615LR"),
		},
		.driver_data = &(struct power_data) {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 28,
				.ppt_pl1_spl_def = 140,
				.ppt_pl1_spl_max = 175,
				.ppt_pl2_sppt_min = 28,
				.ppt_pl2_sppt_max = 175,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
				.nv_dynamic_boost_min = 5,
				.nv_dynamic_boost_max = 25,
				.nv_tgp_min = 65,
				.nv_tgp_max = 115,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 25,
				.ppt_pl1_spl_max = 55,
				.ppt_pl2_sppt_min = 25,
				.ppt_pl2_sppt_max = 70,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "G634J"),
@@ -1426,6 +1567,35 @@ static const struct dmi_system_id power_limits[] = {
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "G835LW"),
		},
		.driver_data = &(struct power_data) {
			.ac_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 28,
				.ppt_pl1_spl_def = 140,
				.ppt_pl1_spl_max = 175,
				.ppt_pl2_sppt_min = 28,
				.ppt_pl2_sppt_max = 175,
				.nv_dynamic_boost_min = 5,
				.nv_dynamic_boost_max = 25,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
				.nv_tgp_min = 80,
				.nv_tgp_max = 150,
			},
			.dc_data = &(struct power_limits) {
				.ppt_pl1_spl_min = 25,
				.ppt_pl1_spl_max = 55,
				.ppt_pl2_sppt_min = 25,
				.ppt_pl2_sppt_max = 70,
				.nv_temp_target_min = 75,
				.nv_temp_target_max = 87,
			},
			.requires_fan_curve = true,
		},
	},
	{
		.matches = {
			DMI_MATCH(DMI_BOARD_NAME, "H7606W"),
+1 −0
Original line number Diff line number Diff line
@@ -580,6 +580,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
	{ KE_KEY, 0x2a, { KEY_SELECTIVE_SCREENSHOT } },
	{ KE_IGNORE, 0x2b, }, /* PrintScreen (also send via PS/2) on newer models */
	{ KE_IGNORE, 0x2c, }, /* CapsLock (also send via PS/2) on newer models */
	{ KE_KEY, 0x2d, { KEY_DISPLAYTOGGLE } },
	{ KE_KEY, 0x30, { KEY_VOLUMEUP } },
	{ KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
	{ KE_KEY, 0x32, { KEY_MUTE } },
+32 −0
Original line number Diff line number Diff line
@@ -89,6 +89,30 @@ static struct awcc_quirks generic_quirks = {
static struct awcc_quirks empty_quirks;

static const struct dmi_system_id awcc_dmi_table[] __initconst = {
	{
		.ident = "Alienware 16 Area-51",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Alienware"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Alienware 16 Area-51"),
		},
		.driver_data = &g_series_quirks,
	},
	{
		.ident = "Alienware 16X Aurora",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Alienware"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Alienware 16X Aurora"),
		},
		.driver_data = &g_series_quirks,
	},
	{
		.ident = "Alienware 18 Area-51",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Alienware"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Alienware 18 Area-51"),
		},
		.driver_data = &g_series_quirks,
	},
	{
		.ident = "Alienware 16 Aurora",
		.matches = {
@@ -161,6 +185,14 @@ static const struct dmi_system_id awcc_dmi_table[] __initconst = {
		},
		.driver_data = &generic_quirks,
	},
	{
		.ident = "Alienware x16",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Alienware"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Alienware x16"),
		},
		.driver_data = &g_series_quirks,
	},
	{
		.ident = "Alienware x17",
		.matches = {
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ static const struct dmi_system_id lis3lv02d_devices[] __initconst = {
	/*
	 * Additional individual entries were added after verification.
	 */
	DELL_LIS3LV02D_DMI_ENTRY("Latitude 5400",      0x29),
	DELL_LIS3LV02D_DMI_ENTRY("Latitude 5480",      0x29),
	DELL_LIS3LV02D_DMI_ENTRY("Latitude 5500",      0x29),
	DELL_LIS3LV02D_DMI_ENTRY("Latitude E6330",     0x29),
+2 −2
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ static int hp_populate_enumeration_elements_from_package(union acpi_object *enum
		case PREREQUISITES:
			size = min_t(u32, enum_data->common.prerequisites_size, MAX_PREREQUISITES_SIZE);
			for (reqs = 0; reqs < size; reqs++) {
				if (elem >= enum_obj_count) {
				if (elem + reqs >= enum_obj_count) {
					pr_err("Error enum-objects package is too small\n");
					return -EINVAL;
				}
@@ -255,7 +255,7 @@ static int hp_populate_enumeration_elements_from_package(union acpi_object *enum

			for (pos_values = 0; pos_values < size && pos_values < MAX_VALUES_SIZE;
			     pos_values++) {
				if (elem >= enum_obj_count) {
				if (elem + pos_values >= enum_obj_count) {
					pr_err("Error enum-objects package is too small\n");
					return -EINVAL;
				}
Loading