xref: /linux/drivers/gpu/drm/i915/display/intel_dbuf_bw.h (revision 6dfafbd0299a60bfb5d5e277fdf100037c7ded07)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2025 Intel Corporation
4  */
5 
6 #ifndef __INTEL_DBUF_BW_H__
7 #define __INTEL_DBUF_BW_H__
8 
9 #include <drm/drm_atomic.h>
10 
11 struct intel_atomic_state;
12 struct intel_dbuf_bw_state;
13 struct intel_crtc;
14 struct intel_display;
15 struct intel_global_state;
16 
17 struct intel_dbuf_bw_state *
18 to_intel_dbuf_bw_state(struct intel_global_state *obj_state);
19 
20 struct intel_dbuf_bw_state *
21 intel_atomic_get_old_dbuf_bw_state(struct intel_atomic_state *state);
22 
23 struct intel_dbuf_bw_state *
24 intel_atomic_get_new_dbuf_bw_state(struct intel_atomic_state *state);
25 
26 struct intel_dbuf_bw_state *
27 intel_atomic_get_dbuf_bw_state(struct intel_atomic_state *state);
28 
29 int intel_dbuf_bw_init(struct intel_display *display);
30 int intel_dbuf_bw_calc_min_cdclk(struct intel_atomic_state *state,
31 				 bool *need_cdclk_calc);
32 int intel_dbuf_bw_min_cdclk(struct intel_display *display,
33 			    const struct intel_dbuf_bw_state *dbuf_bw_state);
34 void intel_dbuf_bw_update_hw_state(struct intel_display *display);
35 void intel_dbuf_bw_crtc_disable_noatomic(struct intel_crtc *crtc);
36 
37 #endif /* __INTEL_DBUF_BW_H__ */
38