mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tim Guttzeit <t.guttzeit@tuxedocomputers.com>
To: "Murthy, Arun R" <arun.r.murthy@intel.com>,
	Werner Sembach <wse@tuxedocomputers.com>,
	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: "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 1/1] drm/i915/display: Avoid unsupported 300Hz output mode on a TUXEDO device
Date: Thu, 17 Jul 2025 10:29:45 +0200	[thread overview]
Message-ID: <3f9a6ad3-d892-4177-9b84-677b90d76e89@tuxedocomputers.com> (raw)
In-Reply-To: <5998d67d-2096-4c93-b0b6-8af582d901ea@intel.com>



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
> 
> 
> 

  reply	other threads:[~2025-07-17  8:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-04 19:03 [RFC PATCH 0/1] " 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3f9a6ad3-d892-4177-9b84-677b90d76e89@tuxedocomputers.com \
    --to=t.guttzeit@tuxedocomputers.com \
    --cc=airlied@gmail.com \
    --cc=arun.r.murthy@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=simona@ffwll.ch \
    --cc=tursulin@ursulin.net \
    --cc=wse@tuxedocomputers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®