Lines Matching full:this
11 * copy of this software and associated documentation files (the "Software"),
17 * The above copyright notice and this permission notice shall be included in
39 * they wish. Drivers are not forced to use this code in their
48 * To make this clear all the helper vtables are pulled together in this location here.
67 * This is used by the legacy CRTC helpers to implement DPMS
70 * This callback is also used to disable a CRTC by calling it with
73 * This callback is used by the legacy CRTC helpers. Atomic helpers
74 * also support using this hook for enabling and disabling a CRTC to
83 * This callback should prepare the CRTC for a subsequent modeset, which
85 * running. Most drivers ended up implementing this by calling their
88 * This callback is used by the legacy CRTC helpers. Atomic helpers
89 * also support using this hook for disabling a CRTC to facilitate
98 * This callback should commit the new mode on the CRTC after a modeset,
100 * drivers ended up implementing this by calling their @dpms hook with
103 * This callback is used by the legacy CRTC helpers. Atomic helpers
104 * also support using this hook for enabling a CRTC to facilitate
113 * This callback is used to check if a specific mode is valid in this
114 * crtc. This should be implemented if the crtc has some sort of
117 * produce all the values for the available modes then this callback
121 * This hook is used by the probe helpers to filter the mode list in
126 * This function is optional.
130 * Since this function is both called from the check phase of an atomic
147 * This callback is used to validate a mode. The parameter mode is the
149 * encoders need to be fed with. Note that this is the inverse semantics
155 * This function is used by both legacy CRTC helpers and atomic helpers.
160 * This function is called in the check phase of atomic modesets, which
166 * This is in contrast to the legacy CRTC helpers where this was
194 * This callback is used by the legacy CRTC helpers to set a new mode,
200 * This callback is only used by CRTC helpers and deprecated.
213 * This callback is used to update the display mode of a CRTC without
214 * changing anything of the primary plane configuration. This fits the
219 * Note that the display pipe is completely off when this function is
222 * should not use this hook. This is because the helper library calls
223 * this hook only once per mode change and not every time the display
225 * Which means register values set in this callback might get reset when
229 * This callback is optional.
236 * This callback is used by the legacy CRTC helpers to set a new
244 * This callback is only used by the CRTC helpers and deprecated.
256 * This callback is used by the fbdev helpers to set a new framebuffer
260 * This callback is optional and only needed for kgdb support in the fbdev
274 * This callback should be used to disable the CRTC. With the atomic
275 * drivers it is called after all encoders connected to this CRTC have
278 * simple drivers can just add their own hooks and call it from this
282 * This hook is used both by legacy CRTC helpers and atomic helpers.
288 * this one.
307 * Drivers should check plane-update related CRTC constraints in this
309 * aware of the calling order, since this hook is used by
313 * check output routing and display mode constraints in this callback
315 * beforehand. This is calling order used by the default helper
318 * When using drm_atomic_helper_check_planes() this hook is called
320 * allows drivers to assign shared resources requested by planes in this
325 * This function is also allowed to inspect any other object's state and
332 * This callback is used by the atomic modeset helpers and by the
337 * This function is called in the check phase of an atomic update. The
362 * a CRTC in this hook. Depending upon hardware this might be vblank
366 * This hook is called before any plane commit functions are called.
368 * Note that the power state of the display pipe when this function is
373 * This callback is used by the atomic modeset helpers and by the
382 * a CRTC in this hook. Depending upon hardware this might include
387 * flush out all updates for all planes from this hook and forgo all the
390 * This hook is called after any plane commit functions are called.
392 * Note that the power state of the display pipe when this function is
397 * This callback is used by the atomic modeset helpers and by the
406 * This callback should be used to enable the CRTC. With the atomic
407 * drivers it is called before all encoders connected to this CRTC are
410 * hooks and call it from this CRTC callback here by looping over all
413 * This hook is used only by atomic helpers, for symmetry with
424 * This function is optional.
432 * This callback should be used to disable the CRTC. With the atomic
433 * drivers it is called after all encoders connected to this CRTC have
436 * simple drivers can just add their own hooks and call it from this
440 * This hook is used only by atomic helpers. Atomic drivers don't
444 * Comparing to @disable, this one provides the additional input
446 * state. Atomic drivers should consider to use this one instead
449 * This function is optional.
478 * This is used by the legacy encoder helpers to implement DPMS
481 * This callback is also used to disable an encoder by calling it with
484 * This callback is used by the legacy CRTC helpers. Atomic helpers
485 * also support using this hook for enabling and disabling an encoder to
494 * This callback is used to check if a specific mode is valid in this
495 * encoder. This should be implemented if the encoder has some sort
498 * not produce all the values for the available modes then this callback
502 * This hook is used by the probe helpers to filter the mode list in
507 * This function is optional.
511 * Since this function is both called from the check phase of an atomic
528 * This callback is used to validate and adjust a mode. The parameter
532 * can be modified by this callback and does not need to match mode. See
535 * This function is used by both legacy CRTC helpers and atomic helpers.
536 * This hook is optional.
540 * This function is called in the check phase of atomic modesets, which
546 * This is in contrast to the legacy CRTC helpers where this was
551 * this hook isn't called since @atomic_check allows a strict superset
572 * This callback should prepare the encoder for a subsequent modeset,
574 * is running. Most drivers ended up implementing this by calling their
577 * This callback is used by the legacy CRTC helpers. Atomic helpers
578 * also support using this hook for disabling an encoder to facilitate
587 * This callback should commit the new mode on the encoder after a modeset,
589 * drivers ended up implementing this by calling their @dpms hook with
592 * This callback is used by the legacy CRTC helpers. Atomic helpers
593 * also support using this hook for enabling an encoder to facilitate
602 * This callback is used to update the display mode of an encoder.
604 * Note that the display pipe is completely off when this function is
607 * use this hook, because the helper library calls it only once and not
612 * This callback is used both by the legacy CRTC helpers and the atomic
628 * This callback is used to update the display mode of an encoder.
630 * Note that the display pipe is completely off when this function is
633 * use this hook, because the helper library calls it only once and not
638 * This callback is used by the atomic modeset helpers in place of the
651 * This callback is used by the legacy CRTC helpers to work around
659 * Currently only nouveau is using this, and as soon as nouveau is
660 * atomic we can ditch this hook.
667 * This callback can be used by drivers who want to do detection on the
671 * semantics. New drivers shouldn't use this and instead just implement
676 * This should just be converted into a pile of driver vfuncs.
685 * This callback should be used to disable the encoder. With the atomic
686 * drivers it is called before this encoder's CRTC has been shut off
692 * This callback is a variant of @disable that provides the atomic state
696 * This hook is only used by atomic helpers. Atomic drivers don't need
708 * This callback should be used to enable the encoder. It is called
709 * after this encoder's CRTC has been enabled using their own
715 * This callback is a variant of @enable that provides the atomic state
719 * This hook is only used by atomic helpers, it is the opposite of
731 * This callback should be used to disable the encoder. With the atomic
732 * drivers it is called before this encoder's CRTC has been shut off
738 * This hook is used both by legacy CRTC helpers and atomic helpers.
764 * This callback should be used to enable the encoder. With the atomic
765 * drivers it is called after this encoder's CRTC has been enabled using
771 * This hook is only used by atomic helpers, it is the opposite of
782 * This callback is used to validate encoder state for atomic drivers.
788 * Since this provides a strict superset of the functionality of
793 * This function is used by the atomic helpers, but it is optional.
797 * This function is called in the check phase of an atomic update. The
841 * This function should fill in all modes currently valid for the sink
845 * The usual way to implement this is to cache the EDID retrieved in the
847 * In this function drivers then parse the modes in the EDID and add
859 * This function is only called after the @detect hook has indicated
863 * This callback is used by the probe helpers in e.g.
867 * libraries always call this with the &drm_mode_config.connection_mutex
868 * held. Because of this it's safe to inspect &drm_connector->state.
884 * This callback is optional, if not implemented the connector will be
887 * This is the atomic version of &drm_connector_funcs.detect.
890 * helper libraries always call this with ctx set to a valid context,
892 * the ctx parameter set to this ctx. This allows taking additional
910 * This callback is used by the probe helpers to filter the mode list
914 * This function is optional.
918 * This only filters the mode list supplied to userspace in the
922 * drm_atomic_helper_check_modeset(). This allows userspace to force and
927 * and not this one here.
930 * libraries always call this with the &drm_mode_config.connection_mutex
931 * held. Because of this it's safe to inspect &drm_connector->state.
943 * This function should select the best encoder for the given connector.
945 * This function is used by both the atomic helpers (in the
951 * In atomic drivers this function is called in the check phase of an
957 * You can leave this function to NULL if the connector is only
959 * In this case, the core will call drm_atomic_helper_best_encoder()
967 * for this.
974 * This is the atomic version of @best_encoder for atomic drivers which
978 * This function is used by drm_atomic_helper_check_modeset().
984 * This function is called in the check phase of an atomic update. The
994 * for this.
1002 * This hook is used to validate connector state. This function is
1007 * this function should handle being called multiple times as well.
1009 * This function is also allowed to inspect any other object's state and
1018 * This function is called in the check phase of an atomic update. The
1036 * This hook is to be used by drivers implementing writeback connectors
1041 * This hook is optional.
1043 * This callback is used by the atomic modeset helpers.
1075 * This hook is to prepare a framebuffer for scanout by e.g. pinning
1079 * This function must not block for outstanding rendering, since it is
1088 * drm_gem_fb_prepare_fb() for this hook.
1091 * successful call to this hook.
1093 * This callback is used by the atomic modeset helpers and by the
1100 * this callback is the only one which can fail an atomic commit,
1108 * This hook is called to clean up any resources allocated for the given
1111 * This callback is used by the atomic modeset helpers and by the
1120 * Drivers should check plane specific constraints in this hook.
1129 * This function is also allowed to inspect any other object's state and
1136 * This callback is used by the atomic modeset helpers and by the
1141 * This function is called in the check phase of an atomic update. The
1159 * Drivers should use this function to update the plane state. This
1163 * Note that the power state of the display pipe when this function is
1168 * This callback is used by the atomic modeset helpers and by the
1176 * Drivers should use this function to unconditionally disable a plane.
1177 * This hook is called in-between the
1183 * This hook is also useful to disable planes in preparation of a modeset,
1187 * Note that the power state of the display pipe when this function is
1192 * This callback is used by the atomic modeset helpers and by the
1201 * Drivers should set this function pointer to check if the plane state
1205 * This hook is called by drm_atomic_async_check() to establish if a
1220 * Drivers should set this function pointer to perform asynchronous
1225 * This hook is called by drm_atomic_helper_async_commit().
1231 * Note that unlike &drm_plane_helper_funcs.atomic_update this hook
1239 * This is required since cleanup for async commits is performed on
1250 * we run this hook. For now drivers must implement their own workers
1277 * This hook is used by the default atomic_commit() hook implemented in
1283 * This function is called when the new atomic state has already been
1285 * therefore contains copies of the old/previous state. This hook should
1292 * After the atomic update is committed to the hardware this hook needs
1299 * When disabling a CRTC this hook _must_ stall for the commit to
1301 * can't take care of this. And it also can't rely on the vblank event,
1306 * This hook is optional, the default implementation is