mirror of https://gitee.com/openkylin/linux.git
drm/amd/display: Add function to copy DC streams
We'll need the ability to copy a dc_stream_state for some features. Implement it here. Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
41629f02c6
commit
43e3ac8389
|
@ -163,6 +163,27 @@ struct dc_stream_state *dc_create_stream_for_sink(
|
|||
return stream;
|
||||
}
|
||||
|
||||
struct dc_stream_state *dc_copy_stream(const struct dc_stream_state *stream)
|
||||
{
|
||||
struct dc_stream_state *new_stream;
|
||||
|
||||
new_stream = kzalloc(sizeof(struct dc_stream_state), GFP_KERNEL);
|
||||
if (stream == NULL)
|
||||
return NULL;
|
||||
|
||||
memcpy(new_stream, stream, sizeof(struct dc_stream_state));
|
||||
|
||||
if (new_stream->sink)
|
||||
dc_sink_retain(new_stream->sink);
|
||||
|
||||
if (new_stream->out_transfer_func)
|
||||
dc_transfer_func_retain(new_stream->out_transfer_func);
|
||||
|
||||
kref_init(&new_stream->refcount);
|
||||
|
||||
return new_stream;
|
||||
}
|
||||
|
||||
/**
|
||||
* dc_stream_get_status_from_state - Get stream status from given dc state
|
||||
* @state: DC state to find the stream status in
|
||||
|
|
|
@ -307,6 +307,8 @@ enum surface_update_type dc_check_update_surfaces_for_stream(
|
|||
*/
|
||||
struct dc_stream_state *dc_create_stream_for_sink(struct dc_sink *dc_sink);
|
||||
|
||||
struct dc_stream_state *dc_copy_stream(const struct dc_stream_state *stream);
|
||||
|
||||
void update_stream_signal(struct dc_stream_state *stream, struct dc_sink *sink);
|
||||
|
||||
void dc_stream_retain(struct dc_stream_state *dc_stream);
|
||||
|
|
Loading…
Reference in New Issue