Move CASF allocation check into only caller of intel_allocate_scaler().
Allocate scaler as usual if CASF was not requested. Remove casf_scaler
from intel_allocate_scaler()'s argument list. Also remove intel_display
as both are no longer used.

Benefits of doing so are not clearly visible as it is a mid-step for
moving the check to the caller again.

Cc: Nemesa Garg <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Signed-off-by: Michał Grzelak <[email protected]>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 27 ++++++++++-------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c 
b/drivers/gpu/drm/i915/display/skl_scaler.c
index b3c6376c8603..b40c9e500bbc 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -333,22 +333,10 @@ static bool scaler_has_casf(struct intel_display 
*display, int scaler_id)
 }
 
 static int intel_allocate_scaler(struct intel_crtc_scaler_state *scaler_state,
-                                struct intel_crtc *crtc,
-                                bool casf_scaler)
+                                struct intel_crtc *crtc)
 {
-       struct intel_display *display = to_intel_display(crtc);
        int scaler_id;
 
-       if (casf_scaler) {
-               if (HAS_CASF(display) && crtc->num_scalers >= 2 &&
-                   !scaler_state->scalers[1].in_use) {
-                       scaler_state->scalers[1].in_use = true;
-                       return 1;
-               }
-
-               return -1;
-       }
-
        for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
                if (!scaler_state->scalers[scaler_id].in_use) {
                        scaler_state->scalers[scaler_id].in_use = true;
@@ -409,8 +397,17 @@ static int intel_atomic_setup_scaler(struct 
intel_crtc_state *crtc_state,
        int hscale = 0;
        int vscale = 0;
 
-       if (*scaler_id < 0)
-               *scaler_id = intel_allocate_scaler(scaler_state, crtc, 
casf_scaler);
+       if (*scaler_id < 0) {
+               if (casf_scaler) {
+                       if (HAS_CASF(display) && crtc->num_scalers >= 2 &&
+                           !scaler_state->scalers[1].in_use) {
+                               scaler_state->scalers[1].in_use = true;
+                               *scaler_id = 1;
+                       }
+               } else {
+                       *scaler_id = intel_allocate_scaler(scaler_state, crtc);
+               }
+       }
 
        if (drm_WARN(display->drm, *scaler_id < 0,
                     "Cannot find scaler for %s:%d\n", name, idx))
-- 
2.45.2

Reply via email to