1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (c) 2020, The Linux Foundation. All rights reserved. 4 */ 5 6 #ifndef __HFI_PLATFORM_BUFFERS_H__ 7 #define __HFI_PLATFORM_BUFFERS_H__ 8 9 #include <linux/types.h> 10 #include "hfi_helper.h" 11 12 struct hfi_plat_buffers_params { 13 u32 width; 14 u32 height; 15 u32 out_width; 16 u32 out_height; 17 u32 codec; 18 u32 hfi_color_fmt; 19 u32 hfi_dpb_color_fmt; 20 enum hfi_version version; 21 u32 num_vpp_pipes; 22 union { 23 struct { 24 u32 max_mbs_per_frame; 25 u32 buffer_size_limit; 26 bool is_secondary_output; 27 bool is_interlaced; 28 } dec; 29 struct { 30 u32 work_mode; 31 u32 rc_type; 32 u32 num_b_frames; 33 bool is_tenbit; 34 } enc; 35 }; 36 }; 37 38 int hfi_plat_bufreq_v6(struct hfi_plat_buffers_params *params, u32 session_type, 39 u32 buftype, struct hfi_buffer_requirements *bufreq); 40 41 #endif 42