]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 0e2dddfdddf30a34b31ba7a302a37bc8fc581e4b..886abed1783b1884a230126aa15a77c3cf74417b 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 06c26db3e272797f73cbac4cb7f8d4bb567435e8..e484614106320b38bbc04f78d1c3c41790a9a958 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 221f78c1c299c93d0b14a3cfb66c69c00d20f6ca..79d7c70c32395d1d0be3c5c66be0dfa59486481e 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 8600ac55f7664741cddaa7ad3f6952d7d5fcdc0d..1b94dfe9499a89cdd3a687c7621d0cfbd62f1d57 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 bd5888ce485277d2f232156be905000338e51d0f..0be46c6c9611f7c386a052ad8b79f4924727b892 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 869fa00f7ef2cf7d1c966702ce6d382e4903c5ac..72ac910bf6ec4baf440e24d91e43b2217e67451e 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,