* [PATCH 0/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
@ 2025-04-11 15:55 Werner Sembach
2025-04-11 15:55 ` [PATCH 1/1] " Werner Sembach
0 siblings, 1 reply; 7+ messages in thread
From: Werner Sembach @ 2025-04-11 15:55 UTC (permalink / raw)
To: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona
Cc: intel-gfx, intel-xe, dri-devel, linux-kernel, Werner Sembach
This is a quirk we currently manually apply via our installer via the boot
parameter, but we don't have this exact device + panel configuration in our
archive anymore so I could only test the qurik moking in other ids. This is
the same situation we have here:
https://lore.kernel.org/all/20250409163029.130651-1-wse@tuxedocomputers.com/
Werner Sembach (1):
drm/i915/display: Add quirk to force backlight type on some TUXEDO
devices
.../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
3 files changed, 56 insertions(+), 1 deletion(-)
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-04-11 15:55 [PATCH 0/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices Werner Sembach
@ 2025-04-11 15:55 ` Werner Sembach
2025-04-11 18:56 ` Ville Syrjälä
2025-06-23 17:45 ` Werner Sembach
0 siblings, 2 replies; 7+ messages in thread
From: Werner Sembach @ 2025-04-11 15:55 UTC (permalink / raw)
To: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona
Cc: intel-gfx, intel-xe, dri-devel, linux-kernel, Werner Sembach
The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
able to control the brightness.
This could already be archived via a module parameter, but this patch adds
a quirk to apply this by default on the mentioned device + panel
combinations.
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Cc: stable@vger.kernel.org
---
.../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
3 files changed, 56 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
index c846ef4acf5b2..0cac04c98a3e3 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -34,12 +34,14 @@
* for some reason.
*/
+#include <drm/drm_edid.h>
#include "i915_utils.h"
#include "intel_backlight.h"
#include "intel_display_core.h"
#include "intel_display_types.h"
#include "intel_dp.h"
#include "intel_dp_aux_backlight.h"
+#include "intel_quirks.h"
/*
* DP AUX registers for Intel's proprietary HDR backlight interface. We define
@@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
struct drm_device *dev = connector->base.dev;
struct intel_panel *panel = &connector->panel;
bool try_intel_interface = false, try_vesa_interface = false;
+ int enable_dpcd_backlight;
+ u32 pnl_id;
/* Check the VBT and user's module parameters to figure out which
* interfaces to probe
*/
- switch (display->params.enable_dpcd_backlight) {
+ enable_dpcd_backlight = display->params.enable_dpcd_backlight;
+ if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
+ intel_has_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
+ pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
+ if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
+ pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
+ enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
+ }
+ switch (enable_dpcd_backlight) {
case INTEL_DP_AUX_BACKLIGHT_OFF:
return -ENODEV;
case INTEL_DP_AUX_BACKLIGHT_AUTO:
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index 8b30e9fd936e7..6f724e5712664 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
}
+static void quirk_auo_12701_21229_enable_dpcd_backlight(struct intel_display *display)
+{
+ intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
+ drm_info(display->drm, "Applying Display AUO Model 12701 and 21229 Enable DPCD Backlight quirk\n");
+}
+
struct intel_quirk {
int device;
int subsystem_vendor;
@@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
return 1;
}
+static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct dmi_system_id *id)
+{
+ DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on %s\n", id->ident);
+ return 1;
+}
+
static const struct intel_dmi_quirk intel_dmi_quirks[] = {
{
.dmi_id_list = &(const struct dmi_system_id[]) {
@@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
},
.hook = quirk_no_pps_backlight_power_hook,
},
+ {
+ .dmi_id_list = &(const struct dmi_system_id[]) {
+ {
+ .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
+ .ident = "TUXEDO DX1708",
+ .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
+ },
+ },
+ {
+ .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
+ .ident = "TUXEDO InsanityBook 15 v1",
+ .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
+ },
+ },
+ {
+ .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
+ .ident = "TUXEDO InsanityBook 15 v1",
+ .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
+ },
+ },
+ {
+ .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
+ .ident = "TUXEDO InsanityBook 15 v1",
+ .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
+ },
+ },
+ { }
+ },
+ .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
+ },
};
static struct intel_quirk intel_quirks[] = {
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
index cafdebda75354..38bdbd65d7efb 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.h
+++ b/drivers/gpu/drm/i915/display/intel_quirks.h
@@ -20,6 +20,7 @@ enum intel_quirk_id {
QUIRK_LVDS_SSC_DISABLE,
QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
QUIRK_FW_SYNC_LEN,
+ QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
};
void intel_init_quirks(struct intel_display *display);
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-04-11 15:55 ` [PATCH 1/1] " Werner Sembach
@ 2025-04-11 18:56 ` Ville Syrjälä
2025-04-15 15:48 ` Werner Sembach
2025-06-23 17:45 ` Werner Sembach
1 sibling, 1 reply; 7+ messages in thread
From: Ville Syrjälä @ 2025-04-11 18:56 UTC (permalink / raw)
To: Werner Sembach
Cc: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona, intel-gfx, intel-xe, dri-devel, linux-kernel
On Fri, Apr 11, 2025 at 05:55:08PM +0200, Werner Sembach wrote:
> The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
> AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
> able to control the brightness.
>
> This could already be archived via a module parameter, but this patch adds
> a quirk to apply this by default on the mentioned device + panel
> combinations.
Why aren't you fixing the VBT to be correct in the first place?
>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> Cc: stable@vger.kernel.org
> ---
> .../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
> drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> 3 files changed, 56 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index c846ef4acf5b2..0cac04c98a3e3 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -34,12 +34,14 @@
> * for some reason.
> */
>
> +#include <drm/drm_edid.h>
> #include "i915_utils.h"
> #include "intel_backlight.h"
> #include "intel_display_core.h"
> #include "intel_display_types.h"
> #include "intel_dp.h"
> #include "intel_dp_aux_backlight.h"
> +#include "intel_quirks.h"
>
> /*
> * DP AUX registers for Intel's proprietary HDR backlight interface. We define
> @@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
> struct drm_device *dev = connector->base.dev;
> struct intel_panel *panel = &connector->panel;
> bool try_intel_interface = false, try_vesa_interface = false;
> + int enable_dpcd_backlight;
> + u32 pnl_id;
>
> /* Check the VBT and user's module parameters to figure out which
> * interfaces to probe
> */
> - switch (display->params.enable_dpcd_backlight) {
> + enable_dpcd_backlight = display->params.enable_dpcd_backlight;
> + if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
> + intel_has_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
> + pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
> + if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
> + pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
> + enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
> + }
> + switch (enable_dpcd_backlight) {
> case INTEL_DP_AUX_BACKLIGHT_OFF:
> return -ENODEV;
> case INTEL_DP_AUX_BACKLIGHT_AUTO:
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
> index 8b30e9fd936e7..6f724e5712664 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
> @@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
> drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
> }
>
> +static void quirk_auo_12701_21229_enable_dpcd_backlight(struct intel_display *display)
> +{
> + intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
> + drm_info(display->drm, "Applying Display AUO Model 12701 and 21229 Enable DPCD Backlight quirk\n");
> +}
> +
> struct intel_quirk {
> int device;
> int subsystem_vendor;
> @@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
> return 1;
> }
>
> +static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct dmi_system_id *id)
> +{
> + DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on %s\n", id->ident);
> + return 1;
> +}
> +
> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
> {
> .dmi_id_list = &(const struct dmi_system_id[]) {
> @@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
> },
> .hook = quirk_no_pps_backlight_power_hook,
> },
> + {
> + .dmi_id_list = &(const struct dmi_system_id[]) {
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO DX1708",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
> + },
> + },
> + { }
> + },
> + .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
> + },
> };
>
> static struct intel_quirk intel_quirks[] = {
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
> index cafdebda75354..38bdbd65d7efb 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
> @@ -20,6 +20,7 @@ enum intel_quirk_id {
> QUIRK_LVDS_SSC_DISABLE,
> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
> QUIRK_FW_SYNC_LEN,
> + QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
> };
>
> void intel_init_quirks(struct intel_display *display);
> --
> 2.43.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-04-11 18:56 ` Ville Syrjälä
@ 2025-04-15 15:48 ` Werner Sembach
2025-07-22 11:40 ` Werner Sembach
0 siblings, 1 reply; 7+ messages in thread
From: Werner Sembach @ 2025-04-15 15:48 UTC (permalink / raw)
To: Ville Syrjälä
Cc: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona, intel-gfx, intel-xe, dri-devel, linux-kernel
Hi,
Am 11.04.25 um 20:56 schrieb Ville Syrjälä:
> On Fri, Apr 11, 2025 at 05:55:08PM +0200, Werner Sembach wrote:
>> The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
>> AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
>> able to control the brightness.
>>
>> This could already be archived via a module parameter, but this patch adds
>> a quirk to apply this by default on the mentioned device + panel
>> combinations.
> Why aren't you fixing the VBT to be correct in the first place?
I don't have access to the firmware source code and these are quite old devices
so I also can't request a fix from the ODM. Besides: it can be quite hard to
explain to the ODM what exactly the problem is if it doesn't also affect Windows.
Best regards,
Werner Sembach
>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> Cc: stable@vger.kernel.org
>> ---
>> .../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
>> drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>> 3 files changed, 56 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>> index c846ef4acf5b2..0cac04c98a3e3 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>> @@ -34,12 +34,14 @@
>> * for some reason.
>> */
>>
>> +#include <drm/drm_edid.h>
>> #include "i915_utils.h"
>> #include "intel_backlight.h"
>> #include "intel_display_core.h"
>> #include "intel_display_types.h"
>> #include "intel_dp.h"
>> #include "intel_dp_aux_backlight.h"
>> +#include "intel_quirks.h"
>>
>> /*
>> * DP AUX registers for Intel's proprietary HDR backlight interface. We define
>> @@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
>> struct drm_device *dev = connector->base.dev;
>> struct intel_panel *panel = &connector->panel;
>> bool try_intel_interface = false, try_vesa_interface = false;
>> + int enable_dpcd_backlight;
>> + u32 pnl_id;
>>
>> /* Check the VBT and user's module parameters to figure out which
>> * interfaces to probe
>> */
>> - switch (display->params.enable_dpcd_backlight) {
>> + enable_dpcd_backlight = display->params.enable_dpcd_backlight;
>> + if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
>> + intel_has_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
>> + pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
>> + if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
>> + pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
>> + enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
>> + }
>> + switch (enable_dpcd_backlight) {
>> case INTEL_DP_AUX_BACKLIGHT_OFF:
>> return -ENODEV;
>> case INTEL_DP_AUX_BACKLIGHT_AUTO:
>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
>> index 8b30e9fd936e7..6f724e5712664 100644
>> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
>> @@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
>> drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
>> }
>>
>> +static void quirk_auo_12701_21229_enable_dpcd_backlight(struct intel_display *display)
>> +{
>> + intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
>> + drm_info(display->drm, "Applying Display AUO Model 12701 and 21229 Enable DPCD Backlight quirk\n");
>> +}
>> +
>> struct intel_quirk {
>> int device;
>> int subsystem_vendor;
>> @@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
>> return 1;
>> }
>>
>> +static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct dmi_system_id *id)
>> +{
>> + DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on %s\n", id->ident);
>> + return 1;
>> +}
>> +
>> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>> {
>> .dmi_id_list = &(const struct dmi_system_id[]) {
>> @@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>> },
>> .hook = quirk_no_pps_backlight_power_hook,
>> },
>> + {
>> + .dmi_id_list = &(const struct dmi_system_id[]) {
>> + {
>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>> + .ident = "TUXEDO DX1708",
>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
>> + },
>> + },
>> + {
>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>> + .ident = "TUXEDO InsanityBook 15 v1",
>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
>> + },
>> + },
>> + {
>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>> + .ident = "TUXEDO InsanityBook 15 v1",
>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
>> + },
>> + },
>> + {
>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>> + .ident = "TUXEDO InsanityBook 15 v1",
>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
>> + },
>> + },
>> + { }
>> + },
>> + .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
>> + },
>> };
>>
>> static struct intel_quirk intel_quirks[] = {
>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
>> index cafdebda75354..38bdbd65d7efb 100644
>> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
>> @@ -20,6 +20,7 @@ enum intel_quirk_id {
>> QUIRK_LVDS_SSC_DISABLE,
>> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
>> QUIRK_FW_SYNC_LEN,
>> + QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
>> };
>>
>> void intel_init_quirks(struct intel_display *display);
>> --
>> 2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-04-11 15:55 ` [PATCH 1/1] " Werner Sembach
2025-04-11 18:56 ` Ville Syrjälä
@ 2025-06-23 17:45 ` Werner Sembach
1 sibling, 0 replies; 7+ messages in thread
From: Werner Sembach @ 2025-06-23 17:45 UTC (permalink / raw)
To: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona
Cc: intel-gfx, intel-xe, dri-devel, linux-kernel
gentle bump
Am 11.04.25 um 17:55 schrieb Werner Sembach:
> The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
> AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
> able to control the brightness.
>
> This could already be archived via a module parameter, but this patch adds
> a quirk to apply this by default on the mentioned device + panel
> combinations.
>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> Cc: stable@vger.kernel.org
> ---
> .../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
> drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> 3 files changed, 56 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index c846ef4acf5b2..0cac04c98a3e3 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -34,12 +34,14 @@
> * for some reason.
> */
>
> +#include <drm/drm_edid.h>
> #include "i915_utils.h"
> #include "intel_backlight.h"
> #include "intel_display_core.h"
> #include "intel_display_types.h"
> #include "intel_dp.h"
> #include "intel_dp_aux_backlight.h"
> +#include "intel_quirks.h"
>
> /*
> * DP AUX registers for Intel's proprietary HDR backlight interface. We define
> @@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
> struct drm_device *dev = connector->base.dev;
> struct intel_panel *panel = &connector->panel;
> bool try_intel_interface = false, try_vesa_interface = false;
> + int enable_dpcd_backlight;
> + u32 pnl_id;
>
> /* Check the VBT and user's module parameters to figure out which
> * interfaces to probe
> */
> - switch (display->params.enable_dpcd_backlight) {
> + enable_dpcd_backlight = display->params.enable_dpcd_backlight;
> + if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
> + intel_has_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
> + pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
> + if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
> + pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
> + enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
> + }
> + switch (enable_dpcd_backlight) {
> case INTEL_DP_AUX_BACKLIGHT_OFF:
> return -ENODEV;
> case INTEL_DP_AUX_BACKLIGHT_AUTO:
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
> index 8b30e9fd936e7..6f724e5712664 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
> @@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
> drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
> }
>
> +static void quirk_auo_12701_21229_enable_dpcd_backlight(struct intel_display *display)
> +{
> + intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
> + drm_info(display->drm, "Applying Display AUO Model 12701 and 21229 Enable DPCD Backlight quirk\n");
> +}
> +
> struct intel_quirk {
> int device;
> int subsystem_vendor;
> @@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
> return 1;
> }
>
> +static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct dmi_system_id *id)
> +{
> + DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on %s\n", id->ident);
> + return 1;
> +}
> +
> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
> {
> .dmi_id_list = &(const struct dmi_system_id[]) {
> @@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
> },
> .hook = quirk_no_pps_backlight_power_hook,
> },
> + {
> + .dmi_id_list = &(const struct dmi_system_id[]) {
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO DX1708",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
> + },
> + },
> + {
> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
> + .ident = "TUXEDO InsanityBook 15 v1",
> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
> + },
> + },
> + { }
> + },
> + .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
> + },
> };
>
> static struct intel_quirk intel_quirks[] = {
> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
> index cafdebda75354..38bdbd65d7efb 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
> @@ -20,6 +20,7 @@ enum intel_quirk_id {
> QUIRK_LVDS_SSC_DISABLE,
> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
> QUIRK_FW_SYNC_LEN,
> + QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
> };
>
> void intel_init_quirks(struct intel_display *display);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-04-15 15:48 ` Werner Sembach
@ 2025-07-22 11:40 ` Werner Sembach
2025-08-22 21:21 ` Werner Sembach
0 siblings, 1 reply; 7+ messages in thread
From: Werner Sembach @ 2025-07-22 11:40 UTC (permalink / raw)
To: Ville Syrjälä
Cc: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona, intel-gfx, intel-xe, dri-devel, linux-kernel
Hi,
Am 15.04.25 um 17:48 schrieb Werner Sembach:
> Hi,
>
> Am 11.04.25 um 20:56 schrieb Ville Syrjälä:
>> On Fri, Apr 11, 2025 at 05:55:08PM +0200, Werner Sembach wrote:
>>> The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
>>> AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
>>> able to control the brightness.
>>>
>>> This could already be archived via a module parameter, but this patch adds
>>> a quirk to apply this by default on the mentioned device + panel
>>> combinations.
>> Why aren't you fixing the VBT to be correct in the first place?
>
> I don't have access to the firmware source code and these are quite old
> devices so I also can't request a fix from the ODM. Besides: it can be quite
> hard to explain to the ODM what exactly the problem is if it doesn't also
> affect Windows.
TBH I don't know what VBT stands for, I just assumed it has to to with the
displays firmware?
Unlike I wrote in the cover letter we actually still had an affected device in
our archives -> the issue persists and the quirk is still necessary.
Best Regards,
Werner
>
> Best regards,
>
> Werner Sembach
>
>>
>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>> Cc: stable@vger.kernel.org
>>> ---
>>> .../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
>>> drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
>>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>>> 3 files changed, 56 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>> b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>> index c846ef4acf5b2..0cac04c98a3e3 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>> @@ -34,12 +34,14 @@
>>> * for some reason.
>>> */
>>> +#include <drm/drm_edid.h>
>>> #include "i915_utils.h"
>>> #include "intel_backlight.h"
>>> #include "intel_display_core.h"
>>> #include "intel_display_types.h"
>>> #include "intel_dp.h"
>>> #include "intel_dp_aux_backlight.h"
>>> +#include "intel_quirks.h"
>>> /*
>>> * DP AUX registers for Intel's proprietary HDR backlight interface. We
>>> define
>>> @@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct
>>> intel_connector *connector)
>>> struct drm_device *dev = connector->base.dev;
>>> struct intel_panel *panel = &connector->panel;
>>> bool try_intel_interface = false, try_vesa_interface = false;
>>> + int enable_dpcd_backlight;
>>> + u32 pnl_id;
>>> /* Check the VBT and user's module parameters to figure out which
>>> * interfaces to probe
>>> */
>>> - switch (display->params.enable_dpcd_backlight) {
>>> + enable_dpcd_backlight = display->params.enable_dpcd_backlight;
>>> + if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
>>> + intel_has_quirk(display,
>>> QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
>>> + pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
>>> + if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
>>> + pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
>>> + enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
>>> + }
>>> + switch (enable_dpcd_backlight) {
>>> case INTEL_DP_AUX_BACKLIGHT_OFF:
>>> return -ENODEV;
>>> case INTEL_DP_AUX_BACKLIGHT_AUTO:
>>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c
>>> b/drivers/gpu/drm/i915/display/intel_quirks.c
>>> index 8b30e9fd936e7..6f724e5712664 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
>>> @@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
>>> drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
>>> }
>>> +static void quirk_auo_12701_21229_enable_dpcd_backlight(struct
>>> intel_display *display)
>>> +{
>>> + intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
>>> + drm_info(display->drm, "Applying Display AUO Model 12701 and 21229
>>> Enable DPCD Backlight quirk\n");
>>> +}
>>> +
>>> struct intel_quirk {
>>> int device;
>>> int subsystem_vendor;
>>> @@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct
>>> dmi_system_id *id)
>>> return 1;
>>> }
>>> +static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct
>>> dmi_system_id *id)
>>> +{
>>> + DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on
>>> %s\n", id->ident);
>>> + return 1;
>>> +}
>>> +
>>> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>>> {
>>> .dmi_id_list = &(const struct dmi_system_id[]) {
>>> @@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>>> },
>>> .hook = quirk_no_pps_backlight_power_hook,
>>> },
>>> + {
>>> + .dmi_id_list = &(const struct dmi_system_id[]) {
>>> + {
>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>> + .ident = "TUXEDO DX1708",
>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
>>> + },
>>> + },
>>> + {
>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
>>> + },
>>> + },
>>> + {
>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
>>> + },
>>> + },
>>> + {
>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
>>> + },
>>> + },
>>> + { }
>>> + },
>>> + .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
>>> + },
>>> };
>>> static struct intel_quirk intel_quirks[] = {
>>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h
>>> b/drivers/gpu/drm/i915/display/intel_quirks.h
>>> index cafdebda75354..38bdbd65d7efb 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
>>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
>>> @@ -20,6 +20,7 @@ enum intel_quirk_id {
>>> QUIRK_LVDS_SSC_DISABLE,
>>> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
>>> QUIRK_FW_SYNC_LEN,
>>> + QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
>>> };
>>> void intel_init_quirks(struct intel_display *display);
>>> --
>>> 2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices
2025-07-22 11:40 ` Werner Sembach
@ 2025-08-22 21:21 ` Werner Sembach
0 siblings, 0 replies; 7+ messages in thread
From: Werner Sembach @ 2025-08-22 21:21 UTC (permalink / raw)
To: Ville Syrjälä
Cc: jani.nikula, rodrigo.vivi, joonas.lahtinen, tursulin, airlied,
simona, intel-gfx, intel-xe, dri-devel, linux-kernel
Hi,
Am 22.07.25 um 13:40 schrieb Werner Sembach:
> Hi,
>
> Am 15.04.25 um 17:48 schrieb Werner Sembach:
>> Hi,
>>
>> Am 11.04.25 um 20:56 schrieb Ville Syrjälä:
>>> On Fri, Apr 11, 2025 at 05:55:08PM +0200, Werner Sembach wrote:
>>>> The display backlight on TUXEDO DX1708 and InsanityBook 15 v1 with panels
>>>> AUO 12701 and AUO 12701 must be forced to INTEL_DP_AUX_BACKLIGHT_ON to be
>>>> able to control the brightness.
>>>>
>>>> This could already be archived via a module parameter, but this patch adds
>>>> a quirk to apply this by default on the mentioned device + panel
>>>> combinations.
>>> Why aren't you fixing the VBT to be correct in the first place?
>>
>> I don't have access to the firmware source code and these are quite old
>> devices so I also can't request a fix from the ODM. Besides: it can be quite
>> hard to explain to the ODM what exactly the problem is if it doesn't also
>> affect Windows.
>
> TBH I don't know what VBT stands for, I just assumed it has to to with the
> displays firmware?
>
> Unlike I wrote in the cover letter we actually still had an affected device in
> our archives -> the issue persists and the quirk is still necessary.
Hope a gentle bump here is ok
>
> Best Regards,
>
> Werner
>
>>
>> Best regards,
>>
>> Werner Sembach
>>
>>>
>>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>>> Cc: stable@vger.kernel.org
>>>> ---
>>>> .../drm/i915/display/intel_dp_aux_backlight.c | 14 ++++++-
>>>> drivers/gpu/drm/i915/display/intel_quirks.c | 42 +++++++++++++++++++
>>>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>>>> 3 files changed, 56 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>>> b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>>> index c846ef4acf5b2..0cac04c98a3e3 100644
>>>> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>>> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
>>>> @@ -34,12 +34,14 @@
>>>> * for some reason.
>>>> */
>>>> +#include <drm/drm_edid.h>
>>>> #include "i915_utils.h"
>>>> #include "intel_backlight.h"
>>>> #include "intel_display_core.h"
>>>> #include "intel_display_types.h"
>>>> #include "intel_dp.h"
>>>> #include "intel_dp_aux_backlight.h"
>>>> +#include "intel_quirks.h"
>>>> /*
>>>> * DP AUX registers for Intel's proprietary HDR backlight interface. We
>>>> define
>>>> @@ -607,11 +609,21 @@ int intel_dp_aux_init_backlight_funcs(struct
>>>> intel_connector *connector)
>>>> struct drm_device *dev = connector->base.dev;
>>>> struct intel_panel *panel = &connector->panel;
>>>> bool try_intel_interface = false, try_vesa_interface = false;
>>>> + int enable_dpcd_backlight;
>>>> + u32 pnl_id;
>>>> /* Check the VBT and user's module parameters to figure out which
>>>> * interfaces to probe
>>>> */
>>>> - switch (display->params.enable_dpcd_backlight) {
>>>> + enable_dpcd_backlight = display->params.enable_dpcd_backlight;
>>>> + if (enable_dpcd_backlight == INTEL_DP_AUX_BACKLIGHT_AUTO &&
>>>> + intel_has_quirk(display,
>>>> QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT)) {
>>>> + pnl_id = drm_edid_get_panel_id(panel->fixed_edid);
>>>> + if (pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x319d) ||
>>>> + pnl_id == drm_edid_encode_panel_id('A', 'U', 'O', 0x52ed))
>>>> + enable_dpcd_backlight = INTEL_DP_AUX_BACKLIGHT_ON;
>>>> + }
>>>> + switch (enable_dpcd_backlight) {
>>>> case INTEL_DP_AUX_BACKLIGHT_OFF:
>>>> return -ENODEV;
>>>> case INTEL_DP_AUX_BACKLIGHT_AUTO:
>>>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c
>>>> b/drivers/gpu/drm/i915/display/intel_quirks.c
>>>> index 8b30e9fd936e7..6f724e5712664 100644
>>>> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
>>>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
>>>> @@ -78,6 +78,12 @@ static void quirk_fw_sync_len(struct intel_dp *intel_dp)
>>>> drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
>>>> }
>>>> +static void quirk_auo_12701_21229_enable_dpcd_backlight(struct
>>>> intel_display *display)
>>>> +{
>>>> + intel_set_quirk(display, QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT);
>>>> + drm_info(display->drm, "Applying Display AUO Model 12701 and 21229
>>>> Enable DPCD Backlight quirk\n");
>>>> +}
>>>> +
>>>> struct intel_quirk {
>>>> int device;
>>>> int subsystem_vendor;
>>>> @@ -118,6 +124,12 @@ static int intel_dmi_no_pps_backlight(const struct
>>>> dmi_system_id *id)
>>>> return 1;
>>>> }
>>>> +static int intel_dmi_auo_12701_21229_enable_dpcd_backlight(const struct
>>>> dmi_system_id *id)
>>>> +{
>>>> + DRM_INFO("Display AUO model 12701 and 21229 DPCD backlight control on
>>>> %s\n", id->ident);
>>>> + return 1;
>>>> +}
>>>> +
>>>> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>>>> {
>>>> .dmi_id_list = &(const struct dmi_system_id[]) {
>>>> @@ -164,6 +176,36 @@ static const struct intel_dmi_quirk intel_dmi_quirks[]
>>>> = {
>>>> },
>>>> .hook = quirk_no_pps_backlight_power_hook,
>>>> },
>>>> + {
>>>> + .dmi_id_list = &(const struct dmi_system_id[]) {
>>>> + {
>>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>>> + .ident = "TUXEDO DX1708",
>>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "N8xEJEK"),
>>>> + },
>>>> + },
>>>> + {
>>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP"),
>>>> + },
>>>> + },
>>>> + {
>>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HR"),
>>>> + },
>>>> + },
>>>> + {
>>>> + .callback = intel_dmi_auo_12701_21229_enable_dpcd_backlight,
>>>> + .ident = "TUXEDO InsanityBook 15 v1",
>>>> + .matches = {DMI_MATCH(DMI_BOARD_NAME, "P95_HP,HR,HQ"),
>>>> + },
>>>> + },
>>>> + { }
>>>> + },
>>>> + .hook = quirk_auo_12701_21229_enable_dpcd_backlight,
>>>> + },
>>>> };
>>>> static struct intel_quirk intel_quirks[] = {
>>>> diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h
>>>> b/drivers/gpu/drm/i915/display/intel_quirks.h
>>>> index cafdebda75354..38bdbd65d7efb 100644
>>>> --- a/drivers/gpu/drm/i915/display/intel_quirks.h
>>>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
>>>> @@ -20,6 +20,7 @@ enum intel_quirk_id {
>>>> QUIRK_LVDS_SSC_DISABLE,
>>>> QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
>>>> QUIRK_FW_SYNC_LEN,
>>>> + QUIRK_AUO_12701_21229_ENABLE_DPCD_BACKLIGHT,
>>>> };
>>>> void intel_init_quirks(struct intel_display *display);
>>>> --
>>>> 2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-08-22 21:21 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-11 15:55 [PATCH 0/1] drm/i915/display: Add quirk to force backlight type on some TUXEDO devices Werner Sembach
2025-04-11 15:55 ` [PATCH 1/1] " Werner Sembach
2025-04-11 18:56 ` Ville Syrjälä
2025-04-15 15:48 ` Werner Sembach
2025-07-22 11:40 ` Werner Sembach
2025-08-22 21:21 ` Werner Sembach
2025-06-23 17:45 ` Werner Sembach
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).