Bug 106606 - [CI] igt@kms_panel_fitting@legacy - fail - Last errno: 34, Numerical result out of range
Summary: [CI] igt@kms_panel_fitting@legacy - fail - Last errno: 34, Numerical result o...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Matt Roper
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-22 06:42 UTC by Martin Peres
Modified: 2019-11-13 16:45 UTC (History)
3 users (show)

See Also:
i915 platform: BDW, BSW/CHT, BYT, HSW
i915 features: display/eDP


Attachments

Description Martin Peres 2018-05-22 06:42:06 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_32/fi-hsw-peppy/igt@kms_panel_fitting@legacy.html

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_32/fi-hsw-4200u/igt@kms_panel_fitting@legacy.html

kms_panel_fitting:1375) igt_kms-CRITICAL: Test assertion failure function igt_drm_plane_commit, file ../lib/igt_kms.c:2467:
(kms_panel_fitting:1375) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_panel_fitting:1375) igt_kms-CRITICAL: Last errno: 34, Numerical result out of range
(kms_panel_fitting:1375) igt_kms-CRITICAL: error: -34 != 0
Subtest legacy failed.

This seems to have been introduced between drmtip_31 and 32, and has been failing consistently since then.
Comment 1 Martin Peres 2018-05-22 06:44:34 UTC
It seems to only affect laptops though!
Comment 2 Jani Saarinen 2018-05-22 12:48:45 UTC
MAybe some of these changes?
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_32/git-log-oneline.log
9c1659ebe77d drm/i915: Do not adjust scale when out of bounds, v2.
f96bdf564f3e drm/rect: Handle rounding errors in drm_rect_clip_scaled, v3.
6f96f2000ac2 drm/rect: Round above 1 << 16 upwards to correct scale calculation functions.
Comment 3 Jani Saarinen 2018-05-24 09:34:42 UTC
Reference: https://patchwork.freedesktop.org/series/43673/
Comment 4 Maarten Lankhorst 2018-07-25 10:00:48 UTC
commit 24c5e07783222b5d6cf86003e8e545033e09bb3c (HEAD, origin/master, origin/HEAD)
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Thu May 24 09:00:47 2018 +0200

    tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2.
Comment 5 Francesco Balestrieri 2018-08-04 09:25:32 UTC
Martin, OK to close?
Comment 6 Lakshmi 2018-08-24 06:01:33 UTC
(In reply to Maarten Lankhorst from comment #4)
> commit 24c5e07783222b5d6cf86003e8e545033e09bb3c (HEAD, origin/master,
> origin/HEAD)
> Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Date:   Thu May 24 09:00:47 2018 +0200
> 
>     tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2.

Any idea why this igt@kms_panel_fitting@legacy is skipped in CI tests? I don't see any results recently from CI tests, always skipped. Found this when I am trying to close this bug.
Comment 7 Maarten Lankhorst 2018-08-24 07:16:54 UTC
It requires an internal panel, so it will only work on laptops. :)
Comment 8 Maarten Lankhorst 2018-08-24 17:06:32 UTC
Atomic will (hopefully finally) fix it!

https://patchwork.freedesktop.org/series/48680/
Comment 9 Maarten Lankhorst 2018-08-29 11:27:39 UTC
*** Bug 105456 has been marked as a duplicate of this bug. ***
Comment 10 Martin Peres 2018-08-31 13:45:52 UTC
Also seen on BDW:

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_92/fi-bdw-samus/igt@kms_panel_fitting@legacy.html

(kms_panel_fitting:1300) igt_kms-CRITICAL: Test assertion failure function igt_drm_plane_commit, file ../lib/igt_kms.c:2551:
(kms_panel_fitting:1300) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_panel_fitting:1300) igt_kms-CRITICAL: Last errno: 34, Numerical result out of range
(kms_panel_fitting:1300) igt_kms-CRITICAL: error: -34 != 0
Comment 11 Martin Peres 2018-08-31 14:08:03 UTC
Also seen on BYT and BSW:

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_92/fi-bsw-kefka/igt@kms_panel_fitting@legacy.html

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_94/fi-byt-clapper/igt@kms_panel_fitting@legacy.html

(kms_panel_fitting:1540) igt_kms-CRITICAL: Test assertion failure function igt_drm_plane_commit, file ../lib/igt_kms.c:2551:
(kms_panel_fitting:1540) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_panel_fitting:1540) igt_kms-CRITICAL: Last errno: 34, Numerical result out of range
(kms_panel_fitting:1540) igt_kms-CRITICAL: error: -34 != 0
Comment 12 Matt Roper 2019-08-30 22:38:54 UTC
The failures in this test at the moment come at the end of the legacy subtest where we have the following sequence of operations:

 * set plane src rect
 * set plane size different than src rect
 * commit
 * if platform can't scale planes, set plane size to plane src rect size
 * set mode that will use panel fitting
 * commit

The test for platform plane-scaling ability comes too late for gen7/gen8 since they've already failed the first commit (although it's fine for gen9 since we can scale a single plane there as long as the panel fitter is off).

I've written a patch to move the check higher which should prevent the current CI failures:
  https://patchwork.freedesktop.org/series/66080/

That should serve as a short-term solution and unblock CI.  However as I note in the commit message there, we really shouldn't be baking Intel gen# tests into a KMS test that is supposed to be vendor agnostic.  In the future we may want to do something like probe scaling support via the atomic TEST_ONLY interface before doing the actual display updates with the legacy interfaces.
Comment 13 Jani Saarinen 2019-09-03 14:41:45 UTC
Matt, should this be assigned to you ?
Comment 14 Matt Roper 2019-09-03 14:44:27 UTC
SUre, taking ownership and marking resolved since the fix was merged to IGT yesterday.
Comment 15 swathi.dhanavanthri 2019-11-13 16:44:55 UTC
Last seen drmtip_358 (2 months, 1 week old) with 100% reproduction rate, not seen in the last 43 runs, so closing and archiving this
Comment 16 CI Bug Log 2019-11-13 16:45:26 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.