Bug 94118

Summary: [KBL] kms_frontbuffer_tracking / fbcpsr-farfromfence and fbc-farfromfence fail
Product: DRI Reporter: cprigent <christophe.prigent>
Component: DRM/IntelAssignee: cprigent <christophe.prigent>
Status: CLOSED WORKSFORME QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs, przanoni
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: KBL i915 features: display/FBC, display/PSR
Attachments:
Description Flags
dmesg-fbcpsr-farfromfence none

Description cprigent 2016-02-12 16:27:10 UTC
Created attachment 121717 [details]
dmesg-fbcpsr-farfromfence

Setup:
------
Hardware
Platform: KABY LAKE-U 
CPU : Intel(R) Core(TM) @ 2.60GHz
MCP : KBL-U G0 2+2 (ou ULT-G0)
QDF : QYQ8
Chipset PCH: SPT-LP C1 
CRB : KABY LAKE U DDR3L RVP7 CRB FAB1
Software
BIOS : KBLSE2R1.R00.X015.B01.1511271314
ME FW : 11.5.0.1008
Ksc (EC FW): 1.20
Linux distribution: Ubuntu 15.10 64 bits
Kernel: drm-intel-nightly 4.5.0-rc3_d9bd337 from
http://cgit.freedesktop.org/drm-intel/
  commit d9bd337b4b2d46f73005fcdf0e7049e7f8ed5c04
  Author: Jani Nikula <jani.nikula@intel.com>
  Date:   Tue Feb 9 17:43:10 2016 +0200
  drm-intel-nightly: 2016y-02m-09d-15h-42m-46s UTC integration manifest
drm: tag libdrm-2.4.66-33-gf884af9
intel-gpu-tool: intel-gpu-tools-1.13-195-g8d441ee

Steps:
------
run the command :
# ./kms_frontbuffer_tracking --run-subtest fbcpsr-farfromfence

Actual result:
---------------
The result is fail.

Expected result:
----------------
The result is pass or skip.

Output:
--------
./kms_frontbuffer_tracking --run-subtest fbcpsr-farfromfence
IGT-Version: 1.13-NOT-GIT (x86_64) (Linux: 4.5.0-rc3-nightly+ x86_64)
Primary screen: eDP 3200x1800
Secondary screen: DP 1920x1080
FBC last action not supported
FBC status:
FBC disabled: mode too large for compression
Compressing: yes

(kms_frontbuffer_tracking:5626) CRITICAL: Test assertion failure function farfromfence_subtest, file kms_frontbuffer_tracking.c:2849:
(kms_frontbuffer_tracking:5626) CRITICAL: Failed assertion: false
(kms_frontbuffer_tracking:5626) CRITICAL: FBC disabled
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [farfromfence_subtest+0x1a6]
  #2 [main+0x1c9d]
  #3 [__libc_start_main+0xf0]
  #4 [_start+0x29]
  #5 [<unknown>+0x29]
Subtest fbcpsr-farfromfence failed.
**** DEBUG ****
(kms_frontbuffer_tracking:5626) DEBUG: Test requirement passed: fbc.can_test
(kms_frontbuffer_tracking:5626) DEBUG: Test requirement passed: psr.can_test
(kms_frontbuffer_tracking:5626) DEBUG: Test requirement passed: sink_crc.supported
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=1800, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=23040000)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=9, pitch=12800)
(kms_frontbuffer_tracking:5626) DEBUG: Blue CRC:   pipe:[caf54d69 00000000 00000000 00000000 00000000] sink:[00000000a7d9]
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=1800, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=23040000)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=9, pitch=12800)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=1800, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=23040000)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=10, pitch=12800)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=1800, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=23040000)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=11, pitch=12800)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=1800, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=23040000)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=12, pitch=12800)
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) DEBUG: Rect 0 CRC: pipe:[085496e8 00000000 00000000 00000000 00000000] sink:[0000679bc042]
(kms_frontbuffer_tracking:5626) DEBUG: Rect 1 CRC: pipe:[f0ce7e4f 00000000 00000000 00000000 00000000] sink:[2e4b679bee09]
(kms_frontbuffer_tracking:5626) DEBUG: Rect 2 CRC: pipe:[eb887661 00000000 00000000 00000000 00000000] sink:[4d444f61c6f3]
(kms_frontbuffer_tracking:5626) DEBUG: Rect 3 CRC: pipe:[178fb566 00000000 00000000 00000000 00000000] sink:[4d4440e9c6f3]
(kms_frontbuffer_tracking:5626) igt-draw-DEBUG: Test requirement passed: intel_gen(intel_get_drm_devid(fd)) >= 5
(kms_frontbuffer_tracking:5626) DEBUG: Calculated CRC: pipe:[caf54d69 00000000 00000000 00000000 00000000] sink:[00000000a7d9]
(kms_frontbuffer_tracking:5626) DEBUG: Test requirement passed: !fbc_not_enough_stolen()
(kms_frontbuffer_tracking:5626) DEBUG: Calculated CRC: pipe:[caf54d69 00000000 00000000 00000000 00000000] sink:[00000000a7d9]
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=3200, height=8192, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=104857600)
(kms_frontbuffer_tracking:5626) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=9, pitch=12800)
(kms_frontbuffer_tracking:5626) DEBUG: Calculated CRC: pipe:[caf54d69 00000000 00000000 00000000 00000000] sink:[00000000a7d9]
(kms_frontbuffer_tracking:5626) DEBUG: Test requirement passed: !fbc_not_enough_stolen()
(kms_frontbuffer_tracking:5626) INFO: FBC status:
FBC disabled: mode too large for compression
Compressing: yes

