• Rodrigo Vivi's avatar
    drm/i915: Force PSR exit by inactivating it. · 7c8f8a70
    Rodrigo Vivi authored
    The perfect solution for psr_exit is the hardware tracking the changes and
    doing the psr exit by itself. This scenario works for HSW and BDW with some
    environments like Gnome and Wayland.
    
    However there are many other scenarios that this isn't true. Mainly one right
    now is KDE users on HSW and BDW with PSR on. User would miss many screen
    updates. For instances any key typed could be seen only when mouse cursor is
    moved. So this patch introduces the ability of trigger PSR exit on kernel side
    on some common cases that.
    
    Most of the cases are coverred by psr_exit at set_domain. The remaining cases
    are coverred by triggering it at set_domain, busy_ioctl, sw_finish and
    mark_busy.
    
    The downside here might be reducing the residency time on the cases this
    already work very wall like Gnome environment. But so far let's get focused
    on fixinge issues sio PSR couild be used for everybody and we could even
    get it enabled by default. Later we can add some alternatives to choose the
    level of PSR efficiency over boot flag of even over crtc property.
    
    v2: remove exit from connector_dpms. Daniel pointed this is the wrong way and
    also this isn't needed for BDW and HSW anyway.
    
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: default avatarVijay Purushothaman <vijay.a.purushothaman@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    7c8f8a70
i915_drv.h 82.2 KB