• José Roberto de Souza's avatar
    drm/i915: Disable PSR when a PSR aux error happen · 183b8e67
    José Roberto de Souza authored
    While PSR is active hardware will do aux transactions by it self to
    wakeup sink to receive a new frame when necessary. If that
    transaction is not acked by sink, hardware will trigger this
    interruption.
    
    So let's disable PSR as it is a hint that there is problem with this
    sink.
    
    The removed FIXME was asking to manually train the link but we don't
    need to do that as by spec sink should do a short pulse when it is
    out of sync with source, we just need to make sure it is awaken and
    the SDP header with PSR inactive set it will trigger the short pulse
    with a error set in the link status.
    
    v3: added workarround to fix scheduled work starvation cause by
    to frequent PSR error interruption
    
    v4: only setting irq_aux_error as we don't care in clear it and
    not using dev_priv->irq_lock as consequence.
    
    v5: rebased: using edp_psr_shift()
    
    Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181121225441.18785-4-jose.souza@intel.com
    183b8e67
intel_psr.c 34.5 KB