drm/i915: limit eDP MSO pipe only for display version 20 and below
authorLuca Coelho <luciano.coelho@intel.com>
Thu, 4 Apr 2024 09:16:46 +0000 (12:16 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 18 Apr 2024 11:26:30 +0000 (14:26 +0300)
The pipes that can be used for eDP MSO are limited to pipe A (and
sometimes also pipe B) only for display version 20 and below.

Modify the function that returns the pipe mask for eDP MSO so that
these limitations only apply to version 20 and below, enabling all
pipes otherwise.

Bspec: 68923
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: James Ausmus <james.ausmus@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240404091646.165309-1-luciano.coelho@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_ddi.c

index 2e2be08dd26ca07902342b05e377b7ab596f61ba..02a31420947d970228ed98b62528587d2f167dd6 100644 (file)
@@ -2336,10 +2336,15 @@ static void intel_ddi_power_up_lanes(struct intel_encoder *encoder,
        }
 }
 
-/* Splitter enable for eDP MSO is limited to certain pipes. */
+/*
+ * Splitter enable for eDP MSO is limited to certain pipes, on certain
+ * platforms.
+ */
 static u8 intel_ddi_splitter_pipe_mask(struct drm_i915_private *i915)
 {
-       if (IS_ALDERLAKE_P(i915))
+       if (DISPLAY_VER(i915) > 20)
+               return ~0;
+       else if (IS_ALDERLAKE_P(i915))
                return BIT(PIPE_A) | BIT(PIPE_B);
        else
                return BIT(PIPE_A);