aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_crtc.c3
-rw-r--r--include/drm/drm_crtc.h2
-rw-r--r--include/uapi/drm/drm_mode.h4
3 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 2ce80ed55b08..d7a8370e3cdc 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1319,6 +1319,9 @@ static int drm_crtc_convert_umode(struct drm_display_mode *out,
1319 if (in->clock > INT_MAX || in->vrefresh > INT_MAX) 1319 if (in->clock > INT_MAX || in->vrefresh > INT_MAX)
1320 return -ERANGE; 1320 return -ERANGE;
1321 1321
1322 if ((in->flags & DRM_MODE_FLAG_3D_MASK) > DRM_MODE_FLAG_3D_MAX)
1323 return -EINVAL;
1324
1322 out->clock = in->clock; 1325 out->clock = in->clock;
1323 out->hdisplay = in->hdisplay; 1326 out->hdisplay = in->hdisplay;
1324 out->hsync_start = in->hsync_start; 1327 out->hsync_start = in->hsync_start;
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index eb6b8dc971d9..50cedadc9fcc 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -128,6 +128,8 @@ enum drm_mode_status {
128#define CRTC_INTERLACE_HALVE_V (1 << 0) /* halve V values for interlacing */ 128#define CRTC_INTERLACE_HALVE_V (1 << 0) /* halve V values for interlacing */
129#define CRTC_STEREO_DOUBLE (1 << 1) /* adjust timings for stereo modes */ 129#define CRTC_STEREO_DOUBLE (1 << 1) /* adjust timings for stereo modes */
130 130
131#define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF
132
131struct drm_display_mode { 133struct drm_display_mode {
132 /* Header */ 134 /* Header */
133 struct list_head head; 135 struct list_head head;
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 7980f8994070..c2c4ace3db61 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -58,6 +58,10 @@
58#define DRM_MODE_FLAG_PIXMUX (1<<11) 58#define DRM_MODE_FLAG_PIXMUX (1<<11)
59#define DRM_MODE_FLAG_DBLCLK (1<<12) 59#define DRM_MODE_FLAG_DBLCLK (1<<12)
60#define DRM_MODE_FLAG_CLKDIV2 (1<<13) 60#define DRM_MODE_FLAG_CLKDIV2 (1<<13)
61 /*
62 * When adding a new stereo mode don't forget to adjust DRM_MODE_FLAGS_3D_MAX
63 * (define not exposed to user space).
64 */
61#define DRM_MODE_FLAG_3D_MASK (0x1f<<14) 65#define DRM_MODE_FLAG_3D_MASK (0x1f<<14)
62#define DRM_MODE_FLAG_3D_NONE (0<<14) 66#define DRM_MODE_FLAG_3D_NONE (0<<14)
63#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14) 67#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)