Lines Matching +full:- +full:- +full:mode +full:- +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
205 * <-----------------------><----------------><-------------><-------------->
210 * <----- [hv]display ----->
211 * <------------- [hv]sync_start ------------>
212 * <--------------------- [hv]sync_end --------------------->
213 * <-------------------------------- [hv]total ----------------------------->*
216 * which specify the logical mode, as it would be for a progressive 1:1 scanout
219 * double-clocking and similar things. They are provided as a convenience, and
246 * - DRM_MODE_FLAG_PHSYNC: horizontal sync is active high.
247 * - DRM_MODE_FLAG_NHSYNC: horizontal sync is active low.
248 * - DRM_MODE_FLAG_PVSYNC: vertical sync is active high.
249 * - DRM_MODE_FLAG_NVSYNC: vertical sync is active low.
250 * - DRM_MODE_FLAG_INTERLACE: mode is interlaced.
251 * - DRM_MODE_FLAG_DBLSCAN: mode uses doublescan.
252 * - DRM_MODE_FLAG_CSYNC: mode uses composite sync.
253 * - DRM_MODE_FLAG_PCSYNC: composite sync is active high.
254 * - DRM_MODE_FLAG_NCSYNC: composite sync is active low.
255 * - DRM_MODE_FLAG_HSKEW: hskew provided (not used?).
256 * - DRM_MODE_FLAG_BCAST: <deprecated>
257 * - DRM_MODE_FLAG_PIXMUX: <deprecated>
258 * - DRM_MODE_FLAG_DBLCLK: double-clocked mode.
259 * - DRM_MODE_FLAG_CLKDIV2: half-clocked mode.
263 * - DRM_MODE_FLAG_3D_NONE: normal, non-3D mode.
264 * - DRM_MODE_FLAG_3D_FRAME_PACKING: 2 full frames for left and right.
265 * - DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: interleaved like fields.
266 * - DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: interleaved lines.
267 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: side-by-side full frames.
268 * - DRM_MODE_FLAG_3D_L_DEPTH: ?
269 * - DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: ?
270 * - DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: frame split into top and bottom
272 * - DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: frame split into left and
281 * logical @clock when e.g. using interlacing, double-clocking, stereo
326 * A bitmask of flags, mostly about the source of a mode. Possible flags
329 * - DRM_MODE_TYPE_PREFERRED: Preferred mode, usually the native
331 * mode per connector at any given time.
332 * - DRM_MODE_TYPE_DRIVER: Mode created by the driver, which is all of
335 * - DRM_MODE_TYPE_USERDEF: Mode defined or selected via the kernel
342 * - DRM_MODE_TYPE_BUILTIN: Meant for hard-coded modes, unused.
344 * - DRM_MODE_TYPE_DEFAULT: Again a leftover, use
346 * - DRM_MODE_TYPE_CLOCK_C and DRM_MODE_TYPE_CRTC_C: Define leftovers
355 * Indicates whether the mode is to be exposed to the userspace.
357 * user-mode's list in drm_mode_getconnector ioctl. The purpose of
366 * struct list_head for mode lists.
373 * Human-readable name of the mode, filled out with drm_mode_set_name().
380 * Status of the mode, used to filter out modes not supported by the
388 * Field for setting the HDMI picture aspect ratio of a mode.
395 * DRM_MODE_FMT - printf string for &struct drm_display_mode
400 * DRM_MODE_ARG - printf arguments for &struct drm_display_mode
401 * @m: display mode
404 (m)->name, drm_mode_vrefresh(m), (m)->clock, \
405 (m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
406 (m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
407 (m)->type, (m)->flags
412 * drm_mode_is_stereo - check for stereo mode flags
413 * @mode: drm_display_mode to check
416 * True if the mode is one of the stereo modes (like side-by-side), false if
419 static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) in drm_mode_is_stereo() argument
421 return mode->flags & DRM_MODE_FLAG_3D_MASK; in drm_mode_is_stereo()
428 void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
434 void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
435 void drm_mode_debug_printmodeline(const struct drm_display_mode *mode);
437 const struct drm_display_mode *mode);
439 const struct drm_display_mode *mode);
441 const struct drm_display_mode *mode);
465 void drm_mode_set_name(struct drm_display_mode *mode);
466 int drm_mode_vrefresh(const struct drm_display_mode *mode);
467 void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
475 const struct drm_display_mode *mode);
488 const struct drm_display_mode *mode);
489 enum drm_mode_status drm_mode_validate_size(const struct drm_display_mode *mode,
492 drm_mode_validate_ycbcr420(const struct drm_display_mode *mode,
503 struct drm_cmdline_mode *mode);