drm/i915: Populate encoder->devdata for DSI on icl+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 7 Feb 2023 06:43:36 +0000 (08:43 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 Feb 2023 01:07:27 +0000 (03:07 +0200)
commitba00eb6a4bfbe5194ddda50730aba063951f8ce0
tree4bbdccb1153a94abe450dfe22dfdee52818ea71f
parent118b5c136c04da705b274b0d39982bb8b7430fc5
drm/i915: Populate encoder->devdata for DSI on icl+

We now have some eDP+DSI dual panel systems floating around
where the DSI panel is the secondary LFP and thus needs to
consult "panel type 2" in VBT in order to locate all the
other panel type dependant stuff correctly.

To that end we need to pass in the devdata to
intel_bios_init_panel_late(), otherwise it'll just assume
we want the primary panel type. So let's try to just populate
the vbt.ports[] stuff and encoder->devdata for icl+ DSI
panels as well.

We can't do this on older platforms as there we risk a DSI
port aliasing with a HDMI/DP port, which is a totally legal
thing as the DSI ports live in their own little parallel
universe.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8016
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230207064337.18697-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/display/intel_bios.c