1/* SPDX-License-Identifier: MIT
2 *
3 * Copyright �� 2023 Intel Corporation
4 */
5
6#ifndef _INTEL_DSB_BUFFER_H
7#define _INTEL_DSB_BUFFER_H
8
9#include <linux/types.h>
10
11struct intel_crtc;
12struct i915_vma;
13
14struct intel_dsb_buffer {
15	u32 *cmd_buf;
16	struct i915_vma *vma;
17	size_t buf_size;
18};
19
20u32 intel_dsb_buffer_ggtt_offset(struct intel_dsb_buffer *dsb_buf);
21void intel_dsb_buffer_write(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val);
22u32 intel_dsb_buffer_read(struct intel_dsb_buffer *dsb_buf, u32 idx);
23void intel_dsb_buffer_memset(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val, size_t size);
24bool intel_dsb_buffer_create(struct intel_crtc *crtc, struct intel_dsb_buffer *dsb_buf,
25			     size_t size);
26void intel_dsb_buffer_cleanup(struct intel_dsb_buffer *dsb_buf);
27void intel_dsb_buffer_flush_map(struct intel_dsb_buffer *dsb_buf);
28
29#endif
30