drm/doc: Clarify mode_fixup vs. atomic_check a bit more
Brought up by both Laurent and Andrzej when reviewing the new ->mode_valid hooks. Since mode_fixup is just a simpler version of the much more generic atomic_check we can't really unify it with mode_valid. Most drivers should probably switch their current mode_fixup code to either the new mode_valid or the atomic_check hooks, but e.g. that doesn't exist yet for bridges, and for CRTCs the situation is a bit more complicated. Hence there's no clear equivalence between mode_fixup and mode_valid, even if it looks like that at first glance. v2: Fix accidental double-dot (Adnrzej). Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Jose Abreu <Jose.Abreu@synopsys.com> Reviewed-by: Jose Abreu <joabreu@synopsys.com> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170515091136.26307-2-daniel.vetter@ffwll.ch
This commit is contained in:
parent
9de5d4a61c
commit
9f80021473
@ -165,7 +165,11 @@ struct drm_crtc_helper_funcs {
|
|||||||
* allowed.
|
* allowed.
|
||||||
*
|
*
|
||||||
* Atomic drivers which need to inspect and adjust more state should
|
* Atomic drivers which need to inspect and adjust more state should
|
||||||
* instead use the @atomic_check callback.
|
* instead use the @atomic_check callback, but note that they're not
|
||||||
|
* perfectly equivalent: @mode_valid is called from
|
||||||
|
* drm_atomic_helper_check_modeset(), but @atomic_check is called from
|
||||||
|
* drm_atomic_helper_check_planes(), because originally it was meant for
|
||||||
|
* plane update checks only.
|
||||||
*
|
*
|
||||||
* Also beware that userspace can request its own custom modes, neither
|
* Also beware that userspace can request its own custom modes, neither
|
||||||
* core nor helpers filter modes to the list of probe modes reported by
|
* core nor helpers filter modes to the list of probe modes reported by
|
||||||
@ -547,7 +551,9 @@ struct drm_encoder_helper_funcs {
|
|||||||
* allowed.
|
* allowed.
|
||||||
*
|
*
|
||||||
* Atomic drivers which need to inspect and adjust more state should
|
* Atomic drivers which need to inspect and adjust more state should
|
||||||
* instead use the @atomic_check callback.
|
* instead use the @atomic_check callback. If @atomic_check is used,
|
||||||
|
* this hook isn't called since @atomic_check allows a strict superset
|
||||||
|
* of the functionality of @mode_fixup.
|
||||||
*
|
*
|
||||||
* Also beware that userspace can request its own custom modes, neither
|
* Also beware that userspace can request its own custom modes, neither
|
||||||
* core nor helpers filter modes to the list of probe modes reported by
|
* core nor helpers filter modes to the list of probe modes reported by
|
||||||
@ -734,6 +740,11 @@ struct drm_encoder_helper_funcs {
|
|||||||
* update the CRTC to match what the encoder needs for the requested
|
* update the CRTC to match what the encoder needs for the requested
|
||||||
* connector.
|
* connector.
|
||||||
*
|
*
|
||||||
|
* Since this provides a strict superset of the functionality of
|
||||||
|
* @mode_fixup (the requested and adjusted modes are both available
|
||||||
|
* through the passed in &struct drm_crtc_state) @mode_fixup is not
|
||||||
|
* called when @atomic_check is implemented.
|
||||||
|
*
|
||||||
* This function is used by the atomic helpers, but it is optional.
|
* This function is used by the atomic helpers, but it is optional.
|
||||||
*
|
*
|
||||||
* NOTE:
|
* NOTE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user