#include <linux/firmware.h>
#include <drm/drm_drv.h>
#include "amdgpu.h"
#include "amdgpu_ucode.h"
#include "amdgpu_vpe.h"
#include "vpe_v6_1.h"
#include "soc15_common.h"
#include "ivsrcid/vpe/irqsrcs_vpe_6_1.h"
#include "vpe/vpe_6_1_0_offset.h"
#include "vpe/vpe_6_1_0_sh_mask.h"
MODULE_FIRMWARE(…) …;
MODULE_FIRMWARE(…) …;
MODULE_FIRMWARE(…) …;
#define VPE_THREAD1_UCODE_OFFSET …
#define regVPEC_COLLABORATE_CNTL …
#define regVPEC_COLLABORATE_CNTL_BASE_IDX …
#define VPEC_COLLABORATE_CNTL__COLLABORATE_MODE_EN__SHIFT …
#define VPEC_COLLABORATE_CNTL__COLLABORATE_MODE_EN_MASK …
#define regVPEC_COLLABORATE_CFG …
#define regVPEC_COLLABORATE_CFG_BASE_IDX …
#define VPEC_COLLABORATE_CFG__MASTER_ID__SHIFT …
#define VPEC_COLLABORATE_CFG__MASTER_EN__SHIFT …
#define VPEC_COLLABORATE_CFG__SLAVE0_ID__SHIFT …
#define VPEC_COLLABORATE_CFG__SLAVE0_EN__SHIFT …
#define VPEC_COLLABORATE_CFG__MASTER_ID_MASK …
#define VPEC_COLLABORATE_CFG__MASTER_EN_MASK …
#define VPEC_COLLABORATE_CFG__SLAVE0_ID_MASK …
#define VPEC_COLLABORATE_CFG__SLAVE0_EN_MASK …
#define regVPEC_CNTL_6_1_1 …
#define regVPEC_CNTL_6_1_1_BASE_IDX …
#define regVPEC_QUEUE_RESET_REQ_6_1_1 …
#define regVPEC_QUEUE_RESET_REQ_6_1_1_BASE_IDX …
#define regVPEC_PUB_DUMMY2_6_1_1 …
#define regVPEC_PUB_DUMMY2_6_1_1_BASE_IDX …
static uint32_t vpe_v6_1_get_reg_offset(struct amdgpu_vpe *vpe, uint32_t inst, uint32_t offset)
{ … }
static void vpe_v6_1_halt(struct amdgpu_vpe *vpe, bool halt)
{ … }
static int vpe_v6_1_irq_init(struct amdgpu_vpe *vpe)
{ … }
static void vpe_v6_1_set_collaborate_mode(struct amdgpu_vpe *vpe, bool enable)
{ … }
static int vpe_v6_1_load_microcode(struct amdgpu_vpe *vpe)
{ … }
static int vpe_v6_1_ring_start(struct amdgpu_vpe *vpe)
{ … }
static int vpe_v_6_1_ring_stop(struct amdgpu_vpe *vpe)
{ … }
static int vpe_v6_1_set_trap_irq_state(struct amdgpu_device *adev,
struct amdgpu_irq_src *source,
unsigned int type,
enum amdgpu_interrupt_state state)
{ … }
static int vpe_v6_1_process_trap_irq(struct amdgpu_device *adev,
struct amdgpu_irq_src *source,
struct amdgpu_iv_entry *entry)
{ … }
static int vpe_v6_1_set_regs(struct amdgpu_vpe *vpe)
{ … }
static const struct vpe_funcs vpe_v6_1_funcs = …;
static const struct amdgpu_irq_src_funcs vpe_v6_1_trap_irq_funcs = …;
void vpe_v6_1_set_funcs(struct amdgpu_vpe *vpe)
{ … }