drm/i915/display: Use joined pipes in intel_mode_valid_max_plane_size
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Mon, 16 Sep 2024 10:28:35 +0000 (15:58 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Wed, 18 Sep 2024 06:42:50 +0000 (12:12 +0530)
In preparation of ultrajoiner, use number of pipes in the
intel_mode_valid_max_plane_size helper, instead of joiner flag.

v2: Use num_joined_pipes 1 where there are no joined pipes (Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240916102836.2149012-4-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display.h
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dp_mst.c
drivers/gpu/drm/i915/display/intel_dsi.c
drivers/gpu/drm/i915/display/intel_hdmi.c

index 0e2dddf..886abed 100644 (file)
@@ -8076,7 +8076,7 @@ enum drm_mode_status intel_cpu_transcoder_mode_valid(struct drm_i915_private *de
 enum drm_mode_status
 intel_mode_valid_max_plane_size(struct drm_i915_private *dev_priv,
                                const struct drm_display_mode *mode,
-                               bool joiner)
+                               int num_joined_pipes)
 {
        int plane_width_max, plane_height_max;
 
@@ -8093,7 +8093,7 @@ intel_mode_valid_max_plane_size(struct drm_i915_private *dev_priv,
         * too big for that.
         */
        if (DISPLAY_VER(dev_priv) >= 11) {
-               plane_width_max = 5120 << joiner;
+               plane_width_max = 5120 * num_joined_pipes;
                plane_height_max = 4320;
        } else {
                plane_width_max = 5120;
index 06c26db..e484614 100644 (file)
@@ -406,7 +406,7 @@ u32 intel_plane_fb_max_stride(struct drm_i915_private *dev_priv,
 enum drm_mode_status
 intel_mode_valid_max_plane_size(struct drm_i915_private *dev_priv,
                                const struct drm_display_mode *mode,
-                               bool joiner);
+                               int num_joined_pipes);
 enum drm_mode_status
 intel_cpu_transcoder_mode_valid(struct drm_i915_private *i915,
                                const struct drm_display_mode *mode);
index 221f78c..79d7c70 100644 (file)
@@ -1413,7 +1413,7 @@ intel_dp_mode_valid(struct drm_connector *_connector,
        if (status != MODE_OK)
                return status;
 
-       return intel_mode_valid_max_plane_size(dev_priv, mode, joiner);
+       return intel_mode_valid_max_plane_size(dev_priv, mode, num_joined_pipes);
 }
 
 bool intel_dp_source_supports_tps3(struct drm_i915_private *i915)
index 8600ac5..1b94dfe 100644 (file)
@@ -1524,7 +1524,7 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector *connector,
                return 0;
        }
 
-       *status = intel_mode_valid_max_plane_size(dev_priv, mode, joiner);
+       *status = intel_mode_valid_max_plane_size(dev_priv, mode, num_joined_pipes);
        return 0;
 }
 
index bd5888c..0be46c6 100644 (file)
@@ -76,7 +76,7 @@ enum drm_mode_status intel_dsi_mode_valid(struct drm_connector *connector,
        if (fixed_mode->clock > max_dotclk)
                return MODE_CLOCK_HIGH;
 
-       return intel_mode_valid_max_plane_size(dev_priv, mode, false);
+       return intel_mode_valid_max_plane_size(dev_priv, mode, 1);
 }
 
 struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi,
index 869fa00..72ac910 100644 (file)
@@ -2057,7 +2057,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
                        return status;
        }
 
-       return intel_mode_valid_max_plane_size(dev_priv, mode, false);
+       return intel_mode_valid_max_plane_size(dev_priv, mode, 1);
 }
 
 bool intel_hdmi_bpc_possible(const struct intel_crtc_state *crtc_state,