Linux Audio

Check our new training course

Loading...
v6.9.4
 1/*
 2 * Copyright 2023 Advanced Micro Devices, Inc.
 3 *
 4 * Permission is hereby granted, free of charge, to any person obtaining a
 5 * copy of this software and associated documentation files (the "Software"),
 6 * to deal in the Software without restriction, including without limitation
 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 8 * and/or sell copies of the Software, and to permit persons to whom the
 9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * Authors: AMD
23 *
24 */
25
26#ifndef _DC_STREAM_PRIV_H_
27#define _DC_STREAM_PRIV_H_
28
29#include "dc_stream.h"
30
31bool dc_stream_construct(struct dc_stream_state *stream,
32	struct dc_sink *dc_sink_data);
33void dc_stream_destruct(struct dc_stream_state *stream);
34
35void dc_stream_assign_stream_id(struct dc_stream_state *stream);
36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37#endif // _DC_STREAM_PRIV_H_
v6.13.7
 1/*
 2 * Copyright 2023 Advanced Micro Devices, Inc.
 3 *
 4 * Permission is hereby granted, free of charge, to any person obtaining a
 5 * copy of this software and associated documentation files (the "Software"),
 6 * to deal in the Software without restriction, including without limitation
 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 8 * and/or sell copies of the Software, and to permit persons to whom the
 9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * Authors: AMD
23 *
24 */
25
26#ifndef _DC_STREAM_PRIV_H_
27#define _DC_STREAM_PRIV_H_
28
29#include "dc_stream.h"
30
31bool dc_stream_construct(struct dc_stream_state *stream,
32	struct dc_sink *dc_sink_data);
33void dc_stream_destruct(struct dc_stream_state *stream);
34
35void dc_stream_assign_stream_id(struct dc_stream_state *stream);
36
37/*
38 * Finds the highest refresh rate that can be achieved
39 * from starting_freq while staying within flicker criteria
40 */
41int dc_stream_calculate_max_flickerless_refresh_rate(struct dc_stream_state *stream,
42						      int starting_refresh_hz,
43						      bool is_gaming);
44
45/*
46 * Finds the lowest refresh rate that can be achieved
47 * from starting_freq while staying within flicker criteria
48 */
49int dc_stream_calculate_min_flickerless_refresh_rate(struct dc_stream_state *stream,
50						      int starting_refresh_hz,
51						      bool is_gaming);
52
53/*
54 * Determines if there will be a flicker when moving between 2 refresh rates
55 */
56bool dc_stream_is_refresh_rate_range_flickerless(struct dc_stream_state *stream,
57						  int hz1,
58						  int hz2,
59						  bool is_gaming);
60
61/*
62 * Determines the max instant vtotal delta increase that can be applied without
63 * flickering for a given stream
64 */
65unsigned int dc_stream_get_max_flickerless_instant_vtotal_decrease(struct dc_stream_state *stream,
66									  bool is_gaming);
67
68/*
69 * Determines the max instant vtotal delta decrease that can be applied without
70 * flickering for a given stream
71 */
72unsigned int dc_stream_get_max_flickerless_instant_vtotal_increase(struct dc_stream_state *stream,
73									  bool is_gaming);
74
75#endif // _DC_STREAM_PRIV_H_