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