On Fri, 2026-03-13 at 09:51 +0200, Imre Deak wrote:
> On Fri, Mar 13, 2026 at 07:20:24AM +0200, Hogander, Jouni wrote:
> > On Thu, 2026-03-12 at 17:18 +0200, Imre Deak wrote:
> > > On Thu, Mar 12, 2026 at 10:05:35AM +0200, Hogander, Jouni wrote:
> > > > On Thu, 2026-03-12 at 10:30 +0530, Animesh Manna wrote:
> > > > > Unused bandwidth can be used by external display agents for
> > > > > Panel
> > > > > Replay
> > > > > enabled DP panel during idleness with link on. This patch
> > > > > series
> > > > > enabling the same.
> > > >
> > > > Generic comment on this patch set. Maybe we should add one more
> > > > patch
> > > > with "Fixes" tag:
> > > >
> > > > Fixes: e60cff453b82 ("drm/i915/dp: Enable DP tunnel BW
> > > > allocation
> > > > mode")
> > > > Cc: Imre Deak <[email protected]>
> > > > Cc: <[email protected]> # v6.9+
> > >
> > > Why? As I understand the Panel Replay BW optimization on a DP
> > > tunneled
> > > link is an _optional_ feature, whereby the free BW can be used by
> > > the
> > > Thunderbolt protocol for other purposes than for the given
> > > display
> > > stream for which Panel Replay is enabled. IOW, it looks to me a
> > > valid
> > > configuration to enable Panel Replay on a DP tunneled link
> > > without
> > > enabling the Panel Replay BW optimization on it.
> >
> > My original comment was about DP spec:
> >
> > "
> > The DP Source device may optionally enable PR optimization with DP
> > tunneling. The device
> > shall query the Tunneling Bridge’s PR tunneling optimization
> > capability
> > by way of the
> > Panel_Replay_Tunneling_Optimization_Support bit in the
> > DP_TUNNELING_CAPABILITIES
> > register (DPCD E000Dh[6]), and then enable PR only when the
> > Tunneling
> > Bridge is capable.
> > "
> >
> > That sounds like PR can be enabled only when Panel Replay Tunneling
> > Optimization is supported?
>
> The Standard refers to the _optimization_ of the Panel Replay
> functionality over a tunnel. This optimization can be either enabled
> by
> the source when enabling the Panel Replay functionality over a tunnel
> or
> the optimization can be left disabled by the source when enabling the
> Panel Replay functionality over a tunnel.
>
> The optimization means that the BW of the stream, not otherwise used
> for
> transferring active pixels or other data (i.e. dummy pixels) can be
> used
> by the Thunderbolt protocol to transfer non-display traffic. If the
> Panel Replay is enabled over a tunnel without this optimization, then
> the Thunderbolt protocol is not allowed to use this BW for other
> purposes (i.e. it just transfers all the display traffic it receives
> from the source as-is).
Ok, then my original comment wasn't valid at all.
Sorry Animesh for steering into wrong direction here. Based on comment
from Imre I think you can drop patch 3.
BR,
Jouni Högander
>
> >
> > BR,
> > Jouni Högander
> >
> > >
> > > > This patch would just add:
> > > >
> > > > if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp)) {
> > > > drm_dbg_kms(display->drm,
> > > > "Panel Replay is disabled as DP tunneling
> > > > enabled\n");
> > > > return false;
> > > > }
> > > >
> > > > into _panel_replay_compute_config. this could be first patch in
> > > > your
> > > > set. What do you think?
> > > >
> > > > BR,
> > > > Jouni Högander
> > > >
> > > > >
> > > > > Signed-off-by: Animesh Manna <[email protected]>
> > > > >
> > > > > Animesh Manna (3):
> > > > > drm/i915/display: Add drm helper to check pr optimization
> > > > > support
> > > > > drm/i915/display: Panel Replay BW optimization for DP2.0
> > > > > tunneling
> > > > > drm/i915/display: Disable Panel Replay for DP-tunneling
> > > > > without
> > > > > optimization
> > > > >
> > > > > drivers/gpu/drm/display/drm_dp_tunnel.c | 17
> > > > > ++++++++++
> > > > > .../gpu/drm/i915/display/intel_display_regs.h | 1 +
> > > > > .../gpu/drm/i915/display/intel_dp_tunnel.c | 14 +++++++++
> > > > > .../gpu/drm/i915/display/intel_dp_tunnel.h | 6 ++++
> > > > > drivers/gpu/drm/i915/display/intel_psr.c | 31
> > > > > +++++++++++++++++--
> > > > > include/drm/display/drm_dp_tunnel.h | 6 ++++
> > > > > 6 files changed, 73 insertions(+), 2 deletions(-)
> > > > >
> > > >
> >