1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6 #include "iris_instance.h" 7 #include "iris_vpu_buffer.h" 8 9 u32 iris_vpu_dec_dpb_size(struct iris_inst *inst) 10 { 11 if (iris_split_mode_enabled(inst)) 12 return iris_get_buffer_size(inst, BUF_DPB); 13 else 14 return 0; 15 } 16 17 static inline int iris_vpu_dpb_count(struct iris_inst *inst) 18 { 19 if (iris_split_mode_enabled(inst)) { 20 return inst->fw_min_count ? 21 inst->fw_min_count : inst->buffers[BUF_OUTPUT].min_count; 22 } 23 24 return 0; 25 } 26 27 int iris_vpu_buf_count(struct iris_inst *inst, enum iris_buffer_type buffer_type) 28 { 29 switch (buffer_type) { 30 case BUF_INPUT: 31 return MIN_BUFFERS; 32 case BUF_OUTPUT: 33 return inst->fw_min_count; 34 case BUF_DPB: 35 return iris_vpu_dpb_count(inst); 36 default: 37 return 0; 38 } 39 } 40