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.
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
78 * This callback is used by the legacy CRTC helpers. Atomic helpers
79 * also support using this hook for enabling and disabling a CRTC to
88 * This callback should prepare the CRTC for a subsequent modeset, which
90 * running. Most drivers ended up implementing this by calling their
93 * This callback is used by the legacy CRTC helpers. Atomic helpers
94 * also support using this hook for disabling a CRTC to facilitate
103 * This callback should commit the new mode on the CRTC after a modeset,
105 * drivers ended up implementing this by calling their @dpms hook with
108 * This callback is used by the legacy CRTC helpers. Atomic helpers
109 * also support using this hook for enabling a CRTC to facilitate
118 * This callback is used to check if a specific mode is valid in this
119 * crtc. This should be implemented if the crtc has some sort of
122 * produce all the values for the available modes then this callback
126 * This hook is used by the probe helpers to filter the mode list in
131 * This function is optional.
135 * Since this function is both called from the check phase of an atomic
152 * This callback is used to validate a mode. The parameter mode is the
154 * encoders need to be fed with. Note that this is the inverse semantics
160 * This function is used by both legacy CRTC helpers and atomic helpers.
165 * This function is called in the check phase of atomic modesets, which
171 * This is in contrast to the legacy CRTC helpers where this was
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
219 * changing anything of the primary plane configuration. This fits the
222 * Note that the display pipe is completely off when this function is
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
228 * Which means register values set in this callback might get reset when
232 * This callback is optional.
239 * This callback is used by the legacy CRTC helpers to set a new
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
263 * This callback is optional and only needed for kgdb support in the fbdev
277 * This callback should be used to disable the CRTC. With the atomic
278 * drivers it is called after all encoders connected to this CRTC have
281 * simple drivers can just add their own hooks and call it from this
285 * This hook is used both by legacy CRTC helpers and atomic helpers.
291 * this one.
310 * Drivers should check plane-update related CRTC constraints in this
312 * aware of the calling order, since this hook is used by
316 * check output routing and display mode constraints in this callback
318 * beforehand. This is calling order used by the default helper
321 * When using drm_atomic_helper_check_planes() this hook is called
323 * allows drivers to assign shared resources requested by planes in this
328 * This function is also allowed to inspect any other object's state and
335 * This callback is used by the atomic modeset helpers, but it is
340 * This function is called in the check phase of an atomic update. The
364 * a CRTC in this hook. Depending upon hardware this might be vblank
368 * This hook is called before any plane commit functions are called.
370 * Note that the power state of the display pipe when this function is
375 * This callback is used by the atomic modeset helpers, but it is
384 * a CRTC in this hook. Depending upon hardware this might include
389 * flush out all updates for all planes from this hook and forgo all the
392 * This hook is called after any plane commit functions are called.
394 * Note that the power state of the display pipe when this function 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
409 * drivers it is called before all encoders connected to this CRTC are
412 * hooks and call it from this CRTC callback here by looping over all
415 * This hook is used only by atomic helpers, for symmetry with
422 * This function is optional.
430 * This callback should be used to disable the CRTC. With the atomic
431 * drivers it is called after all encoders connected to this CRTC have
434 * simple drivers can just add their own hooks and call it from this
438 * This hook is used only by atomic helpers. Atomic drivers don't
442 * This function is optional.
454 * measured. Note that this is a helper callback which is only used
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
524 * This callback is used by the legacy CRTC helpers. Atomic helpers
525 * also support using this hook for enabling and disabling an encoder to
534 * This callback is used to check if a specific mode is valid in this
535 * encoder. This should be implemented if the encoder has some sort
538 * not produce all the values for the available modes then this callback
542 * This hook is used by the probe helpers to filter the mode list in
547 * This function is optional.
551 * Since this function is both called from the check phase of an atomic
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.
576 * This hook is optional.
580 * This function is called in the check phase of atomic modesets, which
586 * This is in contrast to the legacy CRTC helpers where this was
591 * this hook isn't called since @atomic_check allows a strict superset
612 * This callback should prepare the encoder for a subsequent modeset,
614 * is running. Most drivers ended up implementing this by calling their
617 * This callback is used by the legacy CRTC helpers. Atomic helpers
618 * also support using this hook for disabling an encoder to facilitate
627 * This callback should commit the new mode on the encoder after a modeset,
629 * drivers ended up implementing this by calling their @dpms hook with
632 * This callback is used by the legacy CRTC helpers. Atomic helpers
633 * also support using this hook for enabling an encoder to facilitate
642 * This callback is used to update the display mode of an encoder.
644 * Note that the display pipe is completely off when this function is
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
668 * This callback is used to update the display mode of an encoder.
670 * Note that the display pipe is completely off when this function is
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
691 * This callback can be used by drivers who want to do detection on the
695 * semantics. New drivers shouldn't use this and instead just implement
700 * This should just be converted into a pile of driver vfuncs.
709 * This callback should be used to disable the encoder. With the atomic
710 * drivers it is called before this encoder's CRTC has been shut off
716 * This callback is a variant of @disable that provides the atomic state
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
733 * after this encoder's CRTC has been enabled using their own
739 * This callback is a variant of @enable that provides the atomic state
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
756 * drivers it is called before this encoder's CRTC has been shut off
762 * This hook is used both by legacy CRTC helpers and atomic helpers.
788 * This callback should be used to enable the encoder. With the atomic
789 * drivers it is called after this encoder's CRTC has been enabled using
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.
812 * Since this provides a strict superset of the functionality of
817 * This function is used by the atomic helpers, but it is optional.
821 * This function is called in the check phase of an atomic update. The
865 * This function should fill in all modes currently valid for the sink
869 * The usual way to implement this is to cache the EDID retrieved in the
871 * In this function drivers then parse the modes in the EDID and add
889 * This function is only called after the @detect hook has indicated
893 * This callback is used by the probe helpers in e.g.
897 * libraries always call this with the &drm_mode_config.connection_mutex
898 * held. Because of this it's safe to inspect &drm_connector->state.
915 * This callback is optional, if not implemented the connector will be
918 * This is the atomic version of &drm_connector_funcs.detect.
921 * helper libraries always call this with ctx set to a valid context,
923 * the ctx parameter set to this ctx. This allows taking additional
941 * This callback is used by the probe helpers to filter the mode list
945 * This function is optional.
949 * This only filters the mode list supplied to userspace in the
953 * drm_atomic_helper_check_modeset(). This allows userspace to force and
958 * and not this one here.
961 * libraries always call this with the &drm_mode_config.connection_mutex
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
982 * This function is optional, and is the atomic version of
986 * helper libraries always call this with ctx set to a valid context,
988 * the ctx parameter set to @ctx. This allows for taking additional
991 * Even though additional locks may be acquired, this callback is
999 * connectors into account, as this would change depending on the
1016 * This function should select the best encoder for the given connector.
1018 * This function is used by both the atomic helpers (in the
1024 * In atomic drivers this function is called in the check phase of an
1030 * You can leave this function to NULL if the connector is only
1031 * attached to a single encoder. In this case, the core will call
1039 * for this.
1046 * This is the atomic version of @best_encoder for atomic drivers which
1050 * This function is used by drm_atomic_helper_check_modeset().
1056 * This function is called in the check phase of an atomic update. The
1065 * for this.
1073 * This hook is used to validate connector state. This function is
1078 * this function should handle being called multiple times as well.
1080 * This function is also allowed to inspect any other object's state and
1089 * This function is called in the check phase of an atomic update. The
1107 * This hook is to be used by drivers implementing writeback connectors
1112 * This hook is optional.
1114 * This callback is used by the atomic modeset helpers.
1124 * clean up framebuffers for planes. This optional connector operation
1129 * This operation is optional.
1131 * This callback is used by the atomic modeset helpers.
1138 * This optional connector operation is used to support the
1144 * This operation is optional.
1146 * This callback is used by the atomic modeset helpers.
1156 * This operation is optional.
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
1172 * This operation is optional.
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
1204 * This hook is to prepare a framebuffer for scanout by e.g. pinning
1208 * This function must not block for outstanding rendering, since it is
1218 * implement this. Other drivers which need additional plane processing
1231 * successful call to this hook.
1233 * This callback is used by the atomic modeset helpers, but it is
1240 * this callback is the only one which can fail an atomic commit,
1248 * This hook is called to clean up any resources allocated for the given
1251 * This callback is used by the atomic modeset helpers, but it is
1260 * This hook prepares the plane for access during an atomic commit.
1282 * This hook cleans up resources allocated by @begin_fb_access. It it called
1290 * Drivers should check plane specific constraints in this hook.
1299 * This function is also allowed to inspect any other object's state and
1306 * This callback is used by the atomic modeset helpers, but it is
1311 * This function is called in the check phase of an atomic update. The
1328 * Drivers should use this function to update the plane state. This
1332 * Note that the power state of the display pipe when this function is
1337 * This callback is used by the atomic modeset helpers, but it is optional.
1345 * Drivers should use this function to unconditionally enable a plane.
1346 * This hook is called in-between the &drm_crtc_helper_funcs.atomic_begin
1354 * Note that the power state of the display pipe when this function is
1359 * This callback is used by the atomic modeset helpers, but it is
1370 * Drivers should use this function to unconditionally disable a plane.
1371 * This hook is called in-between the
1377 * This hook is also useful to disable planes in preparation of a modeset,
1381 * Note that the power state of the display pipe when this function is
1386 * This callback is used by the atomic modeset helpers, but it is
1395 * Drivers should set this function pointer to check if the plane's
1399 * This hook is called by drm_atomic_async_check() to establish if a
1403 * This function is also used by drm_atomic_set_property() to determine
1419 * Drivers should set this function pointer to perform asynchronous
1424 * This hook is called by drm_atomic_helper_async_commit().
1436 * This is required since cleanup for async commits is performed on
1447 * we run this hook. For now drivers must implement their own workers
1460 * The device &dev.mode_config.panic_lock is taken before calling this
1480 * drawn to the scanout buffer. In this function, the driver
1512 * This hook is used by the default atomic_commit() hook implemented in
1518 * This function is called when the new atomic state has already been
1520 * therefore contains copies of the old/previous state. This hook should
1527 * After the atomic update is committed to the hardware this hook needs
1534 * When disabling a CRTC this hook _must_ stall for the commit to
1536 * can't take care of this. And it also can't rely on the vblank event,
1541 * This hook is optional, the default implementation is
1549 * This hook is used by the default atomic_commit() hook implemented in
1554 * This function is called at the end of
1561 * how one should implement this.
1563 * This hook is optional.