From: Steve Longerbeam <steve_longerb...@mentor.com>

[Sébastien - rebase, update drm_display_mode_to_videomode function]

Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
Signed-off-by: Sébastien Szymanski <sebastien.szymanski at armadeus.com>
---
 drivers/gpu/drm/drm_modes.c | 8 ++++++++
 include/uapi/drm/drm_mode.h | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 487d0e3..464828f 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -611,6 +611,10 @@ void drm_display_mode_from_videomode(const struct 
videomode *vm,
                dmode->flags |= DRM_MODE_FLAG_DBLSCAN;
        if (vm->flags & DISPLAY_FLAGS_DOUBLECLK)
                dmode->flags |= DRM_MODE_FLAG_DBLCLK;
+       if (vm->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE)
+               dmode->flags |= DRM_MODE_FLAG_PCLK;
+       else if (vm->flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE)
+               dmode->flags |= DRM_MODE_FLAG_NCLK;
        drm_mode_set_name(dmode);
 }
 EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode);
@@ -652,6 +656,10 @@ void drm_display_mode_to_videomode(const struct 
drm_display_mode *dmode,
                vm->flags |= DISPLAY_FLAGS_DOUBLESCAN;
        if (dmode->flags & DRM_MODE_FLAG_DBLCLK)
                vm->flags |= DISPLAY_FLAGS_DOUBLECLK;
+       if (dmode->flags & DRM_MODE_FLAG_PCLK)
+               vm->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
+       else if (dmode->flags & DRM_MODE_FLAG_NCLK)
+               vm->flags |= DISPLAY_FLAGS_PIXDATA_NEGEDGE;
 }
 EXPORT_SYMBOL_GPL(drm_display_mode_to_videomode);

diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index ca788e0..1abb2fc 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -72,6 +72,10 @@
 #define  DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH        (6<<14)
 #define  DRM_MODE_FLAG_3D_TOP_AND_BOTTOM       (7<<14)
 #define  DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF    (8<<14)
+/* drive data on rising pixclk edge */
+#define DRM_MODE_FLAG_PCLK                     (1<<19)
+/* drive data on falling pixclk edge */
+#define DRM_MODE_FLAG_NCLK                     (1<<20)


 /* DPMS flags */
-- 
2.0.5

Reply via email to