diff options
author | Harry Wentland <harry.wentland@amd.com> | 2017-07-24 15:30:17 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-09-26 18:15:38 -0400 |
commit | 7a6c4af6bf41516cc9e12d83cc8fcebfdd8be01c (patch) | |
tree | 6ffbb71b300a64ebe47fb08b89e72fded03be310 /drivers/gpu/drm/amd/display/dc | |
parent | 0b0aab86d51ee63d521f0d96ff4dfe1d6252f9b2 (diff) | |
download | op-kernel-dev-7a6c4af6bf41516cc9e12d83cc8fcebfdd8be01c.zip op-kernel-dev-7a6c4af6bf41516cc9e12d83cc8fcebfdd8be01c.tar.gz |
drm/amd/display: Roll core_gamma into dc_gamma
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 7 | ||||
-rw-r--r-- | 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 30374ff..d3873ac 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 a8b9515..eded6b7 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 77bd546..5523bb6 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 05f030e..4c5e797 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 43e9ada..5a47d4c 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); |