On Wed, Sep 24, 2025 at 7:49 AM Timur Kristóf <[email protected]> wrote: > > The dce100_validate_global function was verbatim exactly the > same as dce60_validate_global and dce80_validate_global. > > Share dce100_validate_global between DCE6-10 to save code size. > > Signed-off-by: Timur Kristóf <[email protected]>
Series is: Reviewed-by: Alex Deucher <[email protected]> > --- > .../dc/resource/dce100/dce100_resource.c | 2 +- > .../dc/resource/dce100/dce100_resource.h | 4 +++ > .../dc/resource/dce60/dce60_resource.c | 32 +------------------ > .../dc/resource/dce80/dce80_resource.c | 32 +------------------ > 4 files changed, 7 insertions(+), 63 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c > b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c > index 6421a56ffd23..c4b4dc3ad8c9 100644 > --- a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c > +++ b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c > @@ -898,7 +898,7 @@ static bool dce100_validate_surface_sets( > return true; > } > > -static enum dc_status dce100_validate_global( > +enum dc_status dce100_validate_global( > struct dc *dc, > struct dc_state *context) > { > diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.h > b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.h > index 08e045601a77..dd150a4b4610 100644 > --- a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.h > +++ b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.h > @@ -41,6 +41,10 @@ struct resource_pool *dce100_create_resource_pool( > > enum dc_status dce100_validate_plane(const struct dc_plane_state > *plane_state, struct dc_caps *caps); > > +enum dc_status dce100_validate_global( > + struct dc *dc, > + struct dc_state *context); > + > enum dc_status dce100_validate_bandwidth( > struct dc *dc, > struct dc_state *context, > diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c > b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c > index 61ad3703461e..53c67ebe779f 100644 > --- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c > +++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c > @@ -864,36 +864,6 @@ static void dce60_resource_destruct(struct > dce110_resource_pool *pool) > } > } > > -static bool dce60_validate_surface_sets( > - struct dc_state *context) > -{ > - int i; > - > - for (i = 0; i < context->stream_count; i++) { > - if (context->stream_status[i].plane_count == 0) > - continue; > - > - if (context->stream_status[i].plane_count > 1) > - return false; > - > - if (context->stream_status[i].plane_states[0]->format > - >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN) > - return false; > - } > - > - return true; > -} > - > -static enum dc_status dce60_validate_global( > - struct dc *dc, > - struct dc_state *context) > -{ > - if (!dce60_validate_surface_sets(context)) > - return DC_FAIL_SURFACE_VALIDATE; > - > - return DC_OK; > -} > - > static void dce60_destroy_resource_pool(struct resource_pool **pool) > { > struct dce110_resource_pool *dce110_pool = TO_DCE110_RES_POOL(*pool); > @@ -910,7 +880,7 @@ static const struct resource_funcs dce60_res_pool_funcs = > { > .validate_bandwidth = dce100_validate_bandwidth, > .validate_plane = dce100_validate_plane, > .add_stream_to_ctx = dce100_add_stream_to_ctx, > - .validate_global = dce60_validate_global, > + .validate_global = dce100_validate_global, > .find_first_free_match_stream_enc_for_link = > dce100_find_first_free_match_stream_enc_for_link > }; > > diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c > b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c > index 0c9a39bf7ff4..5b7769745202 100644 > --- a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c > +++ b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c > @@ -870,36 +870,6 @@ static void dce80_resource_destruct(struct > dce110_resource_pool *pool) > } > } > > -static bool dce80_validate_surface_sets( > - struct dc_state *context) > -{ > - int i; > - > - for (i = 0; i < context->stream_count; i++) { > - if (context->stream_status[i].plane_count == 0) > - continue; > - > - if (context->stream_status[i].plane_count > 1) > - return false; > - > - if (context->stream_status[i].plane_states[0]->format > - >= SURFACE_PIXEL_FORMAT_VIDEO_BEGIN) > - return false; > - } > - > - return true; > -} > - > -static enum dc_status dce80_validate_global( > - struct dc *dc, > - struct dc_state *context) > -{ > - if (!dce80_validate_surface_sets(context)) > - return DC_FAIL_SURFACE_VALIDATE; > - > - return DC_OK; > -} > - > static void dce80_destroy_resource_pool(struct resource_pool **pool) > { > struct dce110_resource_pool *dce110_pool = TO_DCE110_RES_POOL(*pool); > @@ -916,7 +886,7 @@ static const struct resource_funcs dce80_res_pool_funcs = > { > .validate_bandwidth = dce100_validate_bandwidth, > .validate_plane = dce100_validate_plane, > .add_stream_to_ctx = dce100_add_stream_to_ctx, > - .validate_global = dce80_validate_global, > + .validate_global = dce100_validate_global, > .find_first_free_match_stream_enc_for_link = > dce100_find_first_free_match_stream_enc_for_link > }; > > -- > 2.51.0 >
