1 /*	$NetBSD: intel_bw.h,v 1.2 2021/12/18 23:45:29 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 /*
5  * Copyright © 2019 Intel Corporation
6  */
7 
8 #ifndef __INTEL_BW_H__
9 #define __INTEL_BW_H__
10 
11 #include <drm/drm_atomic.h>
12 
13 #include "intel_display.h"
14 
15 struct drm_i915_private;
16 struct intel_atomic_state;
17 struct intel_crtc_state;
18 
19 struct intel_bw_state {
20 	struct drm_private_state base;
21 
22 	unsigned int data_rate[I915_MAX_PIPES];
23 	u8 num_active_planes[I915_MAX_PIPES];
24 };
25 
26 #define to_intel_bw_state(x) container_of((x), struct intel_bw_state, base)
27 
28 void intel_bw_init_hw(struct drm_i915_private *dev_priv);
29 int intel_bw_init(struct drm_i915_private *dev_priv);
30 void intel_bw_cleanup(struct drm_i915_private *dev_priv);
31 int intel_bw_atomic_check(struct intel_atomic_state *state);
32 void intel_bw_crtc_update(struct intel_bw_state *bw_state,
33 			  const struct intel_crtc_state *crtc_state);
34 
35 #endif /* __INTEL_BW_H__ */
36