[Bug 98684] New: [SKL] Watermark programming is broken when page flipping from linear to Y/Yf tiled frame buffers

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Nov 11 11:15:36 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=98684

            Bug ID: 98684
           Summary: [SKL] Watermark programming is broken when page
                    flipping from linear to Y/Yf tiled frame buffers
           Product: DRI
           Version: DRI git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: DRM/Intel
          Assignee: intel-gfx-bugs at lists.freedesktop.org
          Reporter: tvrtko.ursulin at linux.intel.com
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
                CC: intel-gfx-bugs at lists.freedesktop.org

When flipping from linear to Y or Yf tiled frame buffer we get a FIFO underrun
and a black screen.

This can be reproduced with the kms_flip_tiling flip-to-Y-tiled and
flip-to-Yf-tiled testcases.

Test first displays a Y tiled fb to collect the reference CRC. Display
programming looks like this at that point:

                           DSPASURF (0x0007019c): 0x01100000
                           DSPACNTR (0x00070180): 0xc4803000 (enabled)
                         DSPASTRIDE (0x00070188): 0x00000040 (1)
                                    (0x00070190): 0x0437077f
                                    (0x0007018c): 0x00000000
                        DSPATILEOFF (0x000701a4): 0x00000000 (0, 0)
                                    (0x000701ac): 0x01100020
                                    (0x00070240): 0x80020079
                                    (0x00070268): 0x00000000

Then the test flips to a linear fb, and back to the reference Y tiled fb. At
this point the plane register programming looks like:


                           DSPASURF (0x0007019c): 0x01100000
                           DSPACNTR (0x00070180): 0xc4803000 (enabled)
                         DSPASTRIDE (0x00070188): 0x00000040 (1)
                                    (0x00070190): 0x0437077f
                                    (0x0007018c): 0x00000000
                        DSPATILEOFF (0x000701a4): 0x00000000 (0, 0)
                                    (0x000701ac): 0x01100020
                                    (0x00070240): 0x80004004
                                    (0x00070268): 0x00000000

Register 0x70240 (PLANE_WM_1_A_0) is different so probably wrong.

Scenario which tests the opposite flip direction. from Y/Yf to linear works
fine (subtests flip-changes-tiling-Y and flip-changes-tiling-Yf).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20161111/c9366213/attachment-0001.html>


More information about the intel-gfx-bugs mailing list