diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-29 07:12:02 +1200 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-29 07:12:02 +1200 | 
| commit | f9a59dd09749c6303821e5d6cdff1affdb5917dd (patch) | |
| tree | 76db749d40faf881912b8e187ada1c12bf82e4b6 /drivers | |
| parent | a18093afa393d03599cbe42da2eb00d84a1c9a34 (diff) | |
| parent | a3379eca24a7da5118a7d090da6f8eb8611acac8 (diff) | |
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
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/platform/x86/amd/pmc/pmc.c | 3 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-nb-wmi.c | 20 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-wmi.h | 1 | ||||
| -rw-r--r-- | drivers/platform/x86/x86-android-tablets/dmi.c | 1 | 
4 files changed, 23 insertions, 2 deletions
| diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c index c3e51f0a5c33..bbb8edb62e00 100644 --- a/drivers/platform/x86/amd/pmc/pmc.c +++ b/drivers/platform/x86/amd/pmc/pmc.c @@ -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; diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c index fceffe2082ec..ed3633c5955d 100644 --- a/drivers/platform/x86/asus-nb-wmi.c +++ b/drivers/platform/x86/asus-nb-wmi.c @@ -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;  	}  } diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h index cc30f1853847..d02f15fd3482 100644 --- a/drivers/platform/x86/asus-wmi.h +++ b/drivers/platform/x86/asus-wmi.h @@ -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;  	/* diff --git a/drivers/platform/x86/x86-android-tablets/dmi.c b/drivers/platform/x86/x86-android-tablets/dmi.c index 141a2d25e83b..387dd092c4dd 100644 --- a/drivers/platform/x86/x86-android-tablets/dmi.c +++ b/drivers/platform/x86/x86-android-tablets/dmi.c @@ -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, | 
