All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Michel Dänzer" <michel.daenzer@mailbox.org>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org,
	wayland-devel@lists.freedesktop.org
Subject: Re: [PATCH 0/4] drm/i915: Work harder to enable VRR based refresh rate changes on eDP
Date: Mon, 15 Jun 2026 16:06:26 +0300	[thread overview]
Message-ID: <ai_40qUa-MVdbOEf@intel.com> (raw)
In-Reply-To: <31da350f-adfc-4b2c-a7c5-5ed884ffd9ca@mailbox.org>

On Mon, Jun 15, 2026 at 11:08:59AM +0200, Michel Dänzer wrote:
> 
> Adding wayland-devel list for awareness, see also https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5091.
> 
> 
> On 6/15/26 11:06, Michel Dänzer wrote:
> > On 6/12/26 16:41, Ville Syrjala wrote:
> >> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>
> >> Tweak the eDP fixed mode selection algorithm to allow
> >> userspace to do refresh rate changes on VRR capable
> >> eDP panels without full modesets.
> >>
> >> Ville Syrjälä (4):
> >>   drm/modes: Add DRM_MODE_MATCH_TIMINGS_VRR
> >>   drm/i915: Pass the full atomic state to .compute_config()
> >>   drm/i915/panel: Adjust intel_panel_compute_config() calling convention
> >>   drm/i915/panel: Attempt VRR based refresh rate change for
> >>     !allow_modeset
> > 
> > What's the motivation for this approach?
> > 
> > Per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5091#note_2784749 , it comes as a bit of a surprise. The approach we've been discussing at display hackfests instead is to add properties for controlling the maximum & minimum refresh rates.

This has nothing to do with limiting the VRR range. What we're doing
here is selecting the actual timings to drive an internal laptop panel,
given some random cooked up modeline from userspace.

We pick the actual mode from the set of "fixed modes" (ie. the modes
that the panel/system itself has reported as supported via
EDID/VBT/ACPI/etc.). For non-VRR panels we just pick the fixed mode
whose refresh rate is closest to the user specified mode, and reject
the commit if it's not close enough (<= 1 Hz). For VRR panels we
can avoid that rejection part by adjusting the vtotal appropriately,
assuming the user specified mode's refresh rate is withing the
VRR range of the panel.

> > 
> > While the approach in this series could be considered an alternative for the maximum, AFAICT it doesn't allow enforcing a minimum refresh rate which differs from the maximum and default minimum.

The timings specify the absolute max refresh rate you can achieve. So
a separate max VRR refresh rate knob would be mostly redundant, but as
we've discussed before, it could have its uses for the non-integer
vtotal use cases (CMRR in Intel parlance).

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2026-06-15 13:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-12 14:41 [PATCH 0/4] drm/i915: Work harder to enable VRR based refresh rate changes on eDP Ville Syrjala
2026-06-12 14:42 ` [PATCH 1/4] drm/modes: Add DRM_MODE_MATCH_TIMINGS_VRR Ville Syrjala
2026-06-13 14:19   ` Kandpal, Suraj
2026-06-12 14:42 ` [PATCH 2/4] drm/i915: Pass the full atomic state to .compute_config() Ville Syrjala
2026-06-13 14:23   ` Kandpal, Suraj
2026-06-12 14:42 ` [PATCH 3/4] drm/i915/panel: Adjust intel_panel_compute_config() calling convention Ville Syrjala
2026-06-13 14:25   ` Kandpal, Suraj
2026-06-12 14:42 ` [PATCH 4/4] drm/i915/panel: Attempt VRR based refresh rate change for !allow_modeset Ville Syrjala
2026-06-12 14:56   ` sashiko-bot
2026-06-15  5:17   ` Nautiyal, Ankit K
2026-06-12 14:58 ` ✗ CI.checkpatch: warning for drm/i915: Work harder to enable VRR based refresh rate changes on eDP Patchwork
2026-06-12 14:59 ` ✓ CI.KUnit: success " Patchwork
2026-06-12 15:45 ` ✓ i915.CI.BAT: " Patchwork
2026-06-12 15:54 ` ✓ Xe.CI.BAT: " Patchwork
2026-06-13  7:16 ` ✓ Xe.CI.FULL: " Patchwork
2026-06-13 13:24 ` ✗ i915.CI.Full: failure " Patchwork
2026-06-15  9:06 ` [PATCH 0/4] " Michel Dänzer
2026-06-15  9:08   ` Michel Dänzer
2026-06-15 13:06     ` Ville Syrjälä [this message]
2026-06-15 13:30       ` Michel Dänzer
2026-06-15 17:00         ` Ville Syrjälä

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=ai_40qUa-MVdbOEf@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=michel.daenzer@mailbox.org \
    --cc=wayland-devel@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.