From: Rafal Ostrowski <[email protected]>

[Why&How]
MCM and RMCM both took their cube from struct tetrahedral_params, which is
embedded by value in dc_3dlut and therefore in dc_plane_state and
dc.scratch. RMCM needs a 33x33x33 cube, but that cube is ~421KB, so
enabling it in the shared union - where tetrahedral_33 was left commented
out - would push sizeof(struct dc) past the kmalloc MAX_PAGE_ORDER limit
and break kunit and other allocations.
Drop the unused struct tetrahedral_33x33x33 definition and lut_dim.

Reviewed-by: Dillon Varone <[email protected]>
Reviewed-by: Sridevi Arvindekar <[email protected]>
Signed-off-by: Rafal Ostrowski <[email protected]>
Signed-off-by: Ivan Lipski <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h 
b/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
index 176d048a64e70..6109d22e10938 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h
@@ -153,13 +153,6 @@ struct dc_rgb {
        uint32_t blue;
 };
 
-struct tetrahedral_33x33x33 {
-       struct dc_rgb lut0[8985];
-       struct dc_rgb lut1[8984];
-       struct dc_rgb lut2[8984];
-       struct dc_rgb lut3[8984];
-};
-
 struct tetrahedral_17x17x17 {
        struct dc_rgb lut0[1229];
        struct dc_rgb lut1[1228];
@@ -182,14 +175,11 @@ enum lut_dimension {
 
 struct tetrahedral_params {
        union {
-//TODO: Uncomment when in use.
-//             struct tetrahedral_33x33x33 tetrahedral_33;
                struct tetrahedral_17x17x17 tetrahedral_17;
                struct tetrahedral_9x9x9 tetrahedral_9;
        };
        bool use_tetrahedral_9;
        bool use_12bits;
-       enum lut_dimension lut_dim;
 };
 
 /* arr_curve_points - regamma regions/segments specification
-- 
2.43.0

Reply via email to