mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
drm/amd/display: Deallocate DML 2.1 Memory Allocation
[Why] DML 2.1 allocates two types of memory in its ctx structure but does not destroy them, causing memory leak whenever DML 2.1 instance is created and destroyed. [How] Deallocate two instances of allocated memory whenever DML 2.1 is destroyed. Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Chris Park <chris.park@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c6bce984b8
commit
ccb167104a
|
|
@ -107,6 +107,12 @@ bool dml21_create(const struct dc *in_dc, struct dml2_context **dml_ctx, const s
|
|||
return true;
|
||||
}
|
||||
|
||||
void dml21_destroy(struct dml2_context *dml2)
|
||||
{
|
||||
kfree(dml2->v21.dml_init.dml2_instance);
|
||||
kfree(dml2->v21.mode_programming.programming);
|
||||
}
|
||||
|
||||
static void dml21_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_state *context, struct resource_context *out_new_hw_state,
|
||||
struct dml2_context *in_ctx, unsigned int pipe_cnt)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ struct dml2_context;
|
|||
* Return: True if dml2 is successfully created, false otherwise.
|
||||
*/
|
||||
bool dml21_create(const struct dc *in_dc, struct dml2_context **dml_ctx, const struct dml2_configuration_options *config);
|
||||
void dml21_destroy(struct dml2_context *dml2);
|
||||
void dml21_copy(struct dml2_context *dst_dml_ctx,
|
||||
struct dml2_context *src_dml_ctx);
|
||||
bool dml21_create_copy(struct dml2_context **dst_dml_ctx,
|
||||
|
|
|
|||
|
|
@ -782,6 +782,8 @@ void dml2_destroy(struct dml2_context *dml2)
|
|||
if (!dml2)
|
||||
return;
|
||||
|
||||
if (dml2->architecture == dml2_architecture_21)
|
||||
dml21_destroy(dml2);
|
||||
kfree(dml2);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user