xref: /linux/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
3  */
4 
5 #ifndef __DPU_VBIF_H__
6 #define __DPU_VBIF_H__
7 
8 #include "dpu_kms.h"
9 
10 struct dpu_vbif_set_ot_params {
11 	u32 xin_id;
12 	u32 num;
13 	u32 width;
14 	u32 height;
15 	u32 frame_rate;
16 	bool rd;
17 	bool is_wfd;
18 };
19 
20 struct dpu_vbif_set_memtype_params {
21 	u32 xin_id;
22 	bool is_cacheable;
23 };
24 
25 /**
26  * struct dpu_vbif_set_qos_params - QoS remapper parameter
27  * @xin_id: client interface identifier
28  * @num: pipe identifier (debug only)
29  * @is_rt: true if pipe is used in real-time use case
30  */
31 struct dpu_vbif_set_qos_params {
32 	u32 xin_id;
33 	u32 num;
34 	bool is_rt;
35 };
36 
37 void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms,
38 		struct dpu_vbif_set_ot_params *params);
39 
40 void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms,
41 		struct dpu_vbif_set_qos_params *params);
42 
43 void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms);
44 
45 void dpu_vbif_init_memtypes(struct dpu_kms *dpu_kms);
46 
47 void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root);
48 
49 #endif /* __DPU_VBIF_H__ */
50