Commit f9a59dd0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v6.11-5' of...

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

Pull x86 platform drivers fixes from Ilpo Järvinen:

 - platform/x86/amd/pmc: AMD 1Ah model 60h series support (2nd attempt)

 - asus-wmi: Prevent spurious rfkill on Asus Zenbook Duo

 - x86-android-tablets: Relax DMI match to cover another model

* tag 'platform-drivers-x86-v6.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict
  platform/x86: asus-wmi: Fix spurious rfkill on UX8406MA
  platform/x86/amd/pmc: Extend support for PMC features on new AMD platform
  platform/x86/amd/pmc: Fix SMU command submission path on new AMD platform
parents a18093af a3379eca
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -359,6 +359,7 @@ static void amd_pmc_get_ip_info(struct amd_pmc_dev *dev)
		dev->smu_msg = 0x538;
		break;
	case PCI_DEVICE_ID_AMD_1AH_M20H_ROOT:
	case PCI_DEVICE_ID_AMD_1AH_M60H_ROOT:
		dev->num_ips = 22;
		dev->s2d_msg_id = 0xDE;
		dev->smu_msg = 0x938;
@@ -597,6 +598,7 @@ static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev,
		val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_YC);
		break;
	case PCI_DEVICE_ID_AMD_1AH_M20H_ROOT:
	case PCI_DEVICE_ID_AMD_1AH_M60H_ROOT:
		val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_1AH);
		break;
	default:
@@ -630,6 +632,7 @@ static bool amd_pmc_is_stb_supported(struct amd_pmc_dev *dev)
	case AMD_CPU_ID_CB:
	case AMD_CPU_ID_PS:
	case PCI_DEVICE_ID_AMD_1AH_M20H_ROOT:
	case PCI_DEVICE_ID_AMD_1AH_M60H_ROOT:
		return true;
	default:
		return false;
+19 −1
Original line number Diff line number Diff line
@@ -145,6 +145,10 @@ static struct quirk_entry quirk_asus_ignore_fan = {
	.wmi_ignore_fan = true,
};

static struct quirk_entry quirk_asus_zenbook_duo_kbd = {
	.ignore_key_wlan = true,
};

static int dmi_matched(const struct dmi_system_id *dmi)
{
	pr_info("Identified laptop model '%s'\n", dmi->ident);
@@ -516,6 +520,15 @@ static const struct dmi_system_id asus_quirks[] = {
		},
		.driver_data = &quirk_asus_ignore_fan,
	},
	{
		.callback = dmi_matched,
		.ident = "ASUS Zenbook Duo UX8406MA",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
			DMI_MATCH(DMI_PRODUCT_NAME, "UX8406MA"),
		},
		.driver_data = &quirk_asus_zenbook_duo_kbd,
	},
	{},
};

@@ -630,7 +643,12 @@ static void asus_nb_wmi_key_filter(struct asus_wmi_driver *asus_wmi, int *code,
	case 0x32: /* Volume Mute */
		if (atkbd_reports_vol_keys)
			*code = ASUS_WMI_KEY_IGNORE;

		break;
	case 0x5D: /* Wireless console Toggle */
	case 0x5E: /* Wireless console Enable */
	case 0x5F: /* Wireless console Disable */
		if (quirks->ignore_key_wlan)
			*code = ASUS_WMI_KEY_IGNORE;
		break;
	}
}
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ struct quirk_entry {
	bool wmi_force_als_set;
	bool wmi_ignore_fan;
	bool filter_i8042_e1_extended_codes;
	bool ignore_key_wlan;
	enum asus_wmi_tablet_switch_mode tablet_switch_mode;
	int wapf;
	/*
+0 −1
Original line number Diff line number Diff line
@@ -140,7 +140,6 @@ const struct dmi_system_id x86_android_tablet_ids[] __initconst = {
		/* Lenovo Yoga Tab 3 Pro YT3-X90F */
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
			DMI_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
			DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"),
		},
		.driver_data = (void *)&lenovo_yt3_info,