Bug 105594

Summary: [CI][ILK] igt@kms_3d - fail - Test assertion failure function __real_main29 - Failed assertion: ret == 0
Product: DRI Reporter: Marta Löfstedt <marta.lofstedt>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: arkadiusz.hiler, intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: ILK i915 features: display/Other

Description Marta Löfstedt 2018-03-19 09:36:21 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-ilk-650/igt@kms_3d.html

(kms_3d:1275) CRITICAL: Test assertion failure function __real_main29, file ../tests/kms_3d.c:110:
(kms_3d:1275) CRITICAL: Failed assertion: ret == 0
(kms_3d:1275) CRITICAL: Last errno: 22, Invalid argument
Test kms_3d failed.
Comment 1 Arek Hiler 2019-07-10 09:54:08 UTC
The test is forcing HDMI connector with EDID exposing 3D enabled modes and then doing a mode set using those 3D modes.

(kms_3d:1432) INFO: Testing:
(kms_3d:1432) INFO:     1920x1080i 60 1920 2008 2052 2200 1080 1084 1094 1125 0x20015 0x40 74250 (3D:SBSH)
(kms_3d:1432) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=1920, height=1080, format=XR24(0x34325258), modifier=0x0, size=0)
(kms_3d:1432) igt_fb-DEBUG: igt_create_fb_with_bo_size(handle=1, pitch=7680)
(kms_3d:1432) ioctl_wrappers-DEBUG: Test requirement passed: igt_has_fb_modifiers(fd)
(kms_3d:1432) igt_fb-DEBUG: Test requirement passed: cairo_surface_status(fb->cairo_surface) == CAIRO_STATUS_SUCCESS
(kms_3d:1432) CRITICAL: Test assertion failure function __real_main29, file ../tests/kms_3d.c:112:
(kms_3d:1432) CRITICAL: Failed assertion: ret == 0
(kms_3d:1432) CRITICAL: Last errno: 22, Invalid argument

The code:

for (int i = 0; i < connector->count_modes; i++) {
	int fb_id;
	struct kmstest_connector_config config;
	int crtc_mask = -1;
	int ret;

	if (!(connector->modes[i].flags & DRM_MODE_FLAG_3D_MASK))
		continue;

	/* buffer creation removed */

	ret = drmModeSetCrtc(drm_fd, config.crtc->crtc_id, fb_id, 0, 0,
			     &connector->connector_id, 1,
			     &connector->modes[i]);

	igt_assert(ret == 0);
}

So modeset fails with EINVAL.

The tested resolution is:
(kms_3d:1432) INFO:     1920x1080i 60 1920 2008 2052 2200 1080 1084 1094 1125 0x20015 0x40 74250 (3D:SBSH)

And this is not pruned for forced 3D EDID but as we can see in the logs, after the test exit when we probe actual modes:

<7> [43.875690] [drm:drm_mode_debug_printmodeline] Modeline "1920x1080i": 60 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
<7> [43.875695] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: VIRTUAL_X
<7> [43.875707] [drm:drm_mode_debug_printmodeline] Modeline "1920x1080i": 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
<7> [43.875712] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: VIRTUAL_X
<7> [43.875728] [drm:drm_mode_debug_printmodeline] Modeline "1920x1080i": 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
<7> [43.875732] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: VIRTUAL_X

Seems like an issue with mode pruning for forced EDID that appears only on ILK. Maybe other platforms are fine with this mode in the first place?

Keeping as medium as it is affecting old platform, seems to be caused by issue in HDMI forcing code and it is for rarely used 3D.
Comment 2 Arek Hiler 2019-07-25 12:53:44 UTC
Probably the same as https://bugs.freedesktop.org/show_bug.cgi?id=105595
Comment 3 Arek Hiler 2019-07-26 07:51:18 UTC
https://patchwork.freedesktop.org/series/64224/ has been merged, closing
Comment 4 CI Bug Log 2019-08-14 13:48:08 UTC
The CI Bug Log issue associated to this bug has been archived.

New failures matching the above filters will not be associated to this bug anymore.

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.