• Imre Deak's avatar
    drm/i915: Add support for tracking wakerefs w/o power-on guarantee · 4547c255
    Imre Deak authored
    It's useful to track runtime PM refs that don't guarantee a device
    power-on state to the rest of the driver. One such case is holding a
    reference that will be put asynchronously, during which normal users
    without their own reference shouldn't access the HW. A follow-up patch
    will add support for disabling display power domains asynchronously
    which needs this.
    
    For this we can split wakeref_count into a low half-word tracking
    all references (raw-wakerefs) and a high half-word tracking
    references guaranteeing a power-on state (wakelocks).
    
    Follow-up patches will make use of the API added here.
    
    While at it add the missing docbook header for the unchecked
    display-power and runtime_pm put functions.
    
    No functional changes, except for printing leaked raw-wakerefs
    and wakelocks separately in intel_runtime_pm_cleanup().
    
    v2:
    - Track raw wakerefs/wakelocks in the low/high half-word of
      wakeref_count, instead of adding a new counter. (Chris)
    v3:
    - Add a struct_member(T, m) helper instead of open-coding it. (Chris)
    - Checkpatch indentation formatting fix.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190509173446.31095-2-imre.deak@intel.com
    4547c255
intel_runtime_pm.c 137 KB