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.
71 * This is used by the legacy CRTC helpers to implement DPMS
74 * This callback is also used to disable a CRTC by calling it with
77 * This callback is used by the legacy CRTC helpers. Atomic helpers
78 * also support using this hook for enabling and disabling a CRTC to
87 * This callback should prepare the CRTC for a subsequent modeset, which
89 * running. Most drivers ended up implementing this by calling their
92 * This callback is used by the legacy CRTC helpers. Atomic helpers
93 * also support using this hook for disabling a CRTC to facilitate
102 * This callback should commit the new mode on the CRTC after a modeset,
104 * drivers ended up implementing this by calling their @dpms hook with
107 * This callback is used by the legacy CRTC helpers. Atomic helpers
108 * also support using this hook for enabling a CRTC to facilitate
117 * This callback is used to check if a specific mode is valid in this
118 * crtc. This should be implemented if the crtc has some sort of
121 * produce all the values for the available modes then this callback
125 * This hook is used by the probe helpers to filter the mode list in
130 * This function is optional.
134 * Since this function is both called from the check phase of an atomic
151 * This callback is used to validate a mode. The parameter mode is the
153 * encoders need to be fed with. Note that this is the inverse semantics
159 * This function is used by both legacy CRTC helpers and atomic helpers.
164 * This function is called in the check phase of atomic modesets, which
170 * This is in contrast to the legacy CRTC helpers where this was
198 * This callback is used by the legacy CRTC helpers to set a new mode,
204 * This callback is only used by CRTC helpers and deprecated.
217 * This callback is used to update the display mode of a CRTC without
218 * changing anything of the primary plane configuration. This fits the
221 * Note that the display pipe is completely off when this function is
224 * should not use this hook. This is because the helper library calls
225 * this hook only once per mode change and not every time the display
227 * Which means register values set in this callback might get reset when
231 * This callback is optional.
238 * This callback is used by the legacy CRTC helpers to set a new
246 * This callback is only used by the CRTC helpers and deprecated.
258 * This callback is used by the fbdev helpers to set a new framebuffer
262 * This callback is optional and only needed for kgdb support in the fbdev
276 * This callback should be used to disable the CRTC. With the atomic
277 * drivers it is called after all encoders connected to this CRTC have
280 * simple drivers can just add their own hooks and call it from this
284 * This hook is used both by legacy CRTC helpers and atomic helpers.
290 * this one.
309 * Drivers should check plane-update related CRTC constraints in this
311 * aware of the calling order, since this hook is used by
315 * check output routing and display mode constraints in this callback
317 * beforehand. This is calling order used by the default helper
320 * When using drm_atomic_helper_check_planes() this hook is called
322 * allows drivers to assign shared resources requested by planes in this
327 * This function is also allowed to inspect any other object's state and
334 * This callback is used by the atomic modeset helpers, but it is
339 * This function is called in the check phase of an atomic update. The
363 * a CRTC in this hook. Depending upon hardware this might be vblank
367 * This hook is called before any plane commit functions are called.
369 * Note that the power state of the display pipe when this function is
374 * This callback is used by the atomic modeset helpers, but it is
383 * a CRTC in this hook. Depending upon hardware this might include
388 * flush out all updates for all planes from this hook and forgo all the
391 * This hook is called after any plane commit functions are called.
393 * Note that the power state of the display pipe when this function is
398 * This callback is used by the atomic modeset helpers, but it is
407 * This callback should be used to enable the CRTC. With the atomic
408 * drivers it is called before all encoders connected to this CRTC are
411 * hooks and call it from this CRTC callback here by looping over all
414 * This hook is used only by atomic helpers, for symmetry with
421 * This function is optional.
429 * This callback should be used to disable the CRTC. With the atomic
430 * drivers it is called after all encoders connected to this CRTC have
433 * simple drivers can just add their own hooks and call it from this
437 * This hook is used only by atomic helpers. Atomic drivers don't
441 * This function is optional.
453 * measured. Note that this is a helper callback which is only used
517 * This is used by the legacy encoder helpers to implement DPMS
520 * This callback is also used to disable an encoder by calling it with
523 * This callback is used by the legacy CRTC helpers. Atomic helpers
524 * also support using this hook for enabling and disabling an encoder to
533 * This callback is used to check if a specific mode is valid in this
534 * encoder. This should be implemented if the encoder has some sort
537 * not produce all the values for the available modes then this callback
541 * This hook is used by the probe helpers to filter the mode list in
546 * This function is optional.
550 * Since this function is both called from the check phase of an atomic
567 * This callback is used to validate and adjust a mode. The parameter
571 * can be modified by this callback and does not need to match mode. See
574 * This function is used by both legacy CRTC helpers and atomic helpers.
575 * This hook is optional.
579 * This function is called in the check phase of atomic modesets, which
585 * This is in contrast to the legacy CRTC helpers where this was
590 * this hook isn't called since @atomic_check allows a strict superset
611 * This callback should prepare the encoder for a subsequent modeset,
613 * is running. Most drivers ended up implementing this by calling their
616 * This callback is used by the legacy CRTC helpers. Atomic helpers
617 * also support using this hook for disabling an encoder to facilitate
626 * This callback should commit the new mode on the encoder after a modeset,
628 * drivers ended up implementing this by calling their @dpms hook with
631 * This callback is used by the legacy CRTC helpers. Atomic helpers
632 * also support using this hook for enabling an encoder to facilitate
641 * This callback is used to update the display mode of an encoder.
643 * Note that the display pipe is completely off when this function is
646 * use this hook, because the helper library calls it only once and not
651 * This callback is used both by the legacy CRTC helpers and the atomic
667 * This callback is used to update the display mode of an encoder.
669 * Note that the display pipe is completely off when this function is
672 * use this hook, because the helper library calls it only once and not
677 * This callback is used by the atomic modeset helpers in place of the
690 * This callback can be used by drivers who want to do detection on the
694 * semantics. New drivers shouldn't use this and instead just implement
699 * This should just be converted into a pile of driver vfuncs.
708 * This callback should be used to disable the encoder. With the atomic
709 * drivers it is called before this encoder's CRTC has been shut off
715 * This callback is a variant of @disable that provides the atomic state
719 * This hook is only used by atomic helpers. Atomic drivers don't need
731 * This callback should be used to enable the encoder. It is called
732 * after this encoder's CRTC has been enabled using their own
738 * This callback is a variant of @enable that provides the atomic state
742 * This hook is only used by atomic helpers, it is the opposite of
754 * This callback should be used to disable the encoder. With the atomic
755 * drivers it is called before this encoder's CRTC has been shut off
761 * This hook is used both by legacy CRTC helpers and atomic helpers.
787 * This callback should be used to enable the encoder. With the atomic
788 * drivers it is called after this encoder's CRTC has been enabled using
794 * This hook is only used by atomic helpers, it is the opposite of
805 * This callback is used to validate encoder state for atomic drivers.
811 * Since this provides a strict superset of the functionality of
816 * This function is used by the atomic helpers, but it is optional.
820 * This function is called in the check phase of an atomic update. The
864 * This function should fill in all modes currently valid for the sink
868 * The usual way to implement this is to cache the EDID retrieved in the
870 * In this function drivers then parse the modes in the EDID and add
888 * This function is only called after the @detect hook has indicated
892 * This callback is used by the probe helpers in e.g.
896 * libraries always call this with the &drm_mode_config.connection_mutex
897 * held. Because of this it's safe to inspect &drm_connector->state.
913 * This callback is optional, if not implemented the connector will be
916 * This is the atomic version of &drm_connector_funcs.detect.
919 * helper libraries always call this with ctx set to a valid context,
921 * the ctx parameter set to this ctx. This allows taking additional
939 * This callback is used by the probe helpers to filter the mode list
943 * This function is optional.
947 * This only filters the mode list supplied to userspace in the
951 * drm_atomic_helper_check_modeset(). This allows userspace to force and
956 * and not this one here.
959 * libraries always call this with the &drm_mode_config.connection_mutex
960 * held. Because of this it's safe to inspect &drm_connector->state.
976 * This callback is used by the probe helpers to filter the mode list
980 * This function is optional, and is the atomic version of
984 * helper libraries always call this with ctx set to a valid context,
986 * the ctx parameter set to @ctx. This allows for taking additional
989 * Even though additional locks may be acquired, this callback is
997 * connectors into account, as this would change depending on the
1014 * This function should select the best encoder for the given connector.
1016 * This function is used by both the atomic helpers (in the
1022 * In atomic drivers this function is called in the check phase of an
1028 * You can leave this function to NULL if the connector is only
1029 * attached to a single encoder. In this case, the core will call
1037 * for this.
1044 * This is the atomic version of @best_encoder for atomic drivers which
1048 * This function is used by drm_atomic_helper_check_modeset().
1054 * This function is called in the check phase of an atomic update. The
1063 * for this.
1071 * This hook is used to validate connector state. This function is
1076 * this function should handle being called multiple times as well.
1078 * This function is also allowed to inspect any other object's state and
1087 * This function is called in the check phase of an atomic update. The
1105 * This hook is to be used by drivers implementing writeback connectors
1110 * This hook is optional.
1112 * This callback is used by the atomic modeset helpers.
1122 * clean up framebuffers for planes. This optional connector operation
1127 * This operation is optional.
1129 * This callback is used by the atomic modeset helpers.
1136 * This optional connector operation is used to support the
1142 * This operation is optional.
1144 * This callback is used by the atomic modeset helpers.
1154 * This operation is optional.
1156 * This callback is used by the drm_kms_helper_poll_enable() helpers.
1158 * This operation does not need to perform any hpd state tracking as
1170 * This operation is optional.
1172 * This callback is used by the drm_kms_helper_poll_disable() helpers.
1174 * This operation does not need to perform any hpd state tracking as
1202 * This hook is to prepare a framebuffer for scanout by e.g. pinning
1206 * This function must not block for outstanding rendering, since it is
1216 * implement this. Other drivers which need additional plane processing
1229 * successful call to this hook.
1231 * This callback is used by the atomic modeset helpers, but it is
1238 * this callback is the only one which can fail an atomic commit,
1246 * This hook is called to clean up any resources allocated for the given
1249 * This callback is used by the atomic modeset helpers, but it is
1258 * This hook prepares the plane for access during an atomic commit.
1280 * This hook cleans up resources allocated by @begin_fb_access. It it called
1288 * Drivers should check plane specific constraints in this hook.
1297 * This function is also allowed to inspect any other object's state and
1304 * This callback is used by the atomic modeset helpers, but it is
1309 * This function is called in the check phase of an atomic update. The
1326 * Drivers should use this function to update the plane state. This
1330 * Note that the power state of the display pipe when this function is
1335 * This callback is used by the atomic modeset helpers, but it is optional.
1343 * Drivers should use this function to unconditionally enable a plane.
1344 * This hook is called in-between the &drm_crtc_helper_funcs.atomic_begin
1352 * Note that the power state of the display pipe when this function is
1357 * This callback is used by the atomic modeset helpers, but it is
1368 * Drivers should use this function to unconditionally disable a plane.
1369 * This hook is called in-between the
1375 * This hook is also useful to disable planes in preparation of a modeset,
1379 * Note that the power state of the display pipe when this function is
1384 * This callback is used by the atomic modeset helpers, but it is
1393 * Drivers should set this function pointer to check if the plane's
1397 * This hook is called by drm_atomic_async_check() to establish if a
1412 * Drivers should set this function pointer to perform asynchronous
1417 * This hook is called by drm_atomic_helper_async_commit().
1429 * This is required since cleanup for async commits is performed on
1440 * we run this hook. For now drivers must implement their own workers
1467 * This hook is used by the default atomic_commit() hook implemented in
1473 * This function is called when the new atomic state has already been
1475 * therefore contains copies of the old/previous state. This hook should
1482 * After the atomic update is committed to the hardware this hook needs
1489 * When disabling a CRTC this hook _must_ stall for the commit to
1491 * can't take care of this. And it also can't rely on the vblank event,
1496 * This hook is optional, the default implementation is
1504 * This hook is used by the default atomic_commit() hook implemented in
1509 * This function is called at the end of
1516 * how one should implement this.
1518 * This hook is optional.