• Paulo Zanoni's avatar
    drm/i915: don't forget to set intel_crtc->dspaddr_offset on SKL+ · 9700f8b2
    Paulo Zanoni authored
    We never remembered to set it (so it was zero), but this was not a
    problem in the past due to the way handled the hardware registers.
    Unfortunately we changed how we set the hardware and forgot to set
    intel_crtc->dspaddr_offset.
    
    This started to reflect on a few kms_frontbuffer_tracking subtests
    that relied on page flips with CRTCs that don't point to the x:0,y:0
    coordinates of the frontbuffer. After the page flip the CRTC was
    showing the x:0,y:0 coordinate of the frontbuffer instead of
    x:500,y:500. This problem is present even if we don't enable FBC or
    PSR.
    
    While trying to bisect it I realized that the first bad commit
    actually just gives me a black screen for the mentioned tests instead
    of showing the wrong x:0,y:0 offsets. A few commits later the black
    screen problem goes away and we get to the point where the code is
    today, but I'll consider the black screen as the first bad commit
    since it's the point where the IGT subtests start to fail.
    
    Fixes: 6687c906 ("drm/i915: Rewrite fb rotation GTT handling")
    Testcase: kms_frontbuffer_tracking/fbc-1p-primscrn-shrfb-pgflip-blt
    Testcase: kms_frontbuffer_tracking/fbc-1p-primscrn-shrfb-evflip-blt
    Testcase: kms_frontbuffer_tracking/fbc-1p-shrfb-fliptrack
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
    Cc: drm-intel-fixes@lists.freedesktop.org
    Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1471644203-23463-1-git-send-email-paulo.r.zanoni@intel.com
    (cherry picked from commit 4c0b8a8b)
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    9700f8b2
intel_display.c 482 KB