• Imre Deak's avatar
    drm/i915: Sanitize the shared DPLL reserve/release interface · 866955fa
    Imre Deak authored
    For consistency s/intel_get_shared_dpll()/intel_reserve_shared_dplls()/
    to better match intel_release_shared_dplls(). Also, pass to the
    reserve/release and get_dplls/put_dplls hooks the intel_atomic_state and
    CRTC object, that way these functions can look up the old or new state
    as needed.
    
    Also release the PLLs from the atomic state via a new
    put_dplls->intel_unreference_shared_dpll() call chain for better
    symmetry with the reservation via the
    get_dplls->intel_reference_shared_dpll() call chain.
    
    Since nothing uses the PLL returned by intel_reserve_shared_dplls(),
    make it return only a bool.
    
    While at it also clarify the reserve/release function docbook headers
    making it clear that multiple DPLLs will be reserved/released and
    whether the new or old atomic CRTC state is affected.
    
    This refactoring is also a preparation for a follow-up change that needs
    to reserve multiple DPLLs.
    
    Kudos to Ville for the idea to pass intel_atomic_state around, to make
    things clearer locally where an object's old/new atomic state is
    required.
    
    No functional changes.
    
    v2:
    - Fix checkpatch issue: typo in code comment.
    v3:
    - Rebase on drm-tip.
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190628143635.22066-17-imre.deak@intel.com
    866955fa
intel_dpll_mgr.h 8.73 KB