#include <linux/init.h>
#include <linux/interconnect.h>
#include <linux/ioctl.h>
#include <linux/list.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/vmalloc.h>
#include "vpu.h"
#include "vpu_defs.h"
#include "vpu_cmds.h"
#include "vpu_rpc.h"
#include "vpu_mbox.h"
struct vpu_cmd_request { … };
struct vpu_cmd_t { … };
static struct vpu_cmd_request vpu_cmd_requests[] = …;
static int vpu_cmd_send(struct vpu_core *core, struct vpu_rpc_event *pkt)
{ … }
static struct vpu_cmd_t *vpu_alloc_cmd(struct vpu_inst *inst, u32 id, void *data)
{ … }
static void vpu_free_cmd(struct vpu_cmd_t *cmd)
{ … }
static int vpu_session_process_cmd(struct vpu_inst *inst, struct vpu_cmd_t *cmd)
{ … }
static void vpu_process_cmd_request(struct vpu_inst *inst)
{ … }
static int vpu_request_cmd(struct vpu_inst *inst, u32 id, void *data,
unsigned long *key, int *sync)
{ … }
static void vpu_clear_pending(struct vpu_inst *inst)
{ … }
static bool vpu_check_response(struct vpu_cmd_t *cmd, u32 response, u32 handled)
{ … }
int vpu_response_cmd(struct vpu_inst *inst, u32 response, u32 handled)
{ … }
void vpu_clear_request(struct vpu_inst *inst)
{ … }
static bool check_is_responsed(struct vpu_inst *inst, unsigned long key)
{ … }
static int sync_session_response(struct vpu_inst *inst, unsigned long key, long timeout, int try)
{ … }
static void vpu_core_keep_active(struct vpu_core *core)
{ … }
static int vpu_session_send_cmd(struct vpu_inst *inst, u32 id, void *data)
{ … }
int vpu_session_configure_codec(struct vpu_inst *inst)
{ … }
int vpu_session_start(struct vpu_inst *inst)
{ … }
int vpu_session_stop(struct vpu_inst *inst)
{ … }
int vpu_session_encode_frame(struct vpu_inst *inst, s64 timestamp)
{ … }
int vpu_session_alloc_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
{ … }
int vpu_session_release_fs(struct vpu_inst *inst, struct vpu_fs_info *fs)
{ … }
int vpu_session_abort(struct vpu_inst *inst)
{ … }
int vpu_session_rst_buf(struct vpu_inst *inst)
{ … }
int vpu_session_fill_timestamp(struct vpu_inst *inst, struct vpu_ts_info *info)
{ … }
int vpu_session_update_parameters(struct vpu_inst *inst, void *arg)
{ … }
int vpu_session_debug(struct vpu_inst *inst)
{ … }
int vpu_core_snapshot(struct vpu_core *core)
{ … }
int vpu_core_sw_reset(struct vpu_core *core)
{ … }