#include <linux/device.h>
#include <linux/firmware.h>
#include <linux/kernel.h>
#include <linux/iommu.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_reserved_mem.h>
#include <linux/platform_device.h>
#include <linux/of_device.h>
#include <linux/firmware/qcom/qcom_scm.h>
#include <linux/sizes.h>
#include <linux/soc/qcom/mdt_loader.h>
#include "core.h"
#include "firmware.h"
#include "hfi_venus_io.h"
#define VENUS_PAS_ID …
#define VENUS_FW_MEM_SIZE …
#define VENUS_FW_START_ADDR …
static void venus_reset_cpu(struct venus_core *core)
{ … }
int venus_set_hw_state(struct venus_core *core, bool resume)
{ … }
static int venus_load_fw(struct venus_core *core, const char *fwname,
phys_addr_t *mem_phys, size_t *mem_size)
{ … }
static int venus_boot_no_tz(struct venus_core *core, phys_addr_t mem_phys,
size_t mem_size)
{ … }
static int venus_shutdown_no_tz(struct venus_core *core)
{ … }
int venus_boot(struct venus_core *core)
{ … }
int venus_shutdown(struct venus_core *core)
{ … }
int venus_firmware_init(struct venus_core *core)
{ … }
void venus_firmware_deinit(struct venus_core *core)
{ … }