Lines Matching +full:not +full:- +full:used

3  * Copyright © 2007-2008 Dave Airlie
4 * Copyright © 2007-2008 Intel Corporation
6 * Copyright © 2011-2013 Intel Corporation
21 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39 * they wish. Drivers are not forced to use this code in their
61 * struct drm_crtc_helper_funcs - helper operations for CRTCs
63 * These hooks are used by the legacy CRTC helpers and the new atomic
72 * This is used by the legacy CRTC helpers to implement DPMS
75 * This callback is also used to disable a CRTC by calling it with
76 * DRM_MODE_DPMS_OFF if the @disable hook isn't used.
78 * This callback is used by the legacy CRTC helpers. Atomic helpers
81 * @atomic_enable and @atomic_disable should be used.
93 * This callback is used by the legacy CRTC helpers. Atomic helpers
96 * should be used.
108 * This callback is used by the legacy CRTC helpers. Atomic helpers
111 * should be used.
118 * This callback is used to check if a specific mode is valid in this
121 * may be responsible to set a clock value. If the clock can not
123 * can be used to restrict the number of modes to only the ones that
126 * This hook is used by the probe helpers to filter the mode list in
127 * drm_helper_probe_single_connector_modes(), and it is used by the
136 * commit, and the mode validation in the probe paths it is not allowed
137 * to look at anything else but the passed-in mode, and validate it
138 * against configuration-invariant hardware constraints. Any further
152 * This callback is used to validate a mode. The parameter mode is the
160 * This function is used by both legacy CRTC helpers and atomic helpers.
168 * MUST NOT touch any persistent state (hardware or software) or data
175 * instead use the @atomic_check callback, but note that they're not
199 * This callback is used by the legacy CRTC helpers to set a new mode,
205 * This callback is only used by CRTC helpers and deprecated.
218 * This callback is used to update the display mode of a CRTC without
220 * requirement of atomic and hence is used by the atomic helpers.
225 * should not use this hook. This is because the helper library calls
226 * this hook only once per mode change and not every time the display
229 * the CRTC is suspended, but not restored. Such drivers should instead
239 * This callback is used by the legacy CRTC helpers to set a new
240 * framebuffer and scanout position. It is optional and used as an
241 * optimized fast-path instead of a full mode set operation with all the
242 * resulting flickering. If it is not present
247 * This callback is only used by the CRTC helpers and deprecated.
259 * This callback is used by the fbdev helpers to set a new framebuffer
261 * is only used to implement kgdb support.
277 * This callback should be used to disable the CRTC. With the atomic
285 * This hook is used both by legacy CRTC helpers and atomic helpers.
296 * @disable and other hooks (like @prepare or @dpms) used to shut down a
310 * Drivers should check plane-update related CRTC constraints in this
312 * aware of the calling order, since this hook is used by
318 * beforehand. This is calling order used by the default helper
335 * This callback is used by the atomic modeset helpers, but it is
341 * driver is not allowed to change anything outside of the free-standing
342 * state object passed-in.
352 * 0 on success, -EINVAL if the state or the transition can't be
353 * supported, -ENOMEM on memory allocation failure and -EDEADLK if an
375 * This callback is used by the atomic modeset helpers, but it is
399 * This callback is used by the atomic modeset helpers, but it is
408 * This callback should be used to enable the CRTC. With the atomic
415 * This hook is used only by atomic helpers, for symmetry with
430 * This callback should be used to disable the CRTC. With the atomic
438 * This hook is used only by atomic helpers. Atomic drivers don't
454 * measured. Note that this is a helper callback which is only used
464 * need to apply some workarounds for gpu-specific vblank irq
481 * of scanlines to go until end of vblank, e.g., -1 means "one scanline
487 * not be read out.
496 * drm_crtc_helper_add - sets the helper vtable for a crtc
503 crtc->helper_private = funcs; in drm_crtc_helper_add()
507 * struct drm_encoder_helper_funcs - helper operations for encoders
509 * These hooks are used by the legacy CRTC helpers and the new atomic
518 * This is used by the legacy encoder helpers to implement DPMS
521 * This callback is also used to disable an encoder by calling it with
522 * DRM_MODE_DPMS_OFF if the @disable hook isn't used.
524 * This callback is used by the legacy CRTC helpers. Atomic helpers
527 * @enable and @disable should be used.
534 * This callback is used to check if a specific mode is valid in this
538 * not produce all the values for the available modes then this callback
539 * can be used to restrict the number of modes to only the ones that
542 * This hook is used by the probe helpers to filter the mode list in
543 * drm_helper_probe_single_connector_modes(), and it is used by the
552 * commit, and the mode validation in the probe paths it is not allowed
553 * to look at anything else but the passed-in mode, and validate it
554 * against configuration-invariant hardware constraints. Any further
568 * This callback is used to validate and adjust a mode. The parameter
572 * can be modified by this callback and does not need to match mode. See
575 * This function is used by both legacy CRTC helpers and atomic helpers.
583 * MUST NOT touch any persistent state (hardware or software) or data
590 * instead use the @atomic_check callback. If @atomic_check is used,
617 * This callback is used by the legacy CRTC helpers. Atomic helpers
620 * be used.
632 * This callback is used by the legacy CRTC helpers. Atomic helpers
635 * be used.
642 * This callback is used to update the display mode of an encoder.
646 * the new display mode (because they implement runtime PM) should not
647 * use this hook, because the helper library calls it only once and not
652 * This callback is used both by the legacy CRTC helpers and the atomic
659 * @atomic_mode_set can be used instead.
668 * This callback is used to update the display mode of an encoder.
672 * the new display mode (because they implement runtime PM) should not
673 * use this hook, because the helper library calls it only once and not
678 * This callback is used by the atomic modeset helpers in place of the
680 * be used instead of @mode_set if the driver needs to inspect the
691 * This callback can be used by drivers who want to do detection on the
694 * It is not used by any helper and therefore has purely driver-specific
709 * This callback should be used to disable the encoder. With the atomic
717 * to the driver. If @atomic_disable is implemented, @disable is not
720 * This hook is only used by atomic helpers. Atomic drivers don't need
732 * This callback should be used to enable the encoder. It is called
740 * to the driver. If @atomic_enable is implemented, @enable is not
743 * This hook is only used by atomic helpers, it is the opposite of
755 * This callback should be used to disable the encoder. With the atomic
762 * This hook is used both by legacy CRTC helpers and atomic helpers.
774 * @disable and other hooks (like @prepare or @dpms) used to shut down a
788 * This callback should be used to enable the encoder. With the atomic
795 * This hook is only used by atomic helpers, it is the opposite of
806 * This callback is used to validate encoder state for atomic drivers.
814 * through the passed in &struct drm_crtc_state) @mode_fixup is not
817 * This function is used by the atomic helpers, but it is optional.
822 * driver is not allowed to change anything outside of the free-standing
823 * state objects passed-in or assembled in the overall &drm_atomic_state
834 * 0 on success, -EINVAL if the state or the transition can't be
835 * supported, -ENOMEM on memory allocation failure and -EDEADLK if an
845 * drm_encoder_helper_add - sets the helper vtable for an encoder
852 encoder->helper_private = funcs; in drm_encoder_helper_add()
856 * struct drm_connector_helper_funcs - helper operations for connectors
858 * These functions are used by the atomic and legacy modeset helpers and by the
870 * probe callback somewhere in the driver-private connector structure.
893 * This callback is used by the probe helpers in e.g.
898 * held. Because of this it's safe to inspect &drm_connector->state.
912 * connector due to a user request. force can be used by the driver to
915 * This callback is optional, if not implemented the connector will be
929 * or the error code returned by drm_modeset_lock(), -EDEADLK.
941 * This callback is used by the probe helpers to filter the mode list
958 * and not this one here.
962 * held. Because of this it's safe to inspect &drm_connector->state.
978 * This callback is used by the probe helpers to filter the mode list
992 * still expected not to take any constraints into account which would
993 * be influenced by the currently set display state - such constraints
1018 * This function is used by both the atomic helpers (in the
1025 * atomic update. The driver is not allowed to change or inspect
1026 * anything outside of arguments passed-in. Atomic drivers which need to
1036 * Encoder that should be used for the given connector and connector
1038 * will ensure that encoders aren't used twice, drivers should not check
1050 * This function is used by drm_atomic_helper_check_modeset().
1051 * If it is not implemented, the core will fallback to @best_encoder
1057 * driver is not allowed to change anything outside of the
1062 * Encoder that should be used for the given connector and connector
1064 * will ensure that encoders aren't used twice, drivers should not check
1073 * This hook is used to validate connector state. This function is
1090 * driver is not allowed to change anything outside of the free-standing
1091 * state objects passed-in or assembled in the overall &drm_atomic_state
1096 * 0 on success, -EINVAL if the state or the transition can't be
1097 * supported, -ENOMEM on memory allocation failure and -EDEADLK if an
1107 * This hook is to be used by drivers implementing writeback connectors
1114 * This callback is used by the atomic modeset helpers.
1125 * is used to support the preparation of writeback jobs. The job
1131 * This callback is used by the atomic modeset helpers.
1138 * This optional connector operation is used to support the
1146 * This callback is used by the atomic modeset helpers.
1154 * Enable hot-plug detection for the connector.
1158 * This callback is used by the drm_kms_helper_poll_enable() helpers.
1160 * This operation does not need to perform any hpd state tracking as
1170 * Disable hot-plug detection for the connector.
1174 * This callback is used by the drm_kms_helper_poll_disable() helpers.
1176 * This operation does not need to perform any hpd state tracking as
1185 * drm_connector_helper_add - sets the helper vtable for a connector
1192 connector->helper_private = funcs; in drm_connector_helper_add()
1196 * struct drm_plane_helper_funcs - helper operations for planes
1198 * These functions are used by the atomic helpers.
1208 * This function must not block for outstanding rendering, since it is
1211 * way is to fill out the &drm_plane_state.fence of the passed-in
1227 * shadow-plane helpers belongs into @begin_fb_access, so that atomic
1233 * This callback is used by the atomic modeset helpers, but it is
1234 * optional. See @begin_fb_access for preparing per-commit resources.
1251 * This callback is used by the atomic modeset helpers, but it is
1264 * For example, with shadow-plane helpers, the GEM buffer's vmap
1270 * The callback is used by the atomic modeset helpers, but it is optional.
1306 * This callback is used by the atomic modeset helpers, but it is
1312 * driver is not allowed to change anything outside of the
1317 * 0 on success, -EINVAL if the state or the transition can't be
1318 * supported, -ENOMEM on memory allocation failure and -EDEADLK if an
1329 * hook is called in-between the &drm_crtc_helper_funcs.atomic_begin and
1337 * This callback is used by the atomic modeset helpers, but it is optional.
1346 * This hook is called in-between the &drm_crtc_helper_funcs.atomic_begin
1359 * This callback is used by the atomic modeset helpers, but it is
1371 * This hook is called in-between the
1386 * This callback is used by the atomic modeset helpers, but it is
1397 * "not vblank synchronized".
1406 * can not be applied in asynchronous manner.
1416 * state and update the plane. Here async means "not vblank
1438 * - It only works for single plane updates
1439 * - Async Pageflips are not supported yet
1440 * - Some hw might still scan out the old buffer until the next
1453 * that can be used to display the panic screen. Currently only linear
1454 * buffers are supported. Non-linear buffer support is on the TODO list.
1458 * Please look the documentation at drm_panic_trylock() for an in-depth
1459 * discussions of what's safe and what is not allowed.
1474 * It is used by drm_panic, and is called after the panic screen is
1481 * Please look the documentation at drm_panic_trylock() for an in-depth
1482 * discussions of what's safe and what is not allowed.
1488 * drm_plane_helper_add - sets the helper vtable for a plane
1495 plane->helper_private = funcs; in drm_plane_helper_add()
1499 * struct drm_mode_config_helper_funcs - global modeset helper operations
1501 * These helper functions are used by the atomic helpers.
1507 * This hook is used by the default atomic_commit() hook implemented in
1510 * to implement blocking and nonblocking commits easily. It is not used
1519 * to wait for driver-internal request for implicit syncing, before
1544 * This hook is used by the default atomic_commit() hook implemented in
1547 * is not used by the atomic helpers.