@@ -52642,3 +52642,195 @@ index 0b918611b2a7..5ec7684f93ed 100644
5264252642--
52643526432.51.2
5264452644
52645+
52646+ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
52647+ From: Antheas Kapenekakis <
[email protected] >
52648+ Date: Fri, 14 Nov 2025 14:57:18 +0100
52649+ Subject: Revert "drm/amd/display: Clear DPP 3DLUT Cap"
52650+
52651+ This reverts commit 39923050615cd04231ea664c4cc5dbc8560b8b42.
52652+ ---
52653+ drivers/gpu/drm/amd/display/dc/dc.h | 1 -
52654+ .../gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c | 3 +--
52655+ .../gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c | 5 ++---
52656+ .../gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c | 3 +--
52657+ .../gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c | 3 +--
52658+ .../gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c | 3 +--
52659+ .../gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c | 1 -
52660+ 7 files changed, 6 insertions(+), 13 deletions(-)
52661+
52662+ diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
52663+ index 8ae9d550afdf..f761f31aad51 100644
52664+ --- a/drivers/gpu/drm/amd/display/dc/dc.h
52665+ +++ b/drivers/gpu/drm/amd/display/dc/dc.h
52666+ @@ -251,7 +251,6 @@ struct mpc_color_caps {
52667+ struct rom_curve_caps ogam_rom_caps;
52668+ struct lut3d_caps mcm_3d_lut_caps;
52669+ struct lut3d_caps rmcm_3d_lut_caps;
52670+ - bool preblend;
52671+ };
52672+
52673+ /**
52674+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
52675+ index 9917b366f00c..ff7c8e29a255 100644
52676+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
52677+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
52678+ @@ -2251,7 +2251,7 @@ static bool dcn32_resource_construct(
52679+ dc->caps.color.dpp.gamma_corr = 1;
52680+ dc->caps.color.dpp.dgam_rom_for_yuv = 0;
52681+
52682+ - dc->caps.color.dpp.hw_3d_lut = 0;
52683+ + dc->caps.color.dpp.hw_3d_lut = 1;
52684+ dc->caps.color.dpp.ogam_ram = 0; // no OGAM in DPP since DCN1
52685+ // no OGAM ROM on DCN2 and later ASICs
52686+ dc->caps.color.dpp.ogam_rom_caps.srgb = 0;
52687+ @@ -2270,7 +2270,6 @@ static bool dcn32_resource_construct(
52688+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52689+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52690+ dc->caps.color.mpc.ocsc = 1;
52691+ - dc->caps.color.mpc.preblend = true;
52692+
52693+ /* Use pipe context based otg sync logic */
52694+ dc->config.use_pipe_ctx_sync_logic = true;
52695+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
52696+ index 061c0907d802..aa3645c11dcb 100644
52697+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
52698+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
52699+ @@ -1755,8 +1755,8 @@ static bool dcn321_resource_construct(
52700+ dc->caps.color.dpp.gamma_corr = 1;
52701+ dc->caps.color.dpp.dgam_rom_for_yuv = 0;
52702+
52703+ - dc->caps.color.dpp.hw_3d_lut = 0;
52704+ - dc->caps.color.dpp.ogam_ram = 0;
52705+ + dc->caps.color.dpp.hw_3d_lut = 1;
52706+ + dc->caps.color.dpp.ogam_ram = 1;
52707+ // no OGAM ROM on DCN2 and later ASICs
52708+ dc->caps.color.dpp.ogam_rom_caps.srgb = 0;
52709+ dc->caps.color.dpp.ogam_rom_caps.bt2020 = 0;
52710+ @@ -1774,7 +1774,6 @@ static bool dcn321_resource_construct(
52711+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52712+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52713+ dc->caps.color.mpc.ocsc = 1;
52714+ - dc->caps.color.mpc.preblend = true;
52715+
52716+ /* Use pipe context based otg sync logic */
52717+ dc->config.use_pipe_ctx_sync_logic = true;
52718+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
52719+ index 32678b66c410..0e77d83cb4cc 100644
52720+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
52721+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
52722+ @@ -1890,7 +1890,7 @@ static bool dcn35_resource_construct(
52723+ dc->caps.color.dpp.gamma_corr = 1;
52724+ dc->caps.color.dpp.dgam_rom_for_yuv = 0;
52725+
52726+ - dc->caps.color.dpp.hw_3d_lut = 0;
52727+ + dc->caps.color.dpp.hw_3d_lut = 1;
52728+ dc->caps.color.dpp.ogam_ram = 0; // no OGAM in DPP since DCN1
52729+ // no OGAM ROM on DCN301
52730+ dc->caps.color.dpp.ogam_rom_caps.srgb = 0;
52731+ @@ -1909,7 +1909,6 @@ static bool dcn35_resource_construct(
52732+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52733+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52734+ dc->caps.color.mpc.ocsc = 1;
52735+ - dc->caps.color.mpc.preblend = true;
52736+
52737+ dc->caps.num_of_host_routers = 2;
52738+ dc->caps.num_of_dpias_per_host_router = 2;
52739+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
52740+ index 677cee27589c..cfde0d2daf47 100644
52741+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
52742+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
52743+ @@ -1863,7 +1863,7 @@ static bool dcn351_resource_construct(
52744+ dc->caps.color.dpp.gamma_corr = 1;
52745+ dc->caps.color.dpp.dgam_rom_for_yuv = 0;
52746+
52747+ - dc->caps.color.dpp.hw_3d_lut = 0;
52748+ + dc->caps.color.dpp.hw_3d_lut = 1;
52749+ dc->caps.color.dpp.ogam_ram = 0; // no OGAM in DPP since DCN1
52750+ // no OGAM ROM on DCN301
52751+ dc->caps.color.dpp.ogam_rom_caps.srgb = 0;
52752+ @@ -1882,7 +1882,6 @@ static bool dcn351_resource_construct(
52753+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52754+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52755+ dc->caps.color.mpc.ocsc = 1;
52756+ - dc->caps.color.mpc.preblend = true;
52757+
52758+ dc->caps.num_of_host_routers = 2;
52759+ dc->caps.num_of_dpias_per_host_router = 2;
52760+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c
52761+ index d81540515e5c..270282b7ba63 100644
52762+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c
52763+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c
52764+ @@ -1863,7 +1863,7 @@ static bool dcn36_resource_construct(
52765+ dc->caps.color.dpp.gamma_corr = 1;
52766+ dc->caps.color.dpp.dgam_rom_for_yuv = 0;
52767+
52768+ - dc->caps.color.dpp.hw_3d_lut = 0;
52769+ + dc->caps.color.dpp.hw_3d_lut = 1;
52770+ dc->caps.color.dpp.ogam_ram = 0; // no OGAM in DPP since DCN1
52771+ // no OGAM ROM on DCN301
52772+ dc->caps.color.dpp.ogam_rom_caps.srgb = 0;
52773+ @@ -1882,7 +1882,6 @@ static bool dcn36_resource_construct(
52774+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52775+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52776+ dc->caps.color.mpc.ocsc = 1;
52777+ - dc->caps.color.mpc.preblend = true;
52778+
52779+ dc->caps.num_of_host_routers = 2;
52780+ dc->caps.num_of_dpias_per_host_router = 2;
52781+ diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
52782+ index b3988e38d0a6..21533bfc2672 100644
52783+ --- a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
52784+ +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
52785+ @@ -1948,7 +1948,6 @@ static bool dcn401_resource_construct(
52786+ dc->caps.color.mpc.ogam_rom_caps.pq = 0;
52787+ dc->caps.color.mpc.ogam_rom_caps.hlg = 0;
52788+ dc->caps.color.mpc.ocsc = 1;
52789+ - dc->caps.color.mpc.preblend = true;
52790+ dc->config.use_spl = true;
52791+ dc->config.prefer_easf = true;
52792+
52793+ --
52794+ 2.51.2
52795+
52796+
52797+ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
52798+ From: Antheas Kapenekakis <
[email protected] >
52799+ Date: Fri, 14 Nov 2025 14:59:04 +0100
52800+ Subject: Revert "drm/amd/display: Use mpc.preblend flag to indicate preblend"
52801+
52802+ This reverts commit 1c3217dd557d4f04eb4c2afcd7c76de6b4d66ccb.
52803+ ---
52804+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 2 +-
52805+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 2 +-
52806+ 2 files changed, 2 insertions(+), 2 deletions(-)
52807+
52808+ diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
52809+ index 5b338ebb7672..1234c774f4f3 100644
52810+ --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
52811+ +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
52812+ @@ -821,7 +821,7 @@ int amdgpu_dm_verify_lut3d_size(struct amdgpu_device *adev,
52813+ struct dm_plane_state *dm_plane_state = to_dm_plane_state(plane_state);
52814+ const struct drm_color_lut *shaper = NULL, *lut3d = NULL;
52815+ uint32_t exp_size, size, dim_size = MAX_COLOR_3DLUT_SIZE;
52816+ - bool has_3dlut = adev->dm.dc->caps.color.dpp.hw_3d_lut || adev->dm.dc->caps.color.mpc.preblend;
52817+ + bool has_3dlut = adev->dm.dc->caps.color.dpp.hw_3d_lut;
52818+
52819+ /* shaper LUT is only available if 3D LUT color caps */
52820+ exp_size = has_3dlut ? MAX_COLOR_LUT_ENTRIES : 0;
52821+ 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
52822+ index 1cda0153cd52..82241b31f7f3 100644
52823+ --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
52824+ +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
52825+ @@ -1633,7 +1633,7 @@ dm_atomic_plane_attach_color_mgmt_properties(struct amdgpu_display_manager *dm,
52826+ drm_object_attach_property(&plane->base,
52827+ dm->adev->mode_info.plane_ctm_property, 0);
52828+
52829+ - if (dpp_color_caps.hw_3d_lut || dm->dc->caps.color.mpc.preblend) {
52830+ + if (dpp_color_caps.hw_3d_lut) {
52831+ drm_object_attach_property(&plane->base,
52832+ mode_info.plane_shaper_lut_property, 0);
52833+ drm_object_attach_property(&plane->base,
52834+ --
52835+ 2.51.2
52836+
0 commit comments