Lines Matching +full:no +full:- +full:sync +full:- +full:mode
3 * Copyright © 2007-2008 Dave Airlie
4 * Copyright © 2007-2008 Intel Corporation
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
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
61 * @MODE_NOCLOCK: no fixed clock available
64 * @MODE_CLOCK_RANGE: clock/mode isn't in a ClockRange
68 * @MODE_HSYNC_NARROW: horizontal sync too narrow
69 * @MODE_HSYNC_WIDE: horizontal sync too wide
72 * @MODE_VSYNC_NARROW: vertical sync too narrow
73 * @MODE_VSYNC_WIDE: vertical sync too wide
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_MODE_RES_MM - Calculates the display size from resolution and DPI
157 * DRM_MODE_INIT - Initialize display mode
171 * DRM_SIMPLE_MODE - Simple display mode
198 * struct drm_display_mode - DRM kernel-internal display mode structure
200 * @hsync_start: horizontal sync start
201 * @hsync_end: horizontal sync end
205 * @vsync_start: vertical sync start
206 * @vsync_end: vertical sync end
209 * @crtc_hdisplay: hardware mode horizontal display size
210 * @crtc_hblank_start: hardware mode horizontal blank start
211 * @crtc_hblank_end: hardware mode horizontal blank end
212 * @crtc_hsync_start: hardware mode horizontal sync start
213 * @crtc_hsync_end: hardware mode horizontal sync end
214 * @crtc_htotal: hardware mode horizontal total size
215 * @crtc_hskew: hardware mode horizontal skew?!
216 * @crtc_vdisplay: hardware mode vertical display size
217 * @crtc_vblank_start: hardware mode vertical blank start
218 * @crtc_vblank_end: hardware mode vertical blank end
219 * @crtc_vsync_start: hardware mode vertical sync start
220 * @crtc_vsync_end: hardware mode vertical sync end
221 * @crtc_vtotal: hardware mode vertical total size
223 * This is the kernel API display mode information structure. For the
224 * user-space version see struct drm_mode_modeinfo.
231 * Active Front Sync Back
233 * <-----------------------><----------------><-------------><-------------->
238 * <----- [hv]display ----->
239 * <------------- [hv]sync_start ------------>
240 * <--------------------- [hv]sync_end --------------------->
241 * <-------------------------------- [hv]total ----------------------------->*
244 * which specify the logical mode, as it would be for a progressive 1:1 scanout
247 * double-clocking and similar things. They are provided as a convenience, and
272 * Sync and timing flags:
274 * - DRM_MODE_FLAG_PHSYNC: horizontal sync is active high.
275 * - DRM_MODE_FLAG_NHSYNC: horizontal sync is active low.
276 * - DRM_MODE_FLAG_PVSYNC: vertical sync is active high.
277 * - DRM_MODE_FLAG_NVSYNC: vertical sync is active low.
278 * - DRM_MODE_FLAG_INTERLACE: mode is interlaced.
279 * - DRM_MODE_FLAG_DBLSCAN: mode uses doublescan.
280 * - DRM_MODE_FLAG_CSYNC: mode uses composite sync.
281 * - DRM_MODE_FLAG_PCSYNC: composite sync is active high.
282 * - DRM_MODE_FLAG_NCSYNC: composite sync is active low.
283 * - DRM_MODE_FLAG_HSKEW: hskew provided (not used?).
284 * - DRM_MODE_FLAG_BCAST: <deprecated>
285 * - DRM_MODE_FLAG_PIXMUX: <deprecated>
286 * - DRM_MODE_FLAG_DBLCLK: double-clocked mode.
287 * - DRM_MODE_FLAG_CLKDIV2: half-clocked mode.
291 * - DRM_MODE_FLAG_3D_NONE: normal, non-3D mode.
292 * - DRM_MODE_FLAG_3D_FRAME_PACKING: 2 full frames for left and right.
293 * - DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: interleaved like fields.
294 * - DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: interleaved lines.
295 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: side-by-side full frames.
296 * - DRM_MODE_FLAG_3D_L_DEPTH: ?
297 * - DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: ?
298 * - DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: frame split into top and bottom
300 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: frame split into left and
309 * logical @clock when e.g. using interlacing, double-clocking, stereo
354 * A bitmask of flags, mostly about the source of a mode. Possible flags
357 * - DRM_MODE_TYPE_PREFERRED: Preferred mode, usually the native
359 * mode per connector at any given time.
360 * - DRM_MODE_TYPE_DRIVER: Mode created by the driver, which is all of
363 * - DRM_MODE_TYPE_USERDEF: Mode defined or selected via the kernel
368 * We no longer accept modes with these types though:
370 * - DRM_MODE_TYPE_BUILTIN: Meant for hard-coded modes, unused.
372 * - DRM_MODE_TYPE_DEFAULT: Again a leftover, use
374 * - DRM_MODE_TYPE_CLOCK_C and DRM_MODE_TYPE_CRTC_C: Define leftovers
375 * which are stuck around for hysterical raisins only. No one has an
383 * Indicates whether the mode is to be exposed to the userspace.
385 * user-mode's list in drm_mode_getconnector ioctl. The purpose of
394 * struct list_head for mode lists.
401 * Human-readable name of the mode, filled out with drm_mode_set_name().
408 * Status of the mode, used to filter out modes not supported by the
416 * Field for setting the HDMI picture aspect ratio of a mode.
423 * DRM_MODE_FMT - printf string for &struct drm_display_mode
428 * DRM_MODE_ARG - printf arguments for &struct drm_display_mode
429 * @m: display mode
432 (m)->name, drm_mode_vrefresh(m), (m)->clock, \
433 (m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
434 (m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
435 (m)->type, (m)->flags
440 * drm_mode_is_stereo - check for stereo mode flags
441 * @mode: drm_display_mode to check
444 * True if the mode is one of the stereo modes (like side-by-side), false if
447 static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) in drm_mode_is_stereo() argument
449 return mode->flags & DRM_MODE_FLAG_3D_MASK; in drm_mode_is_stereo()
456 void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
462 void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
463 void drm_mode_debug_printmodeline(const struct drm_display_mode *mode);
465 const struct drm_display_mode *mode);
467 const struct drm_display_mode *mode);
469 const struct drm_display_mode *mode);
474 enum drm_connector_tv_mode mode,
520 return -EINVAL; in of_get_drm_display_mode()
526 return -EINVAL; in of_get_drm_panel_display_mode()
530 void drm_mode_set_name(struct drm_display_mode *mode);
531 int drm_mode_vrefresh(const struct drm_display_mode *mode);
532 void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
542 const struct drm_display_mode *mode);
555 const struct drm_display_mode *mode);
556 enum drm_mode_status drm_mode_validate_size(const struct drm_display_mode *mode,
559 drm_mode_validate_ycbcr420(const struct drm_display_mode *mode,
570 struct drm_cmdline_mode *mode);