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;
|
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
|
* dc_stream_get_status_from_state - Get stream status from given dc state
|
||||||
* @state: DC state to find the stream status in
|
* @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_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 update_stream_signal(struct dc_stream_state *stream, struct dc_sink *sink);
|
||||||
|
|
||||||
void dc_stream_retain(struct dc_stream_state *dc_stream);
|
void dc_stream_retain(struct dc_stream_state *dc_stream);
|
||||||
|
|
Loading…
Reference in New Issue