Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: Alexander Kaplan <alexander.kaplan@sms-medipool.de>,
	<intel-gfx@lists.freedesktop.org>,
	<intel-xe@lists.freedesktop.org>
Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Imre Deak" <imre.deak@intel.com>,
	"Chaitanya Kumar Borah" <chaitanya.kumar.borah@intel.com>,
	"Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>
Subject: Re: [PATCH 2/3] drm/i915/dp: Ignore the sink's DSC max FRL rate without a PCON DSC encoder
Date: Mon, 29 Jun 2026 09:31:00 +0530	[thread overview]
Message-ID: <7f6ad39c-6093-4501-a40d-fd638ad1dfd6@intel.com> (raw)
In-Reply-To: <20260610174413.5881-3-alexander.kaplan@sms-medipool.de>


On 6/10/2026 11:14 PM, Alexander Kaplan wrote:
> intel_dp_hdmi_sink_max_frl() limits the sink's max FRL rate by its
> DSC max FRL rate whenever the sink supports DSC 1.2.
> However, the DSC max FRL rate (HF-VSDB DSC_Max_FRL_Rate) only applies
> to compressed video transport, which requires a DSC 1.2 encoder in
> the PCON (configured via intel_dp_pcon_dsc_configure()).
> Without such an encoder the HDMI link always carries uncompressed
> video, for which the regular Max_FRL_Rate is the correct limit.
>
> Applying the DSC limit unconditionally trains the FRL link at a lower
> rate than both the PCON and the sink support.
> E.g. an LG OLED G4 (Max_FRL_Rate 48 Gbps, DSC_Max_FRL_Rate 24 Gbps)
> behind a Synaptics VMM7100 PCON (PCON max FRL bw 48 Gbps, no DSC
> encoder):
>
>    Sink max rate from EDID = 24 Gbps
>    FRL trained with : 24 Gbps
>
> while Windows/macOS train the same hardware at 40/48 Gbps.
> The too low FRL rate needlessly constrains the formats available to
> the sink.
>
> Only apply the sink's DSC max FRL rate if the PCON has a DSC 1.2
> encoder, matching the gate in intel_dp_pcon_dsc_configure().
> PCONs with a DSC encoder keep the current conservative behavior,
> since the link is trained once and compressed transport may be used
> for any subsequent mode.
> With this the setup above trains at 48 Gbps.
>
> Tested on PTL (xe) with the above PCON/sink combo.
>
> Fixes: 10fec80b48c5 ("drm/i915/display: Configure PCON for DSC1.1 to DSC1.2 encoding")
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Alexander Kaplan <alexander.kaplan@sms-medipool.de>
> ---
>   drivers/gpu/drm/i915/display/intel_dp.c | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 13cfccf60490..2831b274d88a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -4254,7 +4254,14 @@ static int intel_dp_hdmi_sink_max_frl(struct intel_dp *intel_dp)
>   	rate_per_lane = info->hdmi.max_frl_rate_per_lane;
>   	max_frl_rate = max_lanes * rate_per_lane;
>   
> -	if (info->hdmi.dsc_cap.v_1p2) {
> +	/*
> +	 * The sink's DSC max FRL rate only applies to compressed video
> +	 * transport, which requires a DSC 1.2 encoder in the PCON. Without
> +	 * one the HDMI link always carries uncompressed video, for which
> +	 * the regular max FRL rate is the limit.
> +	 */
> +	if (drm_dp_pcon_enc_is_dsc_1_2(intel_dp->pcon_dsc_dpcd) &&
> +	    info->hdmi.dsc_cap.v_1p2) {

Yes, this is very much needed.

This condition could be factored into a separate helper, but that can be 
a separate patch.

Patch looks good to me as it is.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


>   		max_dsc_lanes = info->hdmi.dsc_cap.max_lanes;
>   		dsc_rate_per_lane = info->hdmi.dsc_cap.max_frl_rate_per_lane;
>   		if (max_dsc_lanes && dsc_rate_per_lane)

  reply	other threads:[~2026-06-29  4:01 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10 17:44 [PATCH 0/3] drm/i915/dp: Fix FRL rate selection and deep color for HDMI sinks behind FRL PCONs Alexander Kaplan
2026-06-10 17:44 ` [PATCH 1/3] drm/i915/dp: Prefer DSC over a 6 bpc uncompressed output Alexander Kaplan
2026-06-12 16:32   ` Imre Deak
2026-06-12 18:46     ` Alexander Kaplan
2026-06-29  3:59       ` Nautiyal, Ankit K
2026-06-10 17:44 ` [PATCH 2/3] drm/i915/dp: Ignore the sink's DSC max FRL rate without a PCON DSC encoder Alexander Kaplan
2026-06-29  4:01   ` Nautiyal, Ankit K [this message]
2026-06-10 17:44 ` [PATCH 3/3] drm/i915/dp: Check FRL bandwidth limits in the HDMI bpc computation Alexander Kaplan
2026-06-29  4:16   ` Nautiyal, Ankit K
2026-06-10 17:49 ` [PATCH 0/3] drm/i915/dp: Fix FRL rate selection and deep color for HDMI sinks behind FRL PCONs Alexander Kaplan
2026-06-10 18:45 ` ✗ LGCI.VerificationFailed: failure for " Patchwork
2026-06-30  0:16 ` ✓ CI.KUnit: success for drm/i915/dp: Fix FRL rate selection and deep color for HDMI sinks behind FRL PCONs (rev2) Patchwork
2026-06-30  0:53 ` ✓ Xe.CI.BAT: " Patchwork
2026-06-30 13:18 ` ✓ Xe.CI.FULL: " 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=7f6ad39c-6093-4501-a40d-fd638ad1dfd6@intel.com \
    --to=ankit.k.nautiyal@intel.com \
    --cc=alexander.kaplan@sms-medipool.de \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=nicolas.frattaroli@collabora.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=ville.syrjala@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox