drm/arm: malidp: Use crtc->mode_valid() callback
authorJose Abreu <[email protected]>
Fri, 19 May 2017 00:52:17 +0000 (01:52 +0100)
committerLiviu Dudau <[email protected]>
Fri, 16 Jun 2017 10:56:46 +0000 (11:56 +0100)
Now that we have a callback to check if crtc supports a given mode
we can use it in malidp so that we restrict the number of probbed
modes to the ones we can actually display.

Also, remove the mode_fixup() callback as this is no longer needed
because mode_valid() will be called before.

Signed-off-by: Jose Abreu <[email protected]>
Cc: Carlos Palminha <[email protected]>
Cc: Alexey Brodkin <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Dave Airlie <[email protected]>
Cc: Andrzej Hajda <[email protected]>
Cc: Archit Taneja <[email protected]>
Cc: Laurent Pinchart <[email protected]>
Signed-off-by: Liviu Dudau <[email protected]>
drivers/gpu/drm/arm/malidp_crtc.c

index 9446a673d46950883e8a21911eaebc90023add20..4bb38a21efecb6e0741a626f986515570ed3b1f3 100644 (file)
@@ -22,9 +22,8 @@
 #include "malidp_drv.h"
 #include "malidp_hw.h"
 
-static bool malidp_crtc_mode_fixup(struct drm_crtc *crtc,
-                                  const struct drm_display_mode *mode,
-                                  struct drm_display_mode *adjusted_mode)
+static enum drm_mode_status malidp_crtc_mode_valid(struct drm_crtc *crtc,
+                                                  const struct drm_display_mode *mode)
 {
        struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
        struct malidp_hw_device *hwdev = malidp->dev;
@@ -40,11 +39,11 @@ static bool malidp_crtc_mode_fixup(struct drm_crtc *crtc,
                if (rate != req_rate) {
                        DRM_DEBUG_DRIVER("pxlclk doesn't support %ld Hz\n",
                                         req_rate);
-                       return false;
+                       return MODE_NOCLOCK;
                }
        }
 
-       return true;
+       return MODE_OK;
 }
 
 static void malidp_crtc_enable(struct drm_crtc *crtc)
@@ -408,7 +407,7 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc,
 }
 
 static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = {
-       .mode_fixup = malidp_crtc_mode_fixup,
+       .mode_valid = malidp_crtc_mode_valid,
        .enable = malidp_crtc_enable,
        .disable = malidp_crtc_disable,
        .atomic_check = malidp_crtc_atomic_check,