drm/rockchip/crc: Implement verify_crc_source callback
authorMahesh Kumar <mahesh1.kumar@intel.com>
Fri, 13 Jul 2018 13:59:35 +0000 (19:29 +0530)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Mon, 13 Aug 2018 12:00:20 +0000 (14:00 +0200)
This patch implements "verify_crc_source" callback function for
rockchip drm driver.

Changes since V1:
 - simplify the verification (Jani N)

Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180713135942.25061-4-mahesh1.kumar@intel.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c

index 1359e5c773e4fe5bb9d31b465073897c3c741739..c9a5ea38e86bad1991fafb64cb50db4181f51bcc 100644 (file)
@@ -1132,12 +1132,31 @@ static int vop_crtc_set_crc_source(struct drm_crtc *crtc,
 
        return ret;
 }
+
+static int
+vop_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
+                          size_t *values_cnt)
+{
+       if (source_name && strcmp(source_name, "auto") != 0)
+               return -EINVAL;
+
+       *values_cnt = 3;
+       return 0;
+}
+
 #else
 static int vop_crtc_set_crc_source(struct drm_crtc *crtc,
                                   const char *source_name, size_t *values_cnt)
 {
        return -ENODEV;
 }
+
+static int
+vop_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
+                          size_t *values_cnt)
+{
+       return -ENODEV;
+}
 #endif
 
 static const struct drm_crtc_funcs vop_crtc_funcs = {
@@ -1150,6 +1169,7 @@ static const struct drm_crtc_funcs vop_crtc_funcs = {
        .enable_vblank = vop_crtc_enable_vblank,
        .disable_vblank = vop_crtc_disable_vblank,
        .set_crc_source = vop_crtc_set_crc_source,
+       .verify_crc_source = vop_crtc_verify_crc_source,
 };
 
 static void vop_fb_unref_worker(struct drm_flip_work *work, void *val)