* [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
@ 2025-07-04 19:03 Werner Sembach
2025-07-04 19:03 ` [RFC PATCH 1/1] " Werner Sembach
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Werner Sembach @ 2025-07-04 19:03 UTC (permalink / raw)
To: Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
David Airlie, Simona Vetter
Cc: Werner Sembach, intel-gfx, intel-xe, dri-devel, linux-kernel
RFC because I'm not sure if this is the right approach.
The flicker manifests ever few seconds 1-3 black frames in quick
succession.
On windows 300Hz can not be selected for the iGPU, but the panel advertises
it.
A cleaner solution would probably to go over the pixel clock, but for this
device there is only one 300Hz mode in the panels edid and that is at the
nativ resolution. Chroma subsampling was not tested as linux afaik offers
no way to easily enforce it for intel gpus.
Tim Guttzeit (1):
drm/i915/display: Avoid unsupported output mode with 300Hz on TUXEDO
device
drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
3 files changed, 36 insertions(+)
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-04 19:03 [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device Werner Sembach
@ 2025-07-04 19:03 ` Werner Sembach
2025-07-17 7:30 ` Murthy, Arun R
2025-07-04 19:22 ` [RFC PATCH 0/1] " Werner Sembach
2025-07-08 21:05 ` Rodrigo Vivi
2 siblings, 1 reply; 9+ messages in thread
From: Werner Sembach @ 2025-07-04 19:03 UTC (permalink / raw)
To: Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
David Airlie, Simona Vetter
Cc: Tim Guttzeit, Werner Sembach, intel-gfx, intel-xe, dri-devel,
linux-kernel
From: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
Removes all display modes with more than 240 Hz for the integrated display
on a TUXEDO Stellaris 16 Gen7, because using the iGPU with higer refresh
rates causes screen flicker.
Signed-off-by: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
Co-developed-by: Werner Sembach <wse@tuxedocomputers.com>
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
3 files changed, 36 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 640c43bf62d4c..5ce00cfe36ee1 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1436,6 +1436,11 @@ intel_dp_mode_valid(struct drm_connector *_connector,
if (mode->clock < 10000)
return MODE_CLOCK_LOW;
+ if (intel_has_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK) &&
+ intel_dp_is_edp(intel_dp) &&
+ drm_mode_vrefresh(mode) > 240)
+ return MODE_BAD;
+
fixed_mode = intel_panel_fixed_mode(connector, mode);
if (intel_dp_is_edp(intel_dp) && fixed_mode) {
status = intel_panel_mode_valid(connector, mode);
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index a32fae510ed27..438ce2cb37a01 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -72,6 +72,12 @@ static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
drm_info(display->drm, "Applying no pps backlight power quirk\n");
}
+static void quirk_edp_max_240hz_hook(struct intel_display *display)
+{
+ intel_set_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK);
+ drm_info(display->drm, "Applying max 240Hz quirk\n");
+}
+
static void quirk_fw_sync_len(struct intel_dp *intel_dp)
{
struct intel_display *display = to_intel_display(intel_dp);
@@ -120,6 +126,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
return 1;
}
+static int intel_dmi_edp_max_240hz(const struct dmi_system_id *id)
+{
+ DRM_INFO("Restrict output refreshrate to maximum 240Hz %s\n", id->ident);
+ return 1;
+}
+
static const struct intel_dmi_quirk intel_dmi_quirks[] = {
{
.dmi_id_list = &(const struct dmi_system_id[]) {
@@ -166,6 +178,24 @@ 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_edp_max_240hz,
+ .ident = "TUXEDO Stellaris 16 Intel Gen7",
+ .matches = {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY"),
+ },
+ },
+ {
+ .callback = intel_dmi_edp_max_240hz,
+ .ident = "TUXEDO Stellaris 16 Intel Gen7",
+ .matches = {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
+ },
+ },
+ { }
+ },
+ .hook = quirk_edp_max_240hz_hook,
+ },
};
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..8fe3f3467106a 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_EDP_MAX_240HZ_HOOK,
};
void intel_init_quirks(struct intel_display *display);
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-04 19:03 [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device Werner Sembach
2025-07-04 19:03 ` [RFC PATCH 1/1] " Werner Sembach
@ 2025-07-04 19:22 ` Werner Sembach
2025-07-08 21:05 ` Rodrigo Vivi
2 siblings, 0 replies; 9+ messages in thread
From: Werner Sembach @ 2025-07-04 19:22 UTC (permalink / raw)
To: Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
David Airlie, Simona Vetter
Cc: intel-gfx, intel-xe, dri-devel, linux-kernel, t.guttzeit
Forgot to add Tim to the cover letter cc (I have not yet found a nice way to
auto generate cover letter to's and cc's unlike for the actual patches)
Am 04.07.25 um 21:03 schrieb Werner Sembach:
> RFC because I'm not sure if this is the right approach.
>
> The flicker manifests ever few seconds 1-3 black frames in quick
> succession.
>
> On windows 300Hz can not be selected for the iGPU, but the panel advertises
> it.
>
> A cleaner solution would probably to go over the pixel clock, but for this
> device there is only one 300Hz mode in the panels edid and that is at the
> nativ resolution. Chroma subsampling was not tested as linux afaik offers
> no way to easily enforce it for intel gpus.
>
> Tim Guttzeit (1):
> drm/i915/display: Avoid unsupported output mode with 300Hz on TUXEDO
> device
>
> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
> drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> 3 files changed, 36 insertions(+)
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-04 19:03 [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device Werner Sembach
2025-07-04 19:03 ` [RFC PATCH 1/1] " Werner Sembach
2025-07-04 19:22 ` [RFC PATCH 0/1] " Werner Sembach
@ 2025-07-08 21:05 ` Rodrigo Vivi
2025-07-09 11:49 ` Werner Sembach
2 siblings, 1 reply; 9+ messages in thread
From: Rodrigo Vivi @ 2025-07-08 21:05 UTC (permalink / raw)
To: Werner Sembach
Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, David Airlie,
Simona Vetter, intel-gfx, intel-xe, dri-devel, linux-kernel
On Fri, Jul 04, 2025 at 09:03:45PM +0200, Werner Sembach wrote:
> RFC because I'm not sure if this is the right approach.
Could you please file a gitlab issue for us so we can get someone from our
display team to take a look and see if there's anything else that could be done
before we take the quirk route?
https://drm.pages.freedesktop.org/intel-docs/how-to-file-i915-bugs.html
Thanks for the investigation and the quirk,
Rodrigo.
>
> The flicker manifests ever few seconds 1-3 black frames in quick
> succession.
>
> On windows 300Hz can not be selected for the iGPU, but the panel advertises
> it.
>
> A cleaner solution would probably to go over the pixel clock, but for this
> device there is only one 300Hz mode in the panels edid and that is at the
> nativ resolution. Chroma subsampling was not tested as linux afaik offers
> no way to easily enforce it for intel gpus.
>
> Tim Guttzeit (1):
> drm/i915/display: Avoid unsupported output mode with 300Hz on TUXEDO
> device
>
> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
> drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> 3 files changed, 36 insertions(+)
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-08 21:05 ` Rodrigo Vivi
@ 2025-07-09 11:49 ` Werner Sembach
2025-07-09 13:32 ` Tim Guttzeit
0 siblings, 1 reply; 9+ messages in thread
From: Werner Sembach @ 2025-07-09 11:49 UTC (permalink / raw)
To: Rodrigo Vivi, t.guttzeit
Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, David Airlie,
Simona Vetter, intel-gfx, intel-xe, dri-devel, linux-kernel
Hi all,
Am 08.07.25 um 23:05 schrieb Rodrigo Vivi:
> On Fri, Jul 04, 2025 at 09:03:45PM +0200, Werner Sembach wrote:
>> RFC because I'm not sure if this is the right approach.
> Could you please file a gitlab issue for us so we can get someone from our
> display team to take a look and see if there's anything else that could be done
> before we take the quirk route?
>
> https://drm.pages.freedesktop.org/intel-docs/how-to-file-i915-bugs.html
Tim can you follow up with this? Reducing the communication chain to avoid
dropping information.
Best regards,
Werner Sembach
>
> Thanks for the investigation and the quirk,
> Rodrigo.
>
>> The flicker manifests ever few seconds 1-3 black frames in quick
>> succession.
>>
>> On windows 300Hz can not be selected for the iGPU, but the panel advertises
>> it.
>>
>> A cleaner solution would probably to go over the pixel clock, but for this
>> device there is only one 300Hz mode in the panels edid and that is at the
>> nativ resolution. Chroma subsampling was not tested as linux afaik offers
>> no way to easily enforce it for intel gpus.
>>
>> Tim Guttzeit (1):
>> drm/i915/display: Avoid unsupported output mode with 300Hz on TUXEDO
>> device
>>
>> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
>> drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>> 3 files changed, 36 insertions(+)
>>
>> --
>> 2.43.0
>>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-09 11:49 ` Werner Sembach
@ 2025-07-09 13:32 ` Tim Guttzeit
2025-07-15 15:45 ` Tim Guttzeit
0 siblings, 1 reply; 9+ messages in thread
From: Tim Guttzeit @ 2025-07-09 13:32 UTC (permalink / raw)
To: Werner Sembach, Rodrigo Vivi
Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, David Airlie,
Simona Vetter, intel-gfx, intel-xe, dri-devel, linux-kernel
Hi all,
> Tim can you follow up with this? Reducing the communication chain to
avoid dropping information.
Yes, here is the Ticket:
https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14616
Best regards,
Tim Guttzeit
Am 09.07.25 um 13:49 schrieb Werner Sembach:
> Hi all,
>
> Am 08.07.25 um 23:05 schrieb Rodrigo Vivi:
>> On Fri, Jul 04, 2025 at 09:03:45PM +0200, Werner Sembach wrote:
>>> RFC because I'm not sure if this is the right approach.
>> Could you please file a gitlab issue for us so we can get someone
>> from our
>> display team to take a look and see if there's anything else that
>> could be done
>> before we take the quirk route?
>>
>> https://drm.pages.freedesktop.org/intel-docs/how-to-file-i915-bugs.html
>
> Tim can you follow up with this? Reducing the communication chain to
> avoid dropping information.
>
> Best regards,
>
> Werner Sembach
>
>>
>> Thanks for the investigation and the quirk,
>> Rodrigo.
>>
>>> The flicker manifests ever few seconds 1-3 black frames in quick
>>> succession.
>>>
>>> On windows 300Hz can not be selected for the iGPU, but the panel
>>> advertises
>>> it.
>>>
>>> A cleaner solution would probably to go over the pixel clock, but
>>> for this
>>> device there is only one 300Hz mode in the panels edid and that is
>>> at the
>>> nativ resolution. Chroma subsampling was not tested as linux afaik
>>> offers
>>> no way to easily enforce it for intel gpus.
>>>
>>> Tim Guttzeit (1):
>>> drm/i915/display: Avoid unsupported output mode with 300Hz on TUXEDO
>>> device
>>>
>>> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
>>> drivers/gpu/drm/i915/display/intel_quirks.c | 30
>>> +++++++++++++++++++++
>>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>>> 3 files changed, 36 insertions(+)
>>>
>>> --
>>> 2.43.0
>>>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-09 13:32 ` Tim Guttzeit
@ 2025-07-15 15:45 ` Tim Guttzeit
0 siblings, 0 replies; 9+ messages in thread
From: Tim Guttzeit @ 2025-07-15 15:45 UTC (permalink / raw)
To: Werner Sembach, Rodrigo Vivi
Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, David Airlie,
Simona Vetter, intel-gfx, intel-xe, dri-devel, linux-kernel,
intel-gfx, intel-xe
Hi all,
added intel-gfx@lists.freedesktop.org and
intel-xe@lists.freedesktop.org, as requested in the ticket.
Best regards,
Tim Guttzeit
Am 09.07.25 um 15:32 schrieb Tim Guttzeit:
> Hi all,
>
> > Tim can you follow up with this? Reducing the communication chain to
> avoid dropping information.
>
> Yes, here is the Ticket:
> https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14616
>
> Best regards,
> Tim Guttzeit
>
> Am 09.07.25 um 13:49 schrieb Werner Sembach:
>> Hi all,
>>
>> Am 08.07.25 um 23:05 schrieb Rodrigo Vivi:
>>> On Fri, Jul 04, 2025 at 09:03:45PM +0200, Werner Sembach wrote:
>>>> RFC because I'm not sure if this is the right approach.
>>> Could you please file a gitlab issue for us so we can get someone
>>> from our
>>> display team to take a look and see if there's anything else that
>>> could be done
>>> before we take the quirk route?
>>>
>>> https://drm.pages.freedesktop.org/intel-docs/how-to-file-i915-bugs.html
>>
>> Tim can you follow up with this? Reducing the communication chain to
>> avoid dropping information.
>>
>> Best regards,
>>
>> Werner Sembach
>>
>>>
>>> Thanks for the investigation and the quirk,
>>> Rodrigo.
>>>
>>>> The flicker manifests ever few seconds 1-3 black frames in quick
>>>> succession.
>>>>
>>>> On windows 300Hz can not be selected for the iGPU, but the panel
>>>> advertises
>>>> it.
>>>>
>>>> A cleaner solution would probably to go over the pixel clock, but
>>>> for this
>>>> device there is only one 300Hz mode in the panels edid and that is
>>>> at the
>>>> nativ resolution. Chroma subsampling was not tested as linux afaik
>>>> offers
>>>> no way to easily enforce it for intel gpus.
>>>>
>>>> Tim Guttzeit (1):
>>>> drm/i915/display: Avoid unsupported output mode with 300Hz on
>>>> TUXEDO
>>>> device
>>>>
>>>> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
>>>> drivers/gpu/drm/i915/display/intel_quirks.c | 30
>>>> +++++++++++++++++++++
>>>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>>>> 3 files changed, 36 insertions(+)
>>>>
>>>> --
>>>> 2.43.0
>>>>
>
--
Tim Guttzeit
Development
--
TUXEDO Computers GmbH
Alter Postweg 101
D-86159 Augsburg
--
www.tuxedocomputers.com
Fon: +49 (0) 821 / 8998 2992
--
Amtsgericht Augsburg: HRB 27755
CEO: Herbert Feiler
VAT-ID: DE815420876
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-04 19:03 ` [RFC PATCH 1/1] " Werner Sembach
@ 2025-07-17 7:30 ` Murthy, Arun R
2025-07-17 8:29 ` Tim Guttzeit
0 siblings, 1 reply; 9+ messages in thread
From: Murthy, Arun R @ 2025-07-17 7:30 UTC (permalink / raw)
To: Werner Sembach, Jani Nikula, Vivi, Rodrigo, Joonas Lahtinen,
Tvrtko Ursulin, David Airlie, Simona Vetter
Cc: Tim Guttzeit, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Werner
> Sembach
> Sent: Saturday, July 5, 2025 12:34 AM
> To: Jani Nikula <jani.nikula@linux.intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Joonas Lahtinen <joonas.lahtinen@linux.intel.com>;
> Tvrtko Ursulin <tursulin@ursulin.net>; David Airlie <airlied@gmail.com>;
> Simona Vetter <simona@ffwll.ch>
> Cc: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>; Werner Sembach
> <wse@tuxedocomputers.com>; intel-gfx@lists.freedesktop.org; intel-
> xe@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-
> kernel@vger.kernel.org
> Subject: [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output
> mode on a TUXEDO device
>
> From: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
>
> Removes all display modes with more than 240 Hz for the integrated display on
> a TUXEDO Stellaris 16 Gen7, because using the iGPU with higer refresh rates
> causes screen flicker.
>
> Signed-off-by: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
> Co-developed-by: Werner Sembach <wse@tuxedocomputers.com>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
> drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> 3 files changed, 36 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 640c43bf62d4c..5ce00cfe36ee1 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1436,6 +1436,11 @@ intel_dp_mode_valid(struct drm_connector
> *_connector,
> if (mode->clock < 10000)
> return MODE_CLOCK_LOW;
>
> + if (intel_has_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK) &&
> + intel_dp_is_edp(intel_dp) &&
> + drm_mode_vrefresh(mode) > 240)
> + return MODE_BAD;
> +
Adding a quirk for this is not the right approach. If this is not
supported by the display, should have been pruned by the driver.
Thanks and Regards,
Arun R Murthy
-------------> fixed_mode = intel_panel_fixed_mode(connector, mode);
> if (intel_dp_is_edp(intel_dp) && fixed_mode) {
> status = intel_panel_mode_valid(connector, mode); diff --git
> a/drivers/gpu/drm/i915/display/intel_quirks.c
> b/drivers/gpu/drm/i915/display/intel_quirks.c
> index a32fae510ed27..438ce2cb37a01 100644
> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
> @@ -72,6 +72,12 @@ static void quirk_no_pps_backlight_power_hook(struct
> intel_display *display)
> drm_info(display->drm, "Applying no pps backlight power quirk\n"); }
>
> +static void quirk_edp_max_240hz_hook(struct intel_display *display) {
> + intel_set_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK);
> + drm_info(display->drm, "Applying max 240Hz quirk\n"); }
> +
> static void quirk_fw_sync_len(struct intel_dp *intel_dp) {
> struct intel_display *display = to_intel_display(intel_dp); @@ -120,6
> +126,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id
> *id)
> return 1;
> }
>
> +static int intel_dmi_edp_max_240hz(const struct dmi_system_id *id) {
> + DRM_INFO("Restrict output refreshrate to maximum 240Hz %s\n", id-
> >ident);
> + return 1;
> +}
> +
> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
> {
> .dmi_id_list = &(const struct dmi_system_id[]) { @@ -166,6
> +178,24 @@ 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_edp_max_240hz,
> + .ident = "TUXEDO Stellaris 16 Intel Gen7",
> + .matches =
> {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY"),
> + },
> + },
> + {
> + .callback = intel_dmi_edp_max_240hz,
> + .ident = "TUXEDO Stellaris 16 Intel Gen7",
> + .matches =
> {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
> + },
> + },
> + { }
> + },
> + .hook = quirk_edp_max_240hz_hook,
> + },
> };
>
> 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..8fe3f3467106a 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_EDP_MAX_240HZ_HOOK,
> };
>
> void intel_init_quirks(struct intel_display *display);
> --
> 2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
2025-07-17 7:30 ` Murthy, Arun R
@ 2025-07-17 8:29 ` Tim Guttzeit
0 siblings, 0 replies; 9+ messages in thread
From: Tim Guttzeit @ 2025-07-17 8:29 UTC (permalink / raw)
To: Murthy, Arun R, Werner Sembach, Jani Nikula, Vivi, Rodrigo,
Joonas Lahtinen, Tvrtko Ursulin, David Airlie, Simona Vetter
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Am 17.07.25 um 09:30 schrieb Murthy, Arun R:
>
>> -----Original Message-----
>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>> Werner
>> Sembach
>> Sent: Saturday, July 5, 2025 12:34 AM
>> To: Jani Nikula <jani.nikula@linux.intel.com>; Vivi, Rodrigo
>> <rodrigo.vivi@intel.com>; Joonas Lahtinen
>> <joonas.lahtinen@linux.intel.com>;
>> Tvrtko Ursulin <tursulin@ursulin.net>; David Airlie <airlied@gmail.com>;
>> Simona Vetter <simona@ffwll.ch>
>> Cc: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>; Werner Sembach
>> <wse@tuxedocomputers.com>; intel-gfx@lists.freedesktop.org; intel-
>> xe@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-
>> kernel@vger.kernel.org
>> Subject: [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output
>> mode on a TUXEDO device
>>
>> From: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
>>
>> Removes all display modes with more than 240 Hz for the integrated
>> display on
>> a TUXEDO Stellaris 16 Gen7, because using the iGPU with higer refresh
>> rates
>> causes screen flicker.
>>
>> Signed-off-by: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
>> Co-developed-by: Werner Sembach <wse@tuxedocomputers.com>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++
>> drivers/gpu/drm/i915/display/intel_quirks.c | 30 +++++++++++++++++++++
>> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
>> 3 files changed, 36 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
>> b/drivers/gpu/drm/i915/display/intel_dp.c
>> index 640c43bf62d4c..5ce00cfe36ee1 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -1436,6 +1436,11 @@ intel_dp_mode_valid(struct drm_connector
>> *_connector,
>> if (mode->clock < 10000)
>> return MODE_CLOCK_LOW;
>>
>> + if (intel_has_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK) &&
>> + intel_dp_is_edp(intel_dp) &&
>> + drm_mode_vrefresh(mode) > 240)
>> + return MODE_BAD;
>> +
> Adding a quirk for this is not the right approach. If this is not
> supported by the display, should have been pruned by the driver.
>
Thank you for your reply. The panel (NE160QDM-NZL) supports 300 Hz and
advertises it. Also when running the system on its NVIDIA dGPU, it runs
perfectly fine without the flickering and on 300 Hz. On the iGPU, which
is apparently unable to support 300 Hz, it is not pruned, thus leading
to the flickering.
Best regards,
Tim Guttzeit
> -------------> fixed_mode = intel_panel_fixed_mode(connector, mode);
>> if (intel_dp_is_edp(intel_dp) && fixed_mode) {
>> status = intel_panel_mode_valid(connector, mode); diff --git
>> a/drivers/gpu/drm/i915/display/intel_quirks.c
>> b/drivers/gpu/drm/i915/display/intel_quirks.c
>> index a32fae510ed27..438ce2cb37a01 100644
>> --- a/drivers/gpu/drm/i915/display/intel_quirks.c
>> +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
>> @@ -72,6 +72,12 @@ static void quirk_no_pps_backlight_power_hook(struct
>> intel_display *display)
>> drm_info(display->drm, "Applying no pps backlight power
>> quirk\n"); }
>>
>> +static void quirk_edp_max_240hz_hook(struct intel_display *display) {
>> + intel_set_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK);
>> + drm_info(display->drm, "Applying max 240Hz quirk\n"); }
>> +
>> static void quirk_fw_sync_len(struct intel_dp *intel_dp) {
>> struct intel_display *display = to_intel_display(intel_dp); @@
>> -120,6
>> +126,12 @@ static int intel_dmi_no_pps_backlight(const struct
>> dmi_system_id
>> *id)
>> return 1;
>> }
>>
>> +static int intel_dmi_edp_max_240hz(const struct dmi_system_id *id) {
>> + DRM_INFO("Restrict output refreshrate to maximum 240Hz %s\n", id-
>> >ident);
>> + return 1;
>> +}
>> +
>> static const struct intel_dmi_quirk intel_dmi_quirks[] = {
>> {
>> .dmi_id_list = &(const struct dmi_system_id[]) { @@ -166,6
>> +178,24 @@ 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_edp_max_240hz,
>> + .ident = "TUXEDO Stellaris 16 Intel Gen7",
>> + .matches =
>> {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY"),
>> + },
>> + },
>> + {
>> + .callback = intel_dmi_edp_max_240hz,
>> + .ident = "TUXEDO Stellaris 16 Intel Gen7",
>> + .matches =
>> {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
>> + },
>> + },
>> + { }
>> + },
>> + .hook = quirk_edp_max_240hz_hook,
>> + },
>> };
>>
>> 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..8fe3f3467106a 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_EDP_MAX_240HZ_HOOK,
>> };
>>
>> void intel_init_quirks(struct intel_display *display);
>> --
>> 2.43.0
>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-07-17 8:29 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04 19:03 [RFC PATCH 0/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device Werner Sembach
2025-07-04 19:03 ` [RFC PATCH 1/1] " Werner Sembach
2025-07-17 7:30 ` Murthy, Arun R
2025-07-17 8:29 ` Tim Guttzeit
2025-07-04 19:22 ` [RFC PATCH 0/1] " Werner Sembach
2025-07-08 21:05 ` Rodrigo Vivi
2025-07-09 11:49 ` Werner Sembach
2025-07-09 13:32 ` Tim Guttzeit
2025-07-15 15:45 ` Tim Guttzeit
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).