drm/arm: malidp: Use crtc->mode_valid() callback
authorJose Abreu <Jose.Abreu@synopsys.com>
Fri, 19 May 2017 00:52:17 +0000 (01:52 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
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 <joabreu@synopsys.com>
Cc: Carlos Palminha <palminha@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@linux.ie>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
drivers/gpu/drm/arm/malidp_crtc.c

index 9446a673d46950883e8a21911eaebc90023add20..4bb38a21efecb6e0741a626f986515570ed3b1f3 100644 (file)
@@ -22,9 +22,8 @@
 #include "malidp_drv.h"
 #include "malidp_hw.h"
 
 #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;
 {
        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);
                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)
 }
 
 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 = {
 }
 
 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,
        .enable = malidp_crtc_enable,
        .disable = malidp_crtc_disable,
        .atomic_check = malidp_crtc_atomic_check,