Change-Id: Ibf1042eaf53c350df3344deaafc4d1629941c129
Signed-off-by: Harry Wentland <harry.wentl...@amd.com>
Acked-by: Harry Wentland <harry.wentl...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c         |  6 ++----
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 22 +++++++++-------------
 drivers/gpu/drm/amd/display/dc/dc.h              |  6 +++---
 drivers/gpu/drm/amd/display/dc/dc_hw_types.h     |  7 +++++++
 drivers/gpu/drm/amd/display/dc/inc/core_types.h  | 11 -----------
 5 files changed, 21 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 30374ffaae0b..d3873ac45cf3 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1500,12 +1500,10 @@ void dc_update_surfaces_and_stream(struct dc *dc,
                if (srf_updates[i].gamma &&
                        srf_updates[i].gamma != surface->gamma_correction) {
                        if (surface->gamma_correction != NULL)
-                               dc_gamma_release(&surface->
-                                               gamma_correction);
+                               dc_gamma_release(&surface->gamma_correction);
 
                        dc_gamma_retain(srf_updates[i].gamma);
-                       surface->gamma_correction =
-                                               srf_updates[i].gamma;
+                       surface->gamma_correction = srf_updates[i].gamma;
                }
 
                if (srf_updates[i].in_transfer_func &&
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
index a8b9515fd367..eded6b7da97d 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
@@ -137,37 +137,33 @@ void dc_surface_release(struct dc_surface *surface)
        }
 }
 
-void dc_gamma_retain(const struct dc_gamma *dc_gamma)
+void dc_gamma_retain(struct dc_gamma *gamma)
 {
-       struct core_gamma *gamma = DC_GAMMA_TO_CORE(dc_gamma);
-
        ASSERT(gamma->ref_count > 0);
        ++gamma->ref_count;
 }
 
-void dc_gamma_release(const struct dc_gamma **dc_gamma)
+void dc_gamma_release(struct dc_gamma **gamma)
 {
-       struct core_gamma *gamma = DC_GAMMA_TO_CORE(*dc_gamma);
-
-       ASSERT(gamma->ref_count > 0);
-       --gamma->ref_count;
+       ASSERT((*gamma)->ref_count > 0);
+       --(*gamma)->ref_count;
 
-       if (gamma->ref_count == 0)
-               dm_free(gamma);
+       if ((*gamma)->ref_count == 0)
+               dm_free((*gamma));
 
-       *dc_gamma = NULL;
+       *gamma = NULL;
 }
 
 struct dc_gamma *dc_create_gamma()
 {
-       struct core_gamma *gamma = dm_alloc(sizeof(*gamma));
+       struct dc_gamma *gamma = dm_alloc(sizeof(*gamma));
 
        if (gamma == NULL)
                goto alloc_fail;
 
        ++gamma->ref_count;
 
-       return &gamma->public;
+       return gamma;
 
 alloc_fail:
        return NULL;
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
b/drivers/gpu/drm/amd/display/dc/dc.h
index 77bd54659a8b..5523bb68f4e8 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -326,7 +326,7 @@ struct dc_surface {
        struct dc_plane_dcc_param dcc;
        struct dc_hdr_static_metadata hdr_static_ctx;
 
-       const struct dc_gamma *gamma_correction;
+       struct dc_gamma *gamma_correction;
        struct dc_transfer_func *in_transfer_func;
 
        enum dc_color_space color_space;
@@ -394,8 +394,8 @@ const struct dc_surface_status *dc_surface_get_status(
 void dc_surface_retain(struct dc_surface *dc_surface);
 void dc_surface_release(struct dc_surface *dc_surface);
 
-void dc_gamma_retain(const struct dc_gamma *dc_gamma);
-void dc_gamma_release(const struct dc_gamma **dc_gamma);
+void dc_gamma_retain(struct dc_gamma *dc_gamma);
+void dc_gamma_release(struct dc_gamma **dc_gamma);
 struct dc_gamma *dc_create_gamma(void);
 
 void dc_transfer_func_retain(struct dc_transfer_func *dc_tf);
diff --git a/drivers/gpu/drm/amd/display/dc/dc_hw_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
index 05f030ee8cf0..4c5e797da5b1 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
@@ -415,6 +415,13 @@ struct dc_gamma {
        uint16_t red[INPUT_LUT_ENTRIES];
        uint16_t green[INPUT_LUT_ENTRIES];
        uint16_t blue[INPUT_LUT_ENTRIES];
+
+       /* private to DC core */
+       struct dc_context *ctx;
+
+       /* private to dc_surface.c */
+       int ref_count;
+
 };
 
 /* Used by both ipp amd opp functions*/
diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h 
b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
index 43e9ada278d3..5a47d4c94df6 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
@@ -40,17 +40,6 @@ struct core_stream;
 
 #define MAX_CLOCK_SOURCES 7
 
-#define DC_GAMMA_TO_CORE(dc_gamma) \
-       container_of(dc_gamma, struct core_gamma, public)
-
-struct core_gamma {
-       struct dc_gamma public;
-       struct dc_context *ctx;
-
-       /* private to dc_surface.c */
-       int ref_count;
-};
-
 void enable_surface_flip_reporting(struct dc_surface *dc_surface,
                uint32_t controller_id);
 
-- 
2.11.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to