Commit db679936 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Tomasz Nowicki
Browse files

UPSTREAM: drm/i915: Fix intel_modeset_pipe_config_late() for bigjoiner



Currently intel_modeset_pipe_config_late() is called after the
bigjoiner state copy, and it will actually not do anything for
bigjoiner slaves. This can lead to a mismatched state between
the master and slave.

The two things that we do in the encoder .compute_config_late()
hook are mst master transcoder and port sync master transcoder
elections. So if either of either MST or port sync is combined
with bigjoiner then we can see the mismatch.

Currently this problem is more or less theoretical; MST+bigjoiner
has not been implemented yet, and port sync+bigjoiner would
require a tiled display with >5k tiles (or a very high
dotclock per tile). Although we do have kms_tiled_display in
igt which can fake a tiled display, and we can now force bigjoiner
via debugfs, so it is possible to trigger this if you try hard
enough.

Reorder the code such that intel_modeset_pipe_config_late()
will be called before the bigjoiner state copy happens so
that both pipes will end up with the same state.

Tested-by: default avatarVidya Srinivas <vidya.srinivas@intel.com>
Reviewed-by: default avatarVandita Kulkarni <vandita.kulkarni@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240404213441.17637-7-ville.syrjala@linux.intel.com


(cherry picked from commit 3a5e09d8)

BUG=b:308455498
TEST=Verify Asus PG32UQXR 4K160 mode on Rex using Big Joiner

Change-Id: Idcb90f9e2f0493b60ce5cf34a027b2f7dfe2ecd5
Signed-off-by: default avatarRakshith M O <rakshith.m.o@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802857


Reviewed-by: default avatarManasi Navare <navaremanasi@chromium.org>
Reviewed-by: default avatarSean Paul <sean@poorly.run>
Signed-off-by: default avatarHubert Mazur <hmazur@google.com>
parent 523708c7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment