summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorNikola Cornij2017-12-14 23:57:56 +0100
committerAlex Deucher2018-02-19 20:17:30 +0100
commite56ae556e16265de6cc237d14a9a1518dbbcb807 (patch)
tree89f6f8675bd4be1333de2021c3c588ac457eb66d /drivers/gpu/drm
parentdrm/amd/display: Make create_stream_for_sink more consistent (diff)
downloadkernel-qcow2-linux-e56ae556e16265de6cc237d14a9a1518dbbcb807.tar.gz
kernel-qcow2-linux-e56ae556e16265de6cc237d14a9a1518dbbcb807.tar.xz
kernel-qcow2-linux-e56ae556e16265de6cc237d14a9a1518dbbcb807.zip
drm/amd/display: Define remove_stream_from_ctx resource func
This will allow us to clean up resources on a stream as needed. Signed-off-by: Nikola Cornij <nikola.cornij@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@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')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_resource.c3
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/core_types.h5
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 36d54ef5cae2..ba88284d305a 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -1554,6 +1554,9 @@ enum dc_status dc_remove_stream_from_ctx(
dc->res_pool,
del_pipe->clock_source);
+ if (dc->res_pool->funcs->remove_stream_from_ctx)
+ dc->res_pool->funcs->remove_stream_from_ctx(dc, new_ctx, stream);
+
memset(del_pipe, 0, sizeof(*del_pipe));
break;
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 8dcaf91dd071..59d2699b17ce 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
@@ -119,6 +119,11 @@ struct resource_funcs {
struct dc *dc,
struct dc_state *new_ctx,
struct dc_stream_state *dc_stream);
+
+ enum dc_status (*remove_stream_from_ctx)(
+ struct dc *dc,
+ struct dc_state *new_ctx,
+ struct dc_stream_state *stream);
};
struct audio_support{