linux/drivers/media/platform/amphion/vpu_rpc.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright 2020-2021 NXP
 */

#ifndef _AMPHION_VPU_RPC_H
#define _AMPHION_VPU_RPC_H

#include <media/videobuf2-core.h>
#include "vpu_codec.h"

struct vpu_rpc_buffer_desc {};

struct vpu_shared_addr {};

struct vpu_rpc_event_header {};

struct vpu_rpc_event {};

struct vpu_iface_ops {};

enum {};

struct vpu_rpc_region_t {};

struct vpu_iface_ops *vpu_core_get_iface(struct vpu_core *core);
struct vpu_iface_ops *vpu_inst_get_iface(struct vpu_inst *inst);
int vpu_iface_check_memory_region(struct vpu_core *core, dma_addr_t addr, u32 size);

static inline bool vpu_iface_check_codec(struct vpu_core *core)
{}

static inline bool vpu_iface_check_format(struct vpu_inst *inst, u32 pixelfmt)
{}

static inline int vpu_iface_boot_core(struct vpu_core *core)
{}

static inline int vpu_iface_get_power_state(struct vpu_core *core)
{}

static inline int vpu_iface_shutdown_core(struct vpu_core *core)
{}

static inline int vpu_iface_restore_core(struct vpu_core *core)
{}

static inline int vpu_iface_on_firmware_loaded(struct vpu_core *core)
{}

static inline u32 vpu_iface_get_data_size(struct vpu_core *core)
{}

static inline int vpu_iface_init(struct vpu_core *core,
				 struct vpu_shared_addr *shared,
				 struct vpu_buffer *rpc,
				 dma_addr_t boot_addr)
{}

static inline int vpu_iface_set_log_buf(struct vpu_core *core,
					struct vpu_buffer *log)
{}

static inline int vpu_iface_config_system(struct vpu_core *core, u32 regs_base, void __iomem *regs)
{}

static inline int vpu_iface_get_stream_buffer_size(struct vpu_core *core)
{}

static inline int vpu_iface_config_stream(struct vpu_inst *inst)
{}

static inline int vpu_iface_send_cmd(struct vpu_core *core, struct vpu_rpc_event *cmd)
{}

static inline int vpu_iface_receive_msg(struct vpu_core *core, struct vpu_rpc_event *msg)
{}

static inline int vpu_iface_pack_cmd(struct vpu_core *core,
				     struct vpu_rpc_event *pkt,
				     u32 index, u32 id, void *data)
{}

static inline int vpu_iface_convert_msg_id(struct vpu_core *core, u32 msg_id)
{}

static inline int vpu_iface_unpack_msg_data(struct vpu_core *core,
					    struct vpu_rpc_event *pkt, void *data)
{}

static inline int vpu_iface_input_frame(struct vpu_inst *inst,
					struct vb2_buffer *vb)
{}

static inline int vpu_iface_config_memory_resource(struct vpu_inst *inst,
						   u32 type,
						   u32 index,
						   struct vpu_buffer *buf)
{}

static inline int vpu_iface_config_stream_buffer(struct vpu_inst *inst,
						 struct vpu_buffer *buf)
{}

static inline int vpu_iface_update_stream_buffer(struct vpu_inst *inst,
						 u32 ptr, bool write)
{}

static inline int vpu_iface_get_stream_buffer_desc(struct vpu_inst *inst,
						   struct vpu_rpc_buffer_desc *desc)
{}

static inline u32 vpu_iface_get_version(struct vpu_core *core)
{}

static inline u32 vpu_iface_get_max_instance_count(struct vpu_core *core)
{}

static inline int vpu_iface_set_encode_params(struct vpu_inst *inst,
					      struct vpu_encode_params *params, u32 update)
{}

static inline int vpu_iface_set_decode_params(struct vpu_inst *inst,
					      struct vpu_decode_params *params, u32 update)
{}

static inline int vpu_iface_add_scode(struct vpu_inst *inst, u32 scode_type)
{}

static inline int vpu_iface_pre_send_cmd(struct vpu_inst *inst)
{}

static inline int vpu_iface_post_send_cmd(struct vpu_inst *inst)
{}

static inline int vpu_iface_init_instance(struct vpu_inst *inst)
{}

#endif