• Jose Abreu's avatar
    drm: Add crtc/encoder/bridge->mode_valid() callbacks · 3eb220a5
    Jose Abreu authored
    This adds a new callback to crtc, encoder and bridge helper functions
    called mode_valid(). This callback shall be implemented if the
    corresponding component has some sort of restriction in the modes
    that can be displayed. A NULL callback implicates that the component
    can display all the modes.
    
    We also change the documentation so that the new and old callbacks
    are correctly documented.
    
    Only the callbacks were implemented to simplify review process,
    following patches will make use of them.
    
    Changes in v2 from Daniel:
    - Update the warning about how modes aren't filtered in atomic_check -
      the heleprs help out a lot more now.
    - Consistenly roll out that warning, crtc/encoder's atomic_check
      missed it.
    - Sprinkle more links all over the place, so it's easier to see where
      this stuff is used and how the differen hooks are related.
    - Note that ->mode_valid is optional everywhere.
    - Explain why the connector's mode_valid is special and does _not_ get
      called in atomic_check.
    
    v3: Document what can and cannot be checked in mode_valid a bit better
    (Andrjez). Answer: Only allowed to look at the mode, nothing else.
    
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
    Cc: Jose Abreu <joabreu@synopsys.com>
    Cc: Carlos Palminha <palminha@synopsys.com>
    Cc: Alexey Brodkin <abrodkin@synopsys.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Dave Airlie <airlied@linux.ie>
    Cc: Andrzej Hajda <a.hajda@samsung.com>
    Cc: Archit Taneja <architt@codeaurora.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v2)
    Reviewed-by: Jose Abreu <joabreu@synopsys.com> (v2)
    Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170515093347.31098-1-daniel.vetter@ffwll.ch
    3eb220a5
drm_modeset_helper_vtables.h 45.7 KB