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
12struct 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
38int 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