All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jake S <j@metarealtyinc.ca>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	jani.nikula@intel.com, rodrigo.vivi@intel.com
Subject: Re: [PATCH 2/2] drm/i915/display: allow eDP VRR when EDID has adaptive sync range
Date: Wed, 15 Apr 2026 17:01:55 +0300	[thread overview]
Message-ID: <ad-aU37tZVL3Hkkk@intel.com> (raw)
In-Reply-To: <20260415130626.10523-3-j@metarealtyinc.ca>

On Wed, Apr 15, 2026 at 09:06:26AM -0400, Jake S wrote:
> intel_vrr_is_capable() currently hard-gates eDP VRR on the VBT (Video
> BIOS Table) vrr flag. Many OEMs ship laptops with VRR-capable eDP OLED
> panels but do not set the VRR flag in the VBT, making VRR impossible
> on Linux even though the hardware supports it and works on Windows.
> 
> Relax the eDP check: if the VBT flag is not set but the EDID provides
> a valid monitor range with delta > 10Hz (now also populated from
> DisplayID Adaptive Sync blocks by the previous patch), allow VRR. The
> existing checks for DPCD Ignore MSA and monitor range delta still apply.

AFAICS the Windows driver does respect that VBT bit. So we should too.

> 
> This mirrors the approach taken by amdgpu, which has its own EDID-based
> VRR fallback (parse_edid_displayid_vrr) for exactly this class of panel.
> 
> Tested on Dell XPS 2026 (Intel Panther Lake / xe driver, LG Display
> OLED eDP, 3200x2000, VRR 20-120Hz confirmed via vblank event tracing).
> 
> Signed-off-by: Jake S <j@metarealtyinc.ca>
> ---
>  gpu/drm/i915/display/intel_vrr.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/gpu/drm/i915/display/intel_vrr.c b/gpu/drm/i915/display/intel_vrr.c
> index bea0057..f527471 100644
> --- a/gpu/drm/i915/display/intel_vrr.c
> +++ b/gpu/drm/i915/display/intel_vrr.c
> @@ -47,7 +47,12 @@ bool intel_vrr_is_capable(struct intel_connector *connector)
>  	 */
>  	switch (connector->base.connector_type) {
>  	case DRM_MODE_CONNECTOR_eDP:
> -		if (!connector->panel.vbt.vrr)
> +		/*
> +		 * Prefer VBT flag, but fall back to EDID monitor range
> +		 * for panels where OEM firmware omits the VBT VRR flag.
> +		 */
> +		if (!connector->panel.vbt.vrr &&
> +		    !(info->monitor_range.max_vfreq - info->monitor_range.min_vfreq > 10))
>  			return false;
>  		fallthrough;
>  	case DRM_MODE_CONNECTOR_DisplayPort:
> -- 
> 2.53.0

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2026-04-15 14:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-15 13:06 [PATCH 0/2] drm: Enable eDP VRR for panels with DisplayID Adaptive Sync Jake S
2026-04-15 13:06 ` [PATCH 1/2] drm/edid: populate monitor_range from DisplayID Adaptive Sync block Jake S
2026-04-15 13:06 ` [PATCH 2/2] drm/i915/display: allow eDP VRR when EDID has adaptive sync range Jake S
2026-04-15 14:01   ` Ville Syrjälä [this message]
2026-04-15 19:08   ` Jake S
2026-04-15 19:16     ` Ville Syrjälä
2026-04-15 19:39   ` Jake S
2026-04-15 14:05 ` [PATCH 0/2] drm: Enable eDP VRR for panels with DisplayID Adaptive Sync Ville Syrjälä
2026-04-15 19:08 ` Jake S
2026-04-16 13:21 ` ✗ LGCI.VerificationFailed: failure for " Patchwork

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=ad-aU37tZVL3Hkkk@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=j@metarealtyinc.ca \
    --cc=jani.nikula@intel.com \
    --cc=rodrigo.vivi@intel.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 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.