[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <efca6c13-e1d4-4148-8c41-4983b8fca032@kernel.org>
Date: Thu, 26 Sep 2024 10:17:58 -0500
From: Mario Limonciello <superm1@...nel.org>
To: "Luke D. Jones" <luke@...nes.dev>, linux-kernel@...r.kernel.org
Cc: linux-input@...r.kernel.org, bentiss@...nel.org, jikos@...nel.org,
platform-driver-x86@...r.kernel.org, ilpo.jarvinen@...ux.intel.com,
hdegoede@...hat.com, corentin.chary@...il.com
Subject: Re: [PATCH v4 4/9] platform/x86: asus-armoury: add panel_hd_mode
attribute
On 9/26/2024 04:29, Luke D. Jones wrote:
> Add panel_hd_mode to toggle the panel mode between single and high
> definition modes.
>
> Signed-off-by: Luke D. Jones <luke@...nes.dev>
This patch looks good to me.
Reviewed-by: Mario Limonciello <mario.limonciello@....com>
---
But that being said; mostly to satisfy my curiosity could you share more
about what this actually does?
Does it change the EDID exposed in the BIOS in ACPI _DDC? At least for
AMD platforms that would mean it only works with this patch (which is on
it's way):
https://lore.kernel.org/amd-gfx/20240918213845.158293-11-mario.limonciello@amd.com/
> ---
> drivers/platform/x86/asus-armoury.c | 6 +++++-
> include/linux/platform_data/x86/asus-wmi.h | 1 +
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/x86/asus-armoury.c
> index 39e422b16b8e..15eab4d45b81 100644
> --- a/drivers/platform/x86/asus-armoury.c
> +++ b/drivers/platform/x86/asus-armoury.c
> @@ -106,7 +106,8 @@ static struct kobj_attribute pending_reboot = __ATTR_RO(pending_reboot);
>
> static bool asus_bios_requires_reboot(struct kobj_attribute *attr)
> {
> - return !strcmp(attr->attr.name, "gpu_mux_mode");
> + return !strcmp(attr->attr.name, "gpu_mux_mode") ||
> + !strcmp(attr->attr.name, "panel_hd_mode");
> }
>
> /**
> @@ -429,6 +430,8 @@ ATTR_GROUP_BOOL_RW(mcu_powersave, "mcu_powersave", ASUS_WMI_DEVID_MCU_POWERSAVE,
> "Set MCU powersaving mode");
> ATTR_GROUP_BOOL_RW(panel_od, "panel_overdrive", ASUS_WMI_DEVID_PANEL_OD,
> "Set the panel refresh overdrive");
> +ATTR_GROUP_BOOL_RW(panel_hd_mode, "panel_hd_mode", ASUS_WMI_DEVID_PANEL_HD,
> + "Set the panel HD mode to UHD<0> or FHD<1>");
> ATTR_GROUP_BOOL_RO(egpu_connected, "egpu_connected", ASUS_WMI_DEVID_EGPU_CONNECTED,
> "Show the eGPU connection status");
>
> @@ -442,6 +445,7 @@ static const struct asus_attr_group armoury_attr_groups[] = {
> { &boot_sound_attr_group, ASUS_WMI_DEVID_BOOT_SOUND },
> { &mcu_powersave_attr_group, ASUS_WMI_DEVID_MCU_POWERSAVE },
> { &panel_od_attr_group, ASUS_WMI_DEVID_PANEL_OD },
> + { &panel_hd_mode_attr_group, ASUS_WMI_DEVID_PANEL_HD },
> };
>
> static int asus_fw_attr_add(void)
> diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
> index 6ea4dedfb85e..7caf2c7ed8c9 100644
> --- a/include/linux/platform_data/x86/asus-wmi.h
> +++ b/include/linux/platform_data/x86/asus-wmi.h
> @@ -73,6 +73,7 @@
> #define ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_VIVO 0x00110019
>
> /* Misc */
> +#define ASUS_WMI_DEVID_PANEL_HD 0x0005001C
> #define ASUS_WMI_DEVID_PANEL_OD 0x00050019
> #define ASUS_WMI_DEVID_CAMERA 0x00060013
> #define ASUS_WMI_DEVID_LID_FLIP 0x00060062
Powered by blists - more mailing lists