The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201) * qemu-armv7, kunit and * x86, kunit - drm_test_check_invalid_plane_state_downscaling_invalid - drm_test_check_invalid_plane_state_drm_plane_helper - drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state - drm_test_check_invalid_plane_state_positioning_invalid - drm_test_check_invalid_plane_state_upscaling_invalid - drm_test_check_plane_state_clipping_rotate_reflect - drm_test_check_plane_state_clipping_simple - drm_test_check_plane_state_downscaling - drm_test_check_plane_state_drm_test_check_plane_state - drm_test_check_plane_state_positioning_simple - drm_test_check_plane_state_rounding1 - drm_test_check_plane_state_rounding2 - drm_test_check_plane_state_rounding3 - drm_test_check_plane_state_rounding4 - drm_test_check_plane_state_upscaling
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Test log: ------- [ 91.955019] # Subtest: drm_plane_helper [ 91.959248] # module: drm_plane_helper_test [ 91.959271] 1..2 [ 91.966042] KTAP version 1 [ 91.969494] # Subtest: drm_test_check_plane_state [ 91.969707] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 91.969707] Expected plane_state->visible to be true, but is false [ 91.992346] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 91.992346] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 91.992346] [ 91.992346] dst: 2048.000000x2048.000000+0.000000+0.000000, expected: 1024.000000x768.000000+0.000000+0.000000 [ 91.992392] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 91.992392] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 91.992392] [ 91.992392] dst: 2048x2048+0+0, expected: 1024x768+0+0 [ 92.023394] not ok 1 clipping_simple [ 92.049526] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.049526] Expected plane_state->visible to be true, but is false [ 92.071041] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 92.071041] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 92.071041] [ 92.071041] dst: 2048.000000x2048.000000+0.000000+0.000000, expected: 768.000000x1024.000000+0.000000+0.000000 [ 92.071084] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 92.071084] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 92.071084] [ 92.071084] dst: 2048x2048+0+0, expected: 1024x768+0+0 [ 92.102010] not ok 2 clipping_rotate_reflect [ 92.128099] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.128099] Expected plane_state->visible to be true, but is false [ 92.150558] not ok 3 positioning_simple [ 92.150768] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.150768] Expected plane_state->visible to be true, but is false [ 92.173083] not ok 4 upscaling [ 92.173209] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.173209] Expected plane_state->visible to be true, but is false [ 92.194443] not ok 5 downscaling [ 92.194656] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.194656] Expected plane_state->visible to be true, but is false [ 92.215819] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 92.215819] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 92.215819] [ 92.215819] dst: 4.000015x4.000015+0.000000+0.000000, expected: 2.000000x2.000000+0.000000+0.000000 [ 92.215863] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 92.215863] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 92.215863] [ 92.215863] dst: 4x4+1022+766, expected: 2x2+1022+766 [ 92.245779] not ok 6 rounding1 [ 92.271735] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.271735] Expected plane_state->visible to be true, but is false [ 92.292739] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 92.292739] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 92.292739] [ 92.292739] dst: 1028.000015x772.000015+2.000015+2.000015, expected: 1024.000000x768.000000+4.000030+4.000030 [ 92.292782] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 92.292782] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 92.292782] [ 92.292782] dst: 1028x772-2-2, expected: 1024x768+0+0 [ 92.323632] not ok 7 rounding2 [ 92.349649] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.349649] Expected plane_state->visible to be true, but is false [ 92.370603] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 92.370603] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 92.370603] [ 92.370603] dst: 3.999984x3.999984+0.000000+0.000000, expected: 2.000000x2.000000+0.000000+0.000000 [ 92.370647] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 92.370647] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 92.370647] [ 92.370647] dst: 4x4+1022+766, expected: 2x2+1022+766 [ 92.400634] not ok 8 rounding3 [ 92.426701] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:123 [ 92.426701] Expected plane_state->visible to be true, but is false [ 92.447667] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:96 [ 92.447667] Expected drm_rect_equals(&plane_state->src, &expected) to be true, but is false [ 92.447667] [ 92.447667] dst: 1027.999984x771.999984+1.999984+1.999984, expected: 1024.000000x768.000000+3.999969+3.999969 [ 92.447709] # drm_test_check_plane_state: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:107 [ 92.447709] Expected drm_rect_equals(&plane_state->dst, &expected) to be true, but is false [ 92.447709] [ 92.447709] dst: 1028x772-2-2, expected: 1024x768+0+0 [ 92.478561] not ok 9 rounding4 [ 92.504392] # drm_test_check_plane_state: pass:0 fail:9 skip:0 total:9 [ 92.508212] not ok 1 drm_test_check_plane_state [ 92.515148] KTAP version 1 [ 92.523484] # Subtest: drm_test_check_invalid_plane_state [ 92.523712] # drm_test_check_invalid_plane_state: ASSERTION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:259 [ 92.523712] Expected drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) < 0, but [ 92.523712] drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) == 0 (0x0) [ 92.523712] [ 92.523712] Should not be able to position on the crtc with can_position=false [ 92.530089] not ok 1 positioning_invalid [ 92.578773] # drm_test_check_invalid_plane_state: ASSERTION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:259 [ 92.578773] Expected drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) < 0, but [ 92.578773] drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) == 0 (0x0) [ 92.578773] [ 92.578773] Upscaling out of range should fail [ 92.583722] not ok 2 upscaling_invalid [ 92.629677] # drm_test_check_invalid_plane_state: ASSERTION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:259 [ 92.629677] Expected drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) < 0, but [ 92.629677] drm_atomic_helper_check_plane_state(plane_state, &crtc_state, params->min_scale, params->max_scale, params->can_position, false) == 0 (0x0) [ 92.629677] [ 92.629677] Downscaling out of range should fail [ 92.634441] not ok 3 downscaling_invalid [ 92.680376] # drm_test_check_invalid_plane_state: pass:0 fail:3 skip:0 total:3 [ 92.685049] not ok 2 drm_test_check_invalid_plane_state [ 92.692648] # drm_plane_helper: pass:0 fail:2 skip:0 total:2 [ 92.698267] # Totals: pass:0 fail:12 skip:0 total:12 [ 92.703959] not ok 56 drm_plane_helper
Links: - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2YvL7zTlX7S... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20231204/tes...
-- Linaro LKFT https://lkft.linaro.org
Hi Naresh,
Thanks for the report
On Mon, Dec 04, 2023 at 11:05:36PM +0530, Naresh Kamboju wrote:
The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201)
- qemu-armv7, kunit and
- x86, kunit
- drm_test_check_invalid_plane_state_downscaling_invalid
- drm_test_check_invalid_plane_state_drm_plane_helper
- drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state
- drm_test_check_invalid_plane_state_positioning_invalid
- drm_test_check_invalid_plane_state_upscaling_invalid
- drm_test_check_plane_state_clipping_rotate_reflect
- drm_test_check_plane_state_clipping_simple
- drm_test_check_plane_state_downscaling
- drm_test_check_plane_state_drm_test_check_plane_state
- drm_test_check_plane_state_positioning_simple
- drm_test_check_plane_state_rounding1
- drm_test_check_plane_state_rounding2
- drm_test_check_plane_state_rounding3
- drm_test_check_plane_state_rounding4
- drm_test_check_plane_state_upscaling
I found the source of failure to be f1e75da5364e ("drm/atomic: Loosen FB atomic checks").
Fortunately for us, it's already been reverted yesterday for some unrelated reason, so it should be fixed in next-20231205 onward.
Maxime
On Tue, Dec 05, 2023 at 09:37:05AM +0100, Maxime Ripard wrote:
Hi Naresh,
Thanks for the report
On Mon, Dec 04, 2023 at 11:05:36PM +0530, Naresh Kamboju wrote:
The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201)
- qemu-armv7, kunit and
- x86, kunit
- drm_test_check_invalid_plane_state_downscaling_invalid
- drm_test_check_invalid_plane_state_drm_plane_helper
- drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state
- drm_test_check_invalid_plane_state_positioning_invalid
- drm_test_check_invalid_plane_state_upscaling_invalid
- drm_test_check_plane_state_clipping_rotate_reflect
- drm_test_check_plane_state_clipping_simple
- drm_test_check_plane_state_downscaling
- drm_test_check_plane_state_drm_test_check_plane_state
- drm_test_check_plane_state_positioning_simple
- drm_test_check_plane_state_rounding1
- drm_test_check_plane_state_rounding2
- drm_test_check_plane_state_rounding3
- drm_test_check_plane_state_rounding4
- drm_test_check_plane_state_upscaling
I found the source of failure to be f1e75da5364e ("drm/atomic: Loosen FB atomic checks").
Fortunately for us, it's already been reverted yesterday for some unrelated reason, so it should be fixed in next-20231205 onward.
Sorry, that's a bummer that these patches were reverted. :( The whole episode was a bit unfortunate...
Qualcom has been working on those patches for a year. They must not be using kunit testing as part of their QC... It's some kind of communication failure on our part.
Hopefully we can get this all sorted out and re-apply the patches soon.
regards, dan carpenter
On Tue, Dec 05, 2023 at 12:05:02PM +0300, Dan Carpenter wrote:
On Tue, Dec 05, 2023 at 09:37:05AM +0100, Maxime Ripard wrote:
Hi Naresh,
Thanks for the report
On Mon, Dec 04, 2023 at 11:05:36PM +0530, Naresh Kamboju wrote:
The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201)
- qemu-armv7, kunit and
- x86, kunit
- drm_test_check_invalid_plane_state_downscaling_invalid
- drm_test_check_invalid_plane_state_drm_plane_helper
- drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state
- drm_test_check_invalid_plane_state_positioning_invalid
- drm_test_check_invalid_plane_state_upscaling_invalid
- drm_test_check_plane_state_clipping_rotate_reflect
- drm_test_check_plane_state_clipping_simple
- drm_test_check_plane_state_downscaling
- drm_test_check_plane_state_drm_test_check_plane_state
- drm_test_check_plane_state_positioning_simple
- drm_test_check_plane_state_rounding1
- drm_test_check_plane_state_rounding2
- drm_test_check_plane_state_rounding3
- drm_test_check_plane_state_rounding4
- drm_test_check_plane_state_upscaling
I found the source of failure to be f1e75da5364e ("drm/atomic: Loosen FB atomic checks").
Fortunately for us, it's already been reverted yesterday for some unrelated reason, so it should be fixed in next-20231205 onward.
Sorry, that's a bummer that these patches were reverted. :( The whole episode was a bit unfortunate...
Qualcom has been working on those patches for a year. They must not be using kunit testing as part of their QC... It's some kind of communication failure on our part.
That's definitely a communication failure, but that's mostly on us :)
The reason these patches were reverted was completely unrelated to the kunit failures here: it failed the basic requirement we have on intel-gpu-tools tests and open-source userspace examples for new uAPIs.
So whether or not kunit tests would have passed, these patches were applied due to inattention and would have been reverted anyway
Maxime
On 12/5/2023 3:46 AM, Maxime Ripard wrote:
On Tue, Dec 05, 2023 at 12:05:02PM +0300, Dan Carpenter wrote:
On Tue, Dec 05, 2023 at 09:37:05AM +0100, Maxime Ripard wrote:
Hi Naresh,
Thanks for the report
On Mon, Dec 04, 2023 at 11:05:36PM +0530, Naresh Kamboju wrote:
The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201)
- qemu-armv7, kunit and
- x86, kunit
- drm_test_check_invalid_plane_state_downscaling_invalid
- drm_test_check_invalid_plane_state_drm_plane_helper
- drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state
- drm_test_check_invalid_plane_state_positioning_invalid
- drm_test_check_invalid_plane_state_upscaling_invalid
- drm_test_check_plane_state_clipping_rotate_reflect
- drm_test_check_plane_state_clipping_simple
- drm_test_check_plane_state_downscaling
- drm_test_check_plane_state_drm_test_check_plane_state
- drm_test_check_plane_state_positioning_simple
- drm_test_check_plane_state_rounding1
- drm_test_check_plane_state_rounding2
- drm_test_check_plane_state_rounding3
- drm_test_check_plane_state_rounding4
- drm_test_check_plane_state_upscaling
I found the source of failure to be f1e75da5364e ("drm/atomic: Loosen FB atomic checks").
Fortunately for us, it's already been reverted yesterday for some unrelated reason, so it should be fixed in next-20231205 onward.
Sorry, that's a bummer that these patches were reverted. :( The whole episode was a bit unfortunate...
Qualcom has been working on those patches for a year. They must not be using kunit testing as part of their QC... It's some kind of communication failure on our part.
That's definitely a communication failure, but that's mostly on us :)
The reason these patches were reverted was completely unrelated to the kunit failures here: it failed the basic requirement we have on intel-gpu-tools tests and open-source userspace examples for new uAPIs.
So whether or not kunit tests would have passed, these patches were applied due to inattention and would have been reverted anyway
Maxime
The patches were reverted because the corresponding IGT/compositor changes were not posted yet. We will re-try applying once those are accepted.
Regarding KUnit tests, no we did not run this test and yes you are right, we were not running KUnit testing as the DRM CI mainly validates IGT.
We will certainly help to fix this failure. Most likely the KUnit tests need to be fixed to allow for a NULL FB.
If this is documented somewhere as a requirement, please share it and we should add KUnit testing to our DRM CI as well so that atleast this kind of failure will not repeat.
On Tue, Dec 05, 2023 at 09:33:28AM -0800, Abhinav Kumar wrote:
On 12/5/2023 3:46 AM, Maxime Ripard wrote:
On Tue, Dec 05, 2023 at 12:05:02PM +0300, Dan Carpenter wrote:
On Tue, Dec 05, 2023 at 09:37:05AM +0100, Maxime Ripard wrote:
Hi Naresh,
Thanks for the report
On Mon, Dec 04, 2023 at 11:05:36PM +0530, Naresh Kamboju wrote:
The Kunit drm_plane_helper failed on all devices running Linux next-20231204
## Test Regressions (compared to next-20231201)
- qemu-armv7, kunit and
- x86, kunit
- drm_test_check_invalid_plane_state_downscaling_invalid
- drm_test_check_invalid_plane_state_drm_plane_helper
- drm_test_check_invalid_plane_state_drm_test_check_invalid_plane_state
- drm_test_check_invalid_plane_state_positioning_invalid
- drm_test_check_invalid_plane_state_upscaling_invalid
- drm_test_check_plane_state_clipping_rotate_reflect
- drm_test_check_plane_state_clipping_simple
- drm_test_check_plane_state_downscaling
- drm_test_check_plane_state_drm_test_check_plane_state
- drm_test_check_plane_state_positioning_simple
- drm_test_check_plane_state_rounding1
- drm_test_check_plane_state_rounding2
- drm_test_check_plane_state_rounding3
- drm_test_check_plane_state_rounding4
- drm_test_check_plane_state_upscaling
I found the source of failure to be f1e75da5364e ("drm/atomic: Loosen FB atomic checks").
Fortunately for us, it's already been reverted yesterday for some unrelated reason, so it should be fixed in next-20231205 onward.
Sorry, that's a bummer that these patches were reverted. :( The whole episode was a bit unfortunate...
Qualcom has been working on those patches for a year. They must not be using kunit testing as part of their QC... It's some kind of communication failure on our part.
That's definitely a communication failure, but that's mostly on us :)
The reason these patches were reverted was completely unrelated to the kunit failures here: it failed the basic requirement we have on intel-gpu-tools tests and open-source userspace examples for new uAPIs.
So whether or not kunit tests would have passed, these patches were applied due to inattention and would have been reverted anyway
The patches were reverted because the corresponding IGT/compositor changes were not posted yet. We will re-try applying once those are accepted.
Regarding KUnit tests, no we did not run this test and yes you are right, we were not running KUnit testing as the DRM CI mainly validates IGT.
We will certainly help to fix this failure. Most likely the KUnit tests need to be fixed to allow for a NULL FB.
If this is documented somewhere as a requirement, please share it and we should add KUnit testing to our DRM CI as well so that atleast this kind of failure will not repeat.
Yeah, the expectation is that all tests pass all the time. If some change affects how tests should be written, then it should update the tests as well.
Maxime