Lines Matching +full:mode +full:-
3 * Copyright © 2007-2008 Dave Airlie
4 * Copyright © 2007-2008 Intel Corporation
46 * enum drm_mode_status - hardware support status of a mode
47 * @MODE_OK: Mode OK
50 * @MODE_H_ILLEGAL: mode has illegal horizontal timings
51 * @MODE_V_ILLEGAL: mode has illegal vertical timings
53 * @MODE_NOMODE: no mode with a matching name
54 * @MODE_NO_INTERLACE: interlaced mode not supported
55 * @MODE_NO_DBLESCAN: doublescan mode not supported
56 * @MODE_NO_VSCAN: multiscan mode not supported
58 * @MODE_VIRTUAL_X: mode width too large for specified virtual size
59 * @MODE_VIRTUAL_Y: mode height too large for specified virtual size
64 * @MODE_CLOCK_RANGE: clock/mode isn't in a ClockRange
77 * @MODE_INTERLACE_WIDTH: width too large for interlaced mode
84 * @MODE_STALE: mode has become stale
129 MODE_STALE = -3,
130 MODE_BAD = -2,
131 MODE_ERROR = -1
142 * DRM_SIMPLE_MODE - Simple display mode
173 * struct drm_display_mode - DRM kernel-internal display mode structure
184 * @crtc_hdisplay: hardware mode horizontal display size
185 * @crtc_hblank_start: hardware mode horizontal blank start
186 * @crtc_hblank_end: hardware mode horizontal blank end
187 * @crtc_hsync_start: hardware mode horizontal sync start
188 * @crtc_hsync_end: hardware mode horizontal sync end
189 * @crtc_htotal: hardware mode horizontal total size
190 * @crtc_hskew: hardware mode horizontal skew?!
191 * @crtc_vdisplay: hardware mode vertical display size
192 * @crtc_vblank_start: hardware mode vertical blank start
193 * @crtc_vblank_end: hardware mode vertical blank end
194 * @crtc_vsync_start: hardware mode vertical sync start
195 * @crtc_vsync_end: hardware mode vertical sync end
196 * @crtc_vtotal: hardware mode vertical total size
198 * This is the kernel API display mode information structure. For the
199 * user-space version see struct drm_mode_modeinfo.
208 * <-----------------------><----------------><-------------><-------------->
213 * <----- [hv]display ----->
214 * <------------- [hv]sync_start ------------>
215 * <--------------------- [hv]sync_end --------------------->
216 * <-------------------------------- [hv]total ----------------------------->*
219 * which specify the logical mode, as it would be for a progressive 1:1 scanout
222 * double-clocking and similar things. They are provided as a convenience, and
249 * - DRM_MODE_FLAG_PHSYNC: horizontal sync is active high.
250 * - DRM_MODE_FLAG_NHSYNC: horizontal sync is active low.
251 * - DRM_MODE_FLAG_PVSYNC: vertical sync is active high.
252 * - DRM_MODE_FLAG_NVSYNC: vertical sync is active low.
253 * - DRM_MODE_FLAG_INTERLACE: mode is interlaced.
254 * - DRM_MODE_FLAG_DBLSCAN: mode uses doublescan.
255 * - DRM_MODE_FLAG_CSYNC: mode uses composite sync.
256 * - DRM_MODE_FLAG_PCSYNC: composite sync is active high.
257 * - DRM_MODE_FLAG_NCSYNC: composite sync is active low.
258 * - DRM_MODE_FLAG_HSKEW: hskew provided (not used?).
259 * - DRM_MODE_FLAG_BCAST: <deprecated>
260 * - DRM_MODE_FLAG_PIXMUX: <deprecated>
261 * - DRM_MODE_FLAG_DBLCLK: double-clocked mode.
262 * - DRM_MODE_FLAG_CLKDIV2: half-clocked mode.
266 * - DRM_MODE_FLAG_3D_NONE: normal, non-3D mode.
267 * - DRM_MODE_FLAG_3D_FRAME_PACKING: 2 full frames for left and right.
268 * - DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: interleaved like fields.
269 * - DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: interleaved lines.
270 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: side-by-side full frames.
271 * - DRM_MODE_FLAG_3D_L_DEPTH: ?
272 * - DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: ?
273 * - DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: frame split into top and bottom
275 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: frame split into left and
284 * logical @clock when e.g. using interlacing, double-clocking, stereo
329 * A bitmask of flags, mostly about the source of a mode. Possible flags
332 * - DRM_MODE_TYPE_PREFERRED: Preferred mode, usually the native
334 * mode per connector at any given time.
335 * - DRM_MODE_TYPE_DRIVER: Mode created by the driver, which is all of
338 * - DRM_MODE_TYPE_USERDEF: Mode defined or selected via the kernel
345 * - DRM_MODE_TYPE_BUILTIN: Meant for hard-coded modes, unused.
347 * - DRM_MODE_TYPE_DEFAULT: Again a leftover, use
349 * - DRM_MODE_TYPE_CLOCK_C and DRM_MODE_TYPE_CRTC_C: Define leftovers
358 * Indicates whether the mode is to be exposed to the userspace.
360 * user-mode's list in drm_mode_getconnector ioctl. The purpose of
369 * struct list_head for mode lists.
376 * Human-readable name of the mode, filled out with drm_mode_set_name().
383 * Status of the mode, used to filter out modes not supported by the
391 * Field for setting the HDMI picture aspect ratio of a mode.
398 * DRM_MODE_FMT - printf string for &struct drm_display_mode
403 * DRM_MODE_ARG - printf arguments for &struct drm_display_mode
404 * @m: display mode
407 (m)->name, drm_mode_vrefresh(m), (m)->clock, \
408 (m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
409 (m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
410 (m)->type, (m)->flags
415 * drm_mode_is_stereo - check for stereo mode flags
416 * @mode: drm_display_mode to check
419 * True if the mode is one of the stereo modes (like side-by-side), false if
422 static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) in drm_mode_is_stereo() argument
424 return mode->flags & DRM_MODE_FLAG_3D_MASK; in drm_mode_is_stereo()
431 void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
437 void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
438 void drm_mode_debug_printmodeline(const struct drm_display_mode *mode);
440 const struct drm_display_mode *mode);
442 const struct drm_display_mode *mode);
444 const struct drm_display_mode *mode);
474 return -EINVAL; in of_get_drm_display_mode()
478 void drm_mode_set_name(struct drm_display_mode *mode);
479 int drm_mode_vrefresh(const struct drm_display_mode *mode);
480 void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
488 const struct drm_display_mode *mode);
501 const struct drm_display_mode *mode);
502 enum drm_mode_status drm_mode_validate_size(const struct drm_display_mode *mode,
505 drm_mode_validate_ycbcr420(const struct drm_display_mode *mode,
516 struct drm_cmdline_mode *mode);