Bug 110692 - [CI][DRMTIP] igt@kms_invalid_dotclock - fail - Failed assertion: ret < 0, error: 0 >= 0
Summary: [CI][DRMTIP] igt@kms_invalid_dotclock - fail - Failed assertion: ret < 0, er...
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-16 14:12 UTC by Lakshmi
Modified: 2019-06-27 12:33 UTC (History)
2 users (show)

See Also:
i915 platform: ICL
i915 features: display/Other


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lakshmi 2019-05-16 14:12:39 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_286/fi-icl-dsi/igt@kms_invalid_dotclock.html

(kms_invalid_dotclock:1307) CRITICAL: Test assertion failure function test_output, file ../tests/kms_invalid_dotclock.c:88:
(kms_invalid_dotclock:1307) CRITICAL: Failed assertion: ret < 0
(kms_invalid_dotclock:1307) CRITICAL: error: 0 >= 0
Test kms_invalid_dotclock failed.
**** DEBUG ****
(kms_invalid_dotclock:1307) igt_core-INFO: IGT-Version: 1.23-g2f6303d1 (x86_64) (Linux: 5.1.0-ge5fc04883b9a-drmtip_286+ x86_64)
(kms_invalid_dotclock:1307) igt_core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(kms_invalid_dotclock:1307) drmtest-DEBUG: Test requirement passed: !(fd<0)
(kms_invalid_dotclock:1307) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(kms_invalid_dotclock:1307) drmtest-DEBUG: Test requirement passed: is_i915_device(fd) && has_known_intel_chipset(fd)
(kms_invalid_dotclock:1307) igt_kms-DEBUG: VT: graphics mode set (mode was 0x0)
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display: init {
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     DSI-1: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     HDMI-A-1: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     HDMI-A-1: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     DP-1: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     DP-1: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     DP-2: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display:     DP-2: Selecting pipe None
(kms_invalid_dotclock:1307) igt_kms-DEBUG: display: }
(kms_invalid_dotclock:1307) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(kms_invalid_dotclock:1307) INFO: Max dotclock: 1305600 kHz
(kms_invalid_dotclock:1307) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=1440, height=2560, format=XR24(0x34325258), modifier=0x0, size=0)
(kms_invalid_dotclock:1307) igt_fb-DEBUG: igt_create_fb_with_bo_size(handle=1, pitch=5760)
(kms_invalid_dotclock:1307) ioctl_wrappers-DEBUG: Test requirement passed: igt_has_fb_modifiers(fd)
(kms_invalid_dotclock:1307) INFO: Checking pipe A connector DSI-1 with mode 1440x2560
(kms_invalid_dotclock:1307) CRITICAL: Test assertion failure function test_output, file ../tests/kms_invalid_dotclock.c:88:
(kms_invalid_dotclock:1307) CRITICAL: Failed assertion: ret < 0
(kms_invalid_dotclock:1307) CRITICAL: error: 0 >= 0
(kms_invalid_dotclock:1307) igt_core-INFO: Stack trace:
(kms_invalid_dotclock:1307) igt_core-INFO:   #0 ../lib/igt_core.c:1474 __igt_fail_assert()
(kms_invalid_dotclock:1307) igt_core-INFO:   #1 ../tests/kms_invalid_dotclock.c:104 main()
(kms_invalid_dotclock:1307) igt_core-INFO:   #2 [<unknown>+0x0]
****  END  ****
Comment 1 CI Bug Log 2019-05-16 14:13:24 UTC
The CI Bug Log issue associated to this bug has been updated.

### New filters associated

* ICL: igt@kms_invalid_dotclock - fail - Failed assertion: ret &lt; 0,  error: 0 &gt;= 0
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_286/fi-icl-dsi/igt@kms_invalid_dotclock.html
Comment 2 Ankit 2019-06-27 12:33:03 UTC
What the subtest is doing : The subtest : kms_invalid_dotclock is a negative test case. It verifies that any mode with a dotclock value, higher than the max dotclock should not get applied and the IOCTL should fail.

The test gets the max dotclock value from debugfs : i915_frequency_info. A user tailored drmModeModeInfo is taken and its clock is intentionally kept more than the max dotclock. The test then tries to set this mode using drmModeSetCrtc and expects the IOCTL to fail.

The issue: The issue here is seen with MIPI display, the issue is that the IOCTL passes, instead of failing. 

The kernel currently, ignores the user timing for mode clock, in case of connectors with fixed modes, and therefore the mode set passes.

The test acknowledges this fact in the comments, and has a check for skipping the test with connectors having fixed mode.

This check however depends upon the connector property "scaling mode" which is missing in the kernel for ICL platform.

Resolution :  The patch [1] from Vandita Kulkarni introduces this property, and is under review. With this patch the test will skip the case with MIPI display, since it has fixed mode, which is the expected behavior.

[1] https://patchwork.freedesktop.org/patch/309595/?series=61862&rev=1


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.