All of 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>,
	Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
	"Ville Syrjälä" <ville.syrjala@linux.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 1/3] drm/i915/dp: Prefer DSC over a 6 bpc uncompressed output
Date: Mon, 29 Jun 2026 09:29:33 +0530	[thread overview]
Message-ID: <113da161-b03f-47ab-973d-96799ada5f13@intel.com> (raw)
In-Reply-To: <20260612184638.7667-1-alexander.kaplan@sms-medipool.de>


On 6/13/2026 12:16 AM, Alexander Kaplan wrote:
> On Fri, Jun 12, 2026 at 07:32:33PM +0300, Imre Deak wrote:
>> So, this would be a generalization for/instead of the HDR logic above
>> using a intel_dp_in_hdr_mode() ? 30 : 24 limit (which would also apply a
>> lower max-bpc limit for HDR as well).
> Hi Imre,
>
> yes, it follows the same pattern as the HDR logic, with one deliberate
> difference.
> The extra crtc_state->pipe_bpp check makes an explicit max bpc property
> request below 8 win over the new limit, so the uncompressed 6 bpc path
> stays reachable.
> That keeps the current uAPI behavior under IGT kms_dither and leaves an
> escape hatch for sinks with a broken DSC implementation.
> The HDR limit currently wins over a lower property request, so a merge
> into an intel_dp_in_hdr_mode() ? 30 : 24 block would, as you say, make
> HDR honor such a request as well.
> If that behavior change for HDR is acceptable I am happy to merge the
> two blocks in a v2, otherwise I would keep them separate.
>
>> There could be other reasons to prefer DSC, like a more finegrained BW
>> allocation on MST links. But there are also reasons to prefer non-DSC
>> mode like power saving (no need to enable either a DSC encoder in the
>> source or a DSC decoder downstream), or reliability issues related to
>> DSC.
>>
>> There's been a lot of talk internally about the above aspects and how to
>> handle them in a way suitable in all scenarios. Hence, I'm not sure if
>> adding more policies to the driver like the above bpp limit/DSC
>> preference is too ad-hoc/early or not at this point.
> I understand the hesitation about adding more policy, but for this
> series the patch is less a quality preference and more a dependency of
> patches 2 and 3.
> Those open up RGB configurations on FRL links where previously only the
> 4:2:0 fallback existed, and for modes like 4k120 on a 4 lane HBR3 link
> the only uncompressed fit is 6 bpc.
> Both tested Synaptics PCON device families output corrupted FRL timings
> for exactly that configuration and the TV shows a black screen, while
> the same mode works with DSC.
> So without patch 1 the series would trade the previous 4:2:0 picture
> for a black screen on this hardware.
>
> I also think the 6 bpc case is narrow enough that it does not really
> open the general DSC versus non-DSC question.
> 6 bpc is a DP and eDP panel concept, HDMI only defines 8, 10, 12 and 16
> bpc output depths.
> A PCON that has to forward an 18 bpp stream to an HDMI sink has no
> valid HDMI output format for it, which would explain why both device
> families fail in the same way.
> Windows and macOS drive 4k120 on these devices via DSC, and they have
> no other choice, RGB 8 bpc at a 1188 MHz pixel clock needs 28.5 Gbps
> against the 25.92 Gbps payload of a 4 lane HBR3 link.
> There is also precedent for forcing DSC where the uncompressed 18 bpp
> path is broken, commit 55eaef164174 ("drm/i915/dp_mst: Handle the
> Synaptics HBlank expansion quirk") does the same for the affected MST
> docks.
> And only modes which do not fit through the link at 8 bpc are affected
> at all, so in the uncompressed case the link already runs at the top of
> its capability.
> For the power and reliability concerns the max bpc property acts as the
> userspace override, setting it to 6 restores today's behavior.
>
> If the general form is still considered too early, I could narrow the
> limit to HDMI sinks behind a PCON, gating it on
> intel_dp_has_hdmi_sink().
> There 6 bpc is not a valid output format on the HDMI side, so the
> change is a correctness fix rather than a preference, and it would
> still unblock patches 2 and 3.

I agree to this part. As you have noted, since HDMI does not accept 6 
bpc, we should narrow down the check to HDMI sinks behind a DFP.

Regards,

Ankit


> Just let me know which shape you prefer.
>
> Thanks,
> Alex
>

  reply	other threads:[~2026-06-29  3:59 UTC|newest]

Thread overview: 17+ 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 [this message]
2026-07-03 23:27         ` Alexander Kaplan
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
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-07-03 23:27     ` Alexander Kaplan
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:34 ` ✗ LGCI.VerificationFailed: failure for " Patchwork
2026-06-10 18:45 ` 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=113da161-b03f-47ab-973d-96799ada5f13@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 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.