Re: [PATCH i-g-t v3 4/6] tests/kms_properties: keep primary plane enabled for each CRTC
Melissa Wen <[email protected]>
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <[email protected]> |
On 14/08/2026 08:20, Borah, Chaitanya Kumar wrote: > > > On 8/14/2026 9:35 AM, Alex Hung wrote: >> >> >> On 8/11/26 08:23, Melissa Wen wrote: >>> For AMD, a primary plane must be active to keep CRTC active. So stop >>> reusing primary plane fb for overlays, give the latter its own fb. >>> >>> Signed-off-by: Melissa Wen <[email protected]> >>> >>> --- >>> >>> v2: >>> - detach different changes from a single commit (Chaitanya) >> >> Were patches 4 & 5 a single patch? I think they belong to a single >> patch. >> >> Ignore me if this was discussed before. >> > > When I suggested splitting the patch, I meant separating the "needs > primary plane" change from the "set color pipeline" change. > > So I guess the last hunk (excluding set bypass) of patch 5 moves here. Sorry, my fault. I just sent a v4 fixing this and addressing more comments: https://lore.kernel.org/igt-dev/[email protected]/T/#u > > == > Chaitanya > >>> --- >>> tests/kms_properties.c | 12 +++++++++++- >>> 1 file changed, 11 insertions(+), 1 deletion(-) >>> >>> diff --git a/tests/kms_properties.c b/tests/kms_properties.c >>> index 292a04a2a..87614346a 100644 >>> --- a/tests/kms_properties.c >>> +++ b/tests/kms_properties.c >>> @@ -237,7 +237,7 @@ static void >>> run_colorop_property_tests(igt_display_t *display, >>> igt_crtc_t *crtc, igt_output_t *output, >>> bool atomic) >>> { >>> - struct igt_fb fb; >>> + struct igt_fb fb, afb; >>> igt_plane_t *plane; >>> igt_colorop_t *colorop; >>> int i; >>> @@ -255,6 +255,16 @@ static void >>> run_colorop_property_tests(igt_display_t *display, >>> igt_crtc_name(crtc), plane->index, >>> kmstest_plane_type_name(plane->type), output->name); >>> + /* AMD requires primary plane enabled to keep CRTC enabled */ >>> + if (plane->type != DRM_PLANE_TYPE_PRIMARY) { >>> + drmModeModeInfo *mode = igt_output_get_mode(output); >>> + >>> + igt_create_pattern_fb(display->drm_fd, mode->hdisplay, >>> mode->vdisplay, >>> + DRM_FORMAT_XRGB8888, >>> DRM_FORMAT_MOD_LINEAR, &afb); >>> + >>> + igt_plane_set_fb(plane, &afb); >>> + } >>> + >>> /* iterate over all color pipelines on plane */ >>> for (i = 0; i < plane->num_color_pipelines; ++i) { >>> /* iterate over all colorops in pipeline*/ >> >