(kms_frontbuffer_tracking:5626) CRITICAL: Test assertion failure function farfromfence_subtest, file kms_frontbuffer_tracking.c:2849:
(kms_frontbuffer_tracking:5626) CRITICAL: Failed assertion: false
(kms_frontbuffer_tracking:5626) CRITICAL: FBC disabled
****  END  ****
Subtest fbcpsr-farfromfence: FAIL (6.344s)
Comment 1 Paulo Zanoni 2016-02-23 15:45:08 UTC
Please try with an IGT with the following patch:

https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/?id=b87188795e9fda89c7e376726283a63817e83c60

If it works, then we can close the bug.
Comment 2 Chris Wilson 2016-02-23 16:38:16 UTC
(In reply to Paulo Zanoni from comment #1)
> Please try with an IGT with the following patch:
> 
> https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/
> ?id=b87188795e9fda89c7e376726283a63817e83c60
> 
> If it works, then we can close the bug.

Or we could fix the kernel. The only complication is handling the 90 degree transform - and we could punt that until the next patch.
Comment 3 Paulo Zanoni 2016-02-23 19:30:41 UTC
(In reply to Chris Wilson from comment #2)
> (In reply to Paulo Zanoni from comment #1)
> > Please try with an IGT with the following patch:
> > 
> > https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/
> > ?id=b87188795e9fda89c7e376726283a63817e83c60
> > 
> > If it works, then we can close the bug.
> 
> Or we could fix the kernel. The only complication is handling the 90 degree
> transform - and we could punt that until the next patch.

The original problem was that skylake_update_primary_plane() didn't implement the offset trick like the previous platforms, which called intel_compute_tile_offset(). There was even a patch:

https://patchwork.freedesktop.org/patch/60244/

I didn't sync with Ville about this again, but I see he's been patching this area of the code recently.
Comment 4 yann 2016-04-25 14:30:17 UTC
QA, please re-test
Comment 5 cprigent 2016-06-17 16:11:24 UTC
Tests are Pass on KBL-U.

Hardware
Platform: KABY LAKE-U
CPU : Intel(R) Core(TM) @ 2.60GHz
MCP : KBL-U G0 2+2 (ou ULT-G0)
QDF : QYQ8
Chipset PCH: SPT-LP C1
CRB : KABY LAKE U DDR3L RVP7 CRB FAB1

Software
BIOS : KBLSE2R1.R00.X015.B01.1511271314
ME FW : 11.5.0.1008
Ksc (EC FW): 1.20
Linux distribution: Ubuntu 16.04 64 bits
kernel drm-intel-nightly 4.7.0-rc2 94fd582 from http://cgit.freedesktop.org/drm-intel/
	commit 94fd58280a304907ee69d03a96e65d3692cee897
	Author: Daniel Vetter <daniel.vetter@ffwll.ch>
	Date:   Fri Jun 10 18:42:58 2016 +0200
	drm-intel-nightly: 2016y-06m-10d-16h-42m-36s UTC integration manifest
drm: libdrm-2.4.68 625d181 from git://anongit.freedesktop.org/mesa/drm
mesa: mesa-11.1.2 7bcd827 from git://anongit.freedesktop.org/mesa/mesa
cairo: 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
intel-gpu-tools-1.15 bc570aa from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Comment 6 cprigent 2016-06-17 16:11:33 UTC
So closed

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.