]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/display: Factor out intel_display_{min, max}_pipe_bpp()
authorImre Deak <imre.deak@intel.com>
Fri, 9 May 2025 18:03:36 +0000 (21:03 +0300)
committerImre Deak <imre.deak@intel.com>
Mon, 12 May 2025 12:22:50 +0000 (15:22 +0300)
Factor out helpers that can be used in a follow-up change to query the
minimum and maximum pipe bpp supported by the HW.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/20250509180340.554867-10-imre.deak@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

index 287110e4e4351afeea2b9ca2e11e0cf39b632eb0..704ca079980c27c930146995350c70fbd35a61ad 100644 (file)
@@ -4318,6 +4318,22 @@ compute_sink_pipe_bpp(const struct drm_connector_state *conn_state,
        return 0;
 }
 
+int intel_display_min_pipe_bpp(void)
+{
+       return 6 * 3;
+}
+
+int intel_display_max_pipe_bpp(struct intel_display *display)
+{
+       if (display->platform.g4x || display->platform.valleyview ||
+           display->platform.cherryview)
+               return 10*3;
+       else if (DISPLAY_VER(display) >= 5)
+               return 12*3;
+       else
+               return 8*3;
+}
+
 static int
 compute_baseline_pipe_bpp(struct intel_atomic_state *state,
                          struct intel_crtc *crtc)
@@ -4327,17 +4343,9 @@ compute_baseline_pipe_bpp(struct intel_atomic_state *state,
                intel_atomic_get_new_crtc_state(state, crtc);
        struct drm_connector *connector;
        struct drm_connector_state *connector_state;
-       int bpp, i;
-
-       if (display->platform.g4x || display->platform.valleyview ||
-           display->platform.cherryview)
-               bpp = 10*3;
-       else if (DISPLAY_VER(display) >= 5)
-               bpp = 12*3;
-       else
-               bpp = 8*3;
+       int i;
 
-       crtc_state->pipe_bpp = bpp;
+       crtc_state->pipe_bpp = intel_display_max_pipe_bpp(display);
 
        /* Clamp display bpp to connector max bpp */
        for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
index 3b54a62c290af17f9867141f3613097fd62edab4..b6610e9175a7a930064e95e439b00bfc2b13a9b6 100644 (file)
@@ -524,6 +524,9 @@ void intel_plane_fixup_bitmasks(struct intel_crtc_state *crtc_state);
 bool intel_crtc_vrr_disabling(struct intel_atomic_state *state,
                              struct intel_crtc *crtc);
 
+int intel_display_min_pipe_bpp(void);
+int intel_display_max_pipe_bpp(struct intel_display *display);
+
 /* modesetting */
 int intel_modeset_pipes_in_mask_early(struct intel_atomic_state *state,
                                      const char *reason, u8 pipe_mask);
index cdbdf20a46b7d7eb863f1d942034797305d19c62..eb3898a49d1cafa16afff78bb9a7e52824b6ca47 100644 (file)
@@ -1199,7 +1199,7 @@ intel_dp_output_format(struct intel_connector *connector,
 int intel_dp_min_bpp(enum intel_output_format output_format)
 {
        if (output_format == INTEL_OUTPUT_FORMAT_RGB)
-               return 6 * 3;
+               return intel_display_min_pipe_bpp();
        else
                return 8 * 3;
 }