drm/i915/display: Simplify intel_joiner_num_pipes and its usage
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Mon, 16 Sep 2024 10:28:33 +0000 (15:58 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Wed, 18 Sep 2024 06:42:48 +0000 (12:12 +0530)
Currently intel_joiner_num_pipes is used to get num of pipes wrt num of
pipes joined. Simplify this by returning 1 when no joiner is used and
update the checks for no joiner case.

v2: Rename the function to intel_crtc_num_joined_pipes and use helper
intel_crtc_joined_pipe_mask. (Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240916102836.2149012-2-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_display.c

index 426074a..da79a45 100644 (file)
@@ -278,9 +278,9 @@ bool intel_crtc_is_joiner_primary(const struct intel_crtc_state *crtc_state)
                crtc->pipe == joiner_primary_pipe(crtc_state);
 }
 
-static int intel_joiner_num_pipes(const struct intel_crtc_state *crtc_state)
+static int intel_crtc_num_joined_pipes(const struct intel_crtc_state *crtc_state)
 {
-       return hweight8(crtc_state->joiner_pipes);
+       return hweight8(intel_crtc_joined_pipe_mask(crtc_state));
 }
 
 u8 intel_crtc_joined_pipe_mask(const struct intel_crtc_state *crtc_state)
@@ -2347,9 +2347,9 @@ static void intel_crtc_compute_pixel_rate(struct intel_crtc_state *crtc_state)
 static void intel_joiner_adjust_timings(const struct intel_crtc_state *crtc_state,
                                        struct drm_display_mode *mode)
 {
-       int num_pipes = intel_joiner_num_pipes(crtc_state);
+       int num_pipes = intel_crtc_num_joined_pipes(crtc_state);
 
-       if (num_pipes < 2)
+       if (num_pipes == 1)
                return;
 
        mode->crtc_clock /= num_pipes;
@@ -2411,7 +2411,7 @@ static void intel_crtc_readout_derived_state(struct intel_crtc_state *crtc_state
        drm_mode_copy(mode, pipe_mode);
        intel_mode_from_crtc_timings(mode, mode);
        mode->hdisplay = drm_rect_width(&crtc_state->pipe_src) *
-               (intel_joiner_num_pipes(crtc_state) ?: 1);
+               intel_crtc_num_joined_pipes(crtc_state);
        mode->vdisplay = drm_rect_height(&crtc_state->pipe_src);
 
        /* Derive per-pipe timings in case joiner is used */
@@ -2431,10 +2431,10 @@ void intel_encoder_get_config(struct intel_encoder *encoder,
 
 static void intel_joiner_compute_pipe_src(struct intel_crtc_state *crtc_state)
 {
-       int num_pipes = intel_joiner_num_pipes(crtc_state);
+       int num_pipes = intel_crtc_num_joined_pipes(crtc_state);
        int width, height;
 
-       if (num_pipes < 2)
+       if (num_pipes == 1)
                return;
 
        width = drm_rect_width(&crtc_state->pipe_src);
@@ -2891,11 +2891,11 @@ static void intel_get_transcoder_timings(struct intel_crtc *crtc,
 static void intel_joiner_adjust_pipe_src(struct intel_crtc_state *crtc_state)
 {
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
-       int num_pipes = intel_joiner_num_pipes(crtc_state);
+       int num_pipes = intel_crtc_num_joined_pipes(crtc_state);
        enum pipe primary_pipe, pipe = crtc->pipe;
        int width;
 
-       if (num_pipes < 2)
+       if (num_pipes == 1)
                return;
 
        primary_pipe = joiner_primary_pipe(crtc_state);