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
15struct drm_i915_private;
16struct intel_atomic_state;
17struct intel_crtc_state;
18
19struct 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
28void intel_bw_init_hw(struct drm_i915_private *dev_priv);
29int intel_bw_init(struct drm_i915_private *dev_priv);
30void intel_bw_cleanup(struct drm_i915_private *dev_priv);
31int intel_bw_atomic_check(struct intel_atomic_state *state);
32void 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