Lines Matching +full:can +full:- +full:primary
3 * Copyright © 2007-2008 Dave Airlie
4 * Copyright © 2007-2008 Intel Corporation
67 * struct drm_crtc_state - mutable CRTC state
100 * commit. They can consult it to aid in the computation of derived
119 * require a full modeset. They can also reset it to false if e.g. a
120 * @mode change can be done without a full modeset by only changing
138 * Drivers are supposed to set this as-needed from their own atomic
212 * Internal display timings which can be used by the driver to handle
235 * built-in panel), this mode here should match the physical mode on the
298 * hardware capabiltiy - lacking support is not treated as failure.
309 * CRTC's can inspect this flag and determine the best course of action.
327 * - The event is for a CRTC which is being disabled through this
328 * atomic commit. In that case the event can be send out any time
335 * - For a CRTC which is enabled at the end of the commit (even when it
338 * new set of buffers. Again the event can only be sent out after the
341 * - Events for disabled CRTCs are not allowed, and drivers can ignore
351 * can be handled by the drm_crtc_send_vblank_event() function,
356 * helper infrastructure this can be achieved by holding a vblank
369 * If the device can't notify of flip completion in a race-free way
382 * state, so that subsequent commits can synchronize with previous ones.
391 * struct drm_crtc_funcs - control CRTCs for a given device
410 * Atomic drivers can use drm_atomic_helper_crtc_reset() to reset
419 * and can be partially or fully outside of the visible area.
511 * &struct drm_mode_set - see there for details.
540 * shared dma-buf.
542 * An application can request to be notified when the page flip has
544 * parameter in this case. This can be handled by the
549 * flip events. With the current vblank helper infrastructure this can
571 * -EBUSY. Pageflips on a disabled CRTC (either by setting a NULL mode
573 * "ACTIVE" state) should result in an -EINVAL error code. Note that
591 * any non-0 error code. It's the driver's responsibility to call
608 * driver-private properties. For atomic drivers it is not used because
632 * state structure to extend it with driver-private state should use
665 * Decode a driver-private property value and store the decoded value
666 * into the passed-in state structure. Since the atomic core decodes all
671 * Such driver-private properties should really only be implemented for
680 * driver-private atomic properties.
685 * modesets, which can be aborted for any reason (including on
697 * 0 if the property has been found, -EINVAL if the property isn't
711 * Reads out the decoded driver-private property. This is used to
718 * driver-private atomic properties.
722 * 0 on success, -EINVAL if the property isn't implemented by the
734 * This optional hook can be used to register additional userspace
774 * Note that "auto" can depend upon the current modeset configuration,
790 * source for CRC and during crc open. Source parameter can be NULL
808 * this. Driver can pass full list of available crc sources, this
809 * callback does the verification on each crc-source before passing it
845 * counter, the driver can simply leave the hook as NULL. The DRM core
912 * need to apply some workarounds for gpu-specific vblank irq quirks
927 * struct drm_crtc - central CRTC control structure
946 /** @name: human readable name, can be overwritten by the driver */
953 * state, ...) and a write lock for everything which can be update
965 * @primary:
966 * Primary plane for this CRTC. Note that this is only
971 struct drm_plane *primary; member
983 * @index: Position inside the mode_config.list, can be used as an array
990 * cursor planes because the SETCURSOR IOCTL only can update the
998 * cursor planes because the SETCURSOR IOCTL only can update the
1010 * &drm_crtc_state.active. Atomic drivers can update this by calling
1020 * can update this by calling
1034 * &drm_crtc_state.adjusted_mode. And for high-precision timestamps
1044 * drivers should look at &drm_plane_state.crtc_x of the primary plane
1052 * drivers should look at &drm_plane_state.crtc_y of the primary plane
1079 /** @helper_private: mid-layer private data */
1117 * any locking or list-walking. @commit_list should only be used to
1181 * struct drm_mode_set - new values for a CRTC config change
1210 struct drm_plane *primary,
1218 struct drm_plane *primary,
1228 struct drm_plane *primary,
1234 * drmm_crtc_alloc_with_planes - Allocate and initialize a new CRTC object with
1235 * specified primary and cursor planes.
1239 * @primary: Primary plane for CRTC
1252 #define drmm_crtc_alloc_with_planes(dev, type, member, primary, cursor, funcs, name, ...) \ argument
1255 primary, cursor, funcs, \
1259 * drm_crtc_index - find the index of a registered CRTC
1267 return crtc->index; in drm_crtc_index()
1271 * drm_crtc_mask - find the mask of a registered CRTC
1286 * drm_crtc_find - look up a CRTC object from its ID
1291 * This can be used to look up a CRTC from its userspace ID. Only used by
1305 * drm_for_each_crtc - iterate over all CRTCs
1312 list_for_each_entry(crtc, &(dev)->mode_config.crtc_list, head)
1315 * drm_for_each_crtc_reverse - iterate over all CRTCs in reverse order
1322 list_for_each_entry_reverse(crtc, &(dev)->mode_config.crtc_list, head)