Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
0003  */
0004 
0005 #ifndef __DPU_VBIF_H__
0006 #define __DPU_VBIF_H__
0007 
0008 #include "dpu_kms.h"
0009 
0010 struct dpu_vbif_set_ot_params {
0011     u32 xin_id;
0012     u32 num;
0013     u32 width;
0014     u32 height;
0015     u32 frame_rate;
0016     bool rd;
0017     bool is_wfd;
0018     u32 vbif_idx;
0019     u32 clk_ctrl;
0020 };
0021 
0022 struct dpu_vbif_set_memtype_params {
0023     u32 xin_id;
0024     u32 vbif_idx;
0025     u32 clk_ctrl;
0026     bool is_cacheable;
0027 };
0028 
0029 /**
0030  * struct dpu_vbif_set_qos_params - QoS remapper parameter
0031  * @vbif_idx: vbif identifier
0032  * @xin_id: client interface identifier
0033  * @clk_ctrl: clock control identifier of the xin
0034  * @num: pipe identifier (debug only)
0035  * @is_rt: true if pipe is used in real-time use case
0036  */
0037 struct dpu_vbif_set_qos_params {
0038     u32 vbif_idx;
0039     u32 xin_id;
0040     u32 clk_ctrl;
0041     u32 num;
0042     bool is_rt;
0043 };
0044 
0045 /**
0046  * dpu_vbif_set_ot_limit - set OT limit for vbif client
0047  * @dpu_kms:    DPU handler
0048  * @params: Pointer to OT configuration parameters
0049  */
0050 void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms,
0051         struct dpu_vbif_set_ot_params *params);
0052 
0053 /**
0054  * dpu_vbif_set_qos_remap - set QoS priority level remap
0055  * @dpu_kms:    DPU handler
0056  * @params: Pointer to QoS configuration parameters
0057  */
0058 void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms,
0059         struct dpu_vbif_set_qos_params *params);
0060 
0061 /**
0062  * dpu_vbif_clear_errors - clear any vbif errors
0063  * @dpu_kms:    DPU handler
0064  */
0065 void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms);
0066 
0067 /**
0068  * dpu_vbif_init_memtypes - initialize xin memory types for vbif
0069  * @dpu_kms:    DPU handler
0070  */
0071 void dpu_vbif_init_memtypes(struct dpu_kms *dpu_kms);
0072 
0073 void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root);
0074 
0075 #endif /* __DPU_VBIF_H__ */