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
361 * a CRTC in this hook. Depending upon hardware this might be vblank
365 * This hook is called before any plane commit functions are called.
367 * Note that the power state of the display pipe when this function is
372 * This callback is used by the atomic modeset helpers and by the
381 * a CRTC in this hook. Depending upon hardware this might include
386 * flush out all updates for all planes from this hook and forgo all the
389 * This hook is called after any plane commit functions are called.
391 * Note that the power state of the display pipe when this function is
396 * This callback is used by the atomic modeset helpers and by the
405 * This callback should be used to enable the CRTC. With the atomic
406 * drivers it is called before all encoders connected to this CRTC are
409 * hooks and call it from this CRTC callback here by looping over all
412 * This hook is used only by atomic helpers, for symmetry with
419 * This function is optional.
427 * This callback should be used to disable the CRTC. With the atomic
428 * drivers it is called after all encoders connected to this CRTC have
431 * simple drivers can just add their own hooks and call it from this
435 * This hook is used only by atomic helpers. Atomic drivers don't
439 * This function is optional.
451 * measured. Note that this is a helper callback which is only used
515 * This is used by the legacy encoder helpers to implement DPMS
518 * This callback is also used to disable an encoder by calling it with
521 * This callback is used by the legacy CRTC helpers. Atomic helpers
522 * also support using this hook for enabling and disabling an encoder to
531 * This callback is used to check if a specific mode is valid in this
532 * encoder. This should be implemented if the encoder has some sort
535 * not produce all the values for the available modes then this callback
539 * This hook is used by the probe helpers to filter the mode list in
544 * This function is optional.
548 * Since this function is both called from the check phase of an atomic
565 * This callback is used to validate and adjust a mode. The parameter
569 * can be modified by this callback and does not need to match mode. See
572 * This function is used by both legacy CRTC helpers and atomic helpers.
573 * This hook is optional.
577 * This function is called in the check phase of atomic modesets, which
583 * This is in contrast to the legacy CRTC helpers where this was
588 * this hook isn't called since @atomic_check allows a strict superset
609 * This callback should prepare the encoder for a subsequent modeset,
611 * is running. Most drivers ended up implementing this by calling their
614 * This callback is used by the legacy CRTC helpers. Atomic helpers
615 * also support using this hook for disabling an encoder to facilitate
624 * This callback should commit the new mode on the encoder after a modeset,
626 * drivers ended up implementing this by calling their @dpms hook with
629 * This callback is used by the legacy CRTC helpers. Atomic helpers
630 * also support using this hook for enabling an encoder to facilitate
639 * This callback is used to update the display mode of an encoder.
641 * Note that the display pipe is completely off when this function is
644 * use this hook, because the helper library calls it only once and not
649 * This callback is used both by the legacy CRTC helpers and the atomic
665 * This callback is used to update the display mode of an encoder.
667 * Note that the display pipe is completely off when this function is
670 * use this hook, because the helper library calls it only once and not
675 * This callback is used by the atomic modeset helpers in place of the
688 * This callback can be used by drivers who want to do detection on the
692 * semantics. New drivers shouldn't use this and instead just implement
697 * This should just be converted into a pile of driver vfuncs.
706 * This callback should be used to disable the encoder. With the atomic
707 * drivers it is called before this encoder's CRTC has been shut off
713 * This callback is a variant of @disable that provides the atomic state
717 * This hook is only used by atomic helpers. Atomic drivers don't need
729 * This callback should be used to enable the encoder. It is called
730 * after this encoder's CRTC has been enabled using their own
736 * This callback is a variant of @enable that provides the atomic state
740 * This hook is only used by atomic helpers, it is the opposite of
752 * This callback should be used to disable the encoder. With the atomic
753 * drivers it is called before this encoder's CRTC has been shut off
759 * This hook is used both by legacy CRTC helpers and atomic helpers.
785 * This callback should be used to enable the encoder. With the atomic
786 * drivers it is called after this encoder's CRTC has been enabled using
792 * This hook is only used by atomic helpers, it is the opposite of
803 * This callback is used to validate encoder state for atomic drivers.
809 * Since this provides a strict superset of the functionality of
814 * This function is used by the atomic helpers, but it is optional.
818 * This function is called in the check phase of an atomic update. The
862 * This function should fill in all modes currently valid for the sink
866 * The usual way to implement this is to cache the EDID retrieved in the
868 * In this function drivers then parse the modes in the EDID and add
886 * This function is only called after the @detect hook has indicated
890 * This callback is used by the probe helpers in e.g.
894 * libraries always call this with the &drm_mode_config.connection_mutex
895 * held. Because of this it's safe to inspect &drm_connector->state.
911 * This callback is optional, if not implemented the connector will be
914 * This is the atomic version of &drm_connector_funcs.detect.
917 * helper libraries always call this with ctx set to a valid context,
919 * the ctx parameter set to this ctx. This allows taking additional
937 * This callback is used by the probe helpers to filter the mode list
941 * This function is optional.
945 * This only filters the mode list supplied to userspace in the
949 * drm_atomic_helper_check_modeset(). This allows userspace to force and
954 * and not this one here.
957 * libraries always call this with the &drm_mode_config.connection_mutex
958 * held. Because of this it's safe to inspect &drm_connector->state.
974 * This callback is used by the probe helpers to filter the mode list
978 * This function is optional, and is the atomic version of
982 * helper libraries always call this with ctx set to a valid context,
984 * the ctx parameter set to @ctx. This allows for taking additional
987 * Even though additional locks may be acquired, this callback is
995 * connectors into account, as this would change depending on the
1012 * This function should select the best encoder for the given connector.
1014 * This function is used by both the atomic helpers (in the
1020 * In atomic drivers this function is called in the check phase of an
1026 * You can leave this function to NULL if the connector is only
1027 * attached to a single encoder. In this case, the core will call
1035 * for this.
1042 * This is the atomic version of @best_encoder for atomic drivers which
1046 * This function is used by drm_atomic_helper_check_modeset().
1052 * This function is called in the check phase of an atomic update. The
1061 * for this.
1069 * This hook is used to validate connector state. This function is
1074 * this function should handle being called multiple times as well.
1076 * This function is also allowed to inspect any other object's state and
1085 * This function is called in the check phase of an atomic update. The
1103 * This hook is to be used by drivers implementing writeback connectors
1108 * This hook is optional.
1110 * This callback is used by the atomic modeset helpers.
1120 * clean up framebuffers for planes. This optional connector operation
1125 * This operation is optional.
1127 * This callback is used by the atomic modeset helpers.
1134 * This optional connector operation is used to support the
1140 * This operation is optional.
1142 * This callback is used by the atomic modeset helpers.
1169 * This hook is to prepare a framebuffer for scanout by e.g. pinning
1173 * This function must not block for outstanding rendering, since it is
1183 * implement this. Other drivers which need additional plane processing
1188 * successful call to this hook.
1190 * This callback is used by the atomic modeset helpers and by the
1197 * this callback is the only one which can fail an atomic commit,
1205 * This hook is called to clean up any resources allocated for the given
1208 * This callback is used by the atomic modeset helpers and by the
1217 * Drivers should check plane specific constraints in this hook.
1226 * This function is also allowed to inspect any other object's state and
1233 * This callback is used by the atomic modeset helpers and by the
1238 * This function is called in the check phase of an atomic update. The
1255 * Drivers should use this function to update the plane state. This
1259 * Note that the power state of the display pipe when this function is
1264 * This callback is used by the atomic modeset helpers and by the
1272 * Drivers should use this function to unconditionally disable a plane.
1273 * This hook is called in-between the
1279 * This hook is also useful to disable planes in preparation of a modeset,
1283 * Note that the power state of the display pipe when this function is
1288 * This callback is used by the atomic modeset helpers and by the
1297 * Drivers should set this function pointer to check if the plane's
1301 * This hook is called by drm_atomic_async_check() to establish if a
1316 * Drivers should set this function pointer to perform asynchronous
1321 * This hook is called by drm_atomic_helper_async_commit().
1333 * This is required since cleanup for async commits is performed on
1344 * we run this hook. For now drivers must implement their own workers
1371 * This hook is used by the default atomic_commit() hook implemented in
1377 * This function is called when the new atomic state has already been
1379 * therefore contains copies of the old/previous state. This hook should
1386 * After the atomic update is committed to the hardware this hook needs
1393 * When disabling a CRTC this hook _must_ stall for the commit to
1395 * can't take care of this. And it also can't rely on the vblank event,
1400 * This hook is optional, the default implementation is
1408 * This hook is used by the default atomic_commit() hook implemented in
1413 * This function is called at the end of
1420 * how one should implement this.
1422 * This hook is optional.