1*97fb5e8dSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 225fdd593SJeykumar Sankaran /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 325fdd593SJeykumar Sankaran */ 425fdd593SJeykumar Sankaran 525fdd593SJeykumar Sankaran #ifndef __DPU_VBIF_H__ 625fdd593SJeykumar Sankaran #define __DPU_VBIF_H__ 725fdd593SJeykumar Sankaran 825fdd593SJeykumar Sankaran #include "dpu_kms.h" 925fdd593SJeykumar Sankaran 1025fdd593SJeykumar Sankaran struct dpu_vbif_set_ot_params { 1125fdd593SJeykumar Sankaran u32 xin_id; 1225fdd593SJeykumar Sankaran u32 num; 1325fdd593SJeykumar Sankaran u32 width; 1425fdd593SJeykumar Sankaran u32 height; 1525fdd593SJeykumar Sankaran u32 frame_rate; 1625fdd593SJeykumar Sankaran bool rd; 1725fdd593SJeykumar Sankaran bool is_wfd; 1825fdd593SJeykumar Sankaran u32 vbif_idx; 1925fdd593SJeykumar Sankaran }; 2025fdd593SJeykumar Sankaran 2125fdd593SJeykumar Sankaran struct dpu_vbif_set_memtype_params { 2225fdd593SJeykumar Sankaran u32 xin_id; 2325fdd593SJeykumar Sankaran u32 vbif_idx; 2425fdd593SJeykumar Sankaran bool is_cacheable; 2525fdd593SJeykumar Sankaran }; 2625fdd593SJeykumar Sankaran 2725fdd593SJeykumar Sankaran /** 2825fdd593SJeykumar Sankaran * struct dpu_vbif_set_qos_params - QoS remapper parameter 2925fdd593SJeykumar Sankaran * @vbif_idx: vbif identifier 3025fdd593SJeykumar Sankaran * @xin_id: client interface identifier 3125fdd593SJeykumar Sankaran * @num: pipe identifier (debug only) 3225fdd593SJeykumar Sankaran * @is_rt: true if pipe is used in real-time use case 3325fdd593SJeykumar Sankaran */ 3425fdd593SJeykumar Sankaran struct dpu_vbif_set_qos_params { 3525fdd593SJeykumar Sankaran u32 vbif_idx; 3625fdd593SJeykumar Sankaran u32 xin_id; 3725fdd593SJeykumar Sankaran u32 num; 3825fdd593SJeykumar Sankaran bool is_rt; 3925fdd593SJeykumar Sankaran }; 4025fdd593SJeykumar Sankaran 4125fdd593SJeykumar Sankaran /** 4225fdd593SJeykumar Sankaran * dpu_vbif_set_ot_limit - set OT limit for vbif client 4325fdd593SJeykumar Sankaran * @dpu_kms: DPU handler 4425fdd593SJeykumar Sankaran * @params: Pointer to OT configuration parameters 4525fdd593SJeykumar Sankaran */ 4625fdd593SJeykumar Sankaran void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms, 4725fdd593SJeykumar Sankaran struct dpu_vbif_set_ot_params *params); 4825fdd593SJeykumar Sankaran 4925fdd593SJeykumar Sankaran /** 5025fdd593SJeykumar Sankaran * dpu_vbif_set_qos_remap - set QoS priority level remap 5125fdd593SJeykumar Sankaran * @dpu_kms: DPU handler 5225fdd593SJeykumar Sankaran * @params: Pointer to QoS configuration parameters 5325fdd593SJeykumar Sankaran */ 5425fdd593SJeykumar Sankaran void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms, 5525fdd593SJeykumar Sankaran struct dpu_vbif_set_qos_params *params); 5625fdd593SJeykumar Sankaran 5725fdd593SJeykumar Sankaran /** 5825fdd593SJeykumar Sankaran * dpu_vbif_clear_errors - clear any vbif errors 5925fdd593SJeykumar Sankaran * @dpu_kms: DPU handler 6025fdd593SJeykumar Sankaran */ 6125fdd593SJeykumar Sankaran void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms); 6225fdd593SJeykumar Sankaran 6325fdd593SJeykumar Sankaran /** 6425fdd593SJeykumar Sankaran * dpu_vbif_init_memtypes - initialize xin memory types for vbif 6525fdd593SJeykumar Sankaran * @dpu_kms: DPU handler 6625fdd593SJeykumar Sankaran */ 6725fdd593SJeykumar Sankaran void dpu_vbif_init_memtypes(struct dpu_kms *dpu_kms); 6825fdd593SJeykumar Sankaran 693d688410SJordan Crouse void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root); 703d688410SJordan Crouse 7125fdd593SJeykumar Sankaran #endif /* __DPU_VBIF_H__ */ 72