forked from mirrors/linux
		
	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
					
				
					 2 changed files with 23 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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 a new issue