Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] drm/amd/display: broken KUnit test dm_test_get_plane_formats() --
commit f2e839f51941e28c7b37c695841346e690a5a04b Author: MuXian Chen <[email protected]> drm/amd/display: drop RGBA8888 from plane format lists This commit removes DRM_FORMAT_RGBA8888 from rgb_formats[] and overlay_formats[] because DC lacks a corresponding surface pixel format, causing fill_dc_plane_info_and_addr() to fail with -EINVAL when a compositor selects it. Link: https://gitlab.freedesktop.org/drm/amd/-/work_items/5339 > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > index 06d9ff2c32c52..931c4ad677c7e 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > @@ -48,11 +48,13 @@ > * For future use cases we should either initialize them dynamically based on > * plane capabilities, or initialize this array to all formats, so internal > drm > * check will succeed, and let DC implement proper check > + * > + * DC has no surface format for DRM_FORMAT_RGBA8888, so it must not be > + * advertised here or in overlay_formats. > */ > static const uint32_t rgb_formats[] = { > DRM_FORMAT_XRGB8888, > DRM_FORMAT_ARGB8888, > - DRM_FORMAT_RGBA8888, > DRM_FORMAT_XRGB2101010, > DRM_FORMAT_XBGR2101010, > DRM_FORMAT_ARGB2101010, > @@ -69,7 +71,6 @@ static const uint32_t rgb_formats[] = { > static const uint32_t overlay_formats[] = { > DRM_FORMAT_XRGB8888, > DRM_FORMAT_ARGB8888, > - DRM_FORMAT_RGBA8888, [Severity: Medium] As reported by Sashiko on v1 [1], removing DRM_FORMAT_RGBA8888 reduces ARRAY_SIZE(rgb_formats) from 14 to 13 and ARRAY_SIZE(overlay_formats) from 9 to 8. In drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.c, dm_test_get_plane_formats() calls amdgpu_dm_plane_get_plane_formats() and checks the returned format counts: plane->type = DRM_PLANE_TYPE_PRIMARY; KUNIT_EXPECT_EQ(test, amdgpu_dm_plane_get_plane_formats(plane, NULL, formats, 32), 14); cap->pixel_format_support.nv12 = true; cap->pixel_format_support.p010 = true; cap->pixel_format_support.fp16 = true; KUNIT_EXPECT_EQ(test, amdgpu_dm_plane_get_plane_formats(plane, cap, formats, 32), 20); plane->type = DRM_PLANE_TYPE_OVERLAY; KUNIT_EXPECT_EQ(test, amdgpu_dm_plane_get_plane_formats(plane, NULL, formats, 32), 9); universal_cap->type = DC_PLANE_TYPE_DCN_UNIVERSAL; KUNIT_EXPECT_EQ(test, amdgpu_dm_plane_get_plane_formats(plane, universal_cap, formats, 32), 14); Should these four KUNIT_EXPECT_EQ assertions in dm_test_get_plane_formats() be updated to expect 13, 19, 8, and 13 so the amdgpu_dm_plane KUnit test suite does not fail? [1] https://lore.kernel.org/r/[email protected] -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
