]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Use mpc.preblend flag to indicate preblend
authorAlvin Lee <Alvin.Lee2@amd.com>
Tue, 9 Sep 2025 20:03:08 +0000 (16:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Sep 2025 17:51:37 +0000 (13:51 -0400)
[Description]
Modifications in per asic capability means mpc.preblend flag should be used
to indicate preblend. Update relevant paths to use this flag.

Fixes: 39923050615c ("drm/amd/display: Clear DPP 3DLUT Cap")
Reviewed-by: Dillon Varone <dillon.varone@amd.com>
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 9e5d4a5e27c6dc4e1b4fc9d654d13de12b8ce156)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c

index ebabfe3a512f49f8a300e7b00e81f2b1dfc4fbf8..c0dfe2d8b3becd5fd438b70e0df244ce51446850 100644 (file)
@@ -821,7 +821,7 @@ int amdgpu_dm_verify_lut3d_size(struct amdgpu_device *adev,
        struct dm_plane_state *dm_plane_state = to_dm_plane_state(plane_state);
        const struct drm_color_lut *shaper = NULL, *lut3d = NULL;
        uint32_t exp_size, size, dim_size = MAX_COLOR_3DLUT_SIZE;
-       bool has_3dlut = adev->dm.dc->caps.color.dpp.hw_3d_lut;
+       bool has_3dlut = adev->dm.dc->caps.color.dpp.hw_3d_lut || adev->dm.dc->caps.color.mpc.preblend;
 
        /* shaper LUT is only available if 3D LUT color caps */
        exp_size = has_3dlut ? MAX_COLOR_LUT_ENTRIES : 0;
index eef51652ca3560301dcfe92c80b5a81f442a049d..3d2f8eedeef23b01b12ab81884982926096a06c3 100644 (file)
@@ -1633,7 +1633,7 @@ dm_atomic_plane_attach_color_mgmt_properties(struct amdgpu_display_manager *dm,
                drm_object_attach_property(&plane->base,
                                           dm->adev->mode_info.plane_ctm_property, 0);
 
-       if (dpp_color_caps.hw_3d_lut) {
+       if (dpp_color_caps.hw_3d_lut || dm->dc->caps.color.mpc.preblend) {
                drm_object_attach_property(&plane->base,
                                           mode_info.plane_shaper_lut_property, 0);
                drm_object_attach_property(&plane->base,