Symbol: vpu_dev
drivers/media/platform/amphion/vpu.h
166
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu.h
232
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu.h
314
void vpu_writel(struct vpu_dev *vpu, u32 reg, u32 val);
drivers/media/platform/amphion/vpu.h
315
u32 vpu_readl(struct vpu_dev *vpu, u32 reg);
drivers/media/platform/amphion/vpu.h
34
struct vpu_dev;
drivers/media/platform/amphion/vpu.h
342
int vpu_add_func(struct vpu_dev *vpu, struct vpu_func *func);
drivers/media/platform/amphion/vpu.h
347
struct vpu_core *vpu_request_core(struct vpu_dev *vpu, enum vpu_core_type type);
drivers/media/platform/amphion/vpu.h
38
int (*setup)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
39
int (*setup_encoder)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
40
int (*setup_decoder)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
41
int (*reset)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
73
void (*get_vpu)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
74
void (*put_vpu)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
75
void (*get_enc)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
76
void (*put_enc)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
77
void (*get_dec)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu.h
78
void (*put_dec)(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu_core.c
198
static struct vpu_core *vpu_core_find_proper_by_type(struct vpu_dev *vpu, u32 type)
drivers/media/platform/amphion/vpu_core.c
228
static bool vpu_core_is_exist(struct vpu_dev *vpu, struct vpu_core *core)
drivers/media/platform/amphion/vpu_core.c
251
struct vpu_dev *vpu = dev_get_drvdata(dev);
drivers/media/platform/amphion/vpu_core.c
362
struct vpu_core *vpu_request_core(struct vpu_dev *vpu, enum vpu_core_type type)
drivers/media/platform/amphion/vpu_core.c
412
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu_core.c
517
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu_core.c
595
struct vpu_dev *vpu = dev_get_drvdata(dev->parent);
drivers/media/platform/amphion/vpu_dbg.c
436
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu_dbg.c
472
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu_drv.c
162
struct vpu_dev *vpu = platform_get_drvdata(pdev);
drivers/media/platform/amphion/vpu_drv.c
32
void vpu_writel(struct vpu_dev *vpu, u32 reg, u32 val)
drivers/media/platform/amphion/vpu_drv.c
37
u32 vpu_readl(struct vpu_dev *vpu, u32 reg)
drivers/media/platform/amphion/vpu_drv.c
42
static void vpu_dev_get(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
48
static void vpu_dev_put(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
53
static void vpu_enc_get(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
59
static void vpu_enc_put(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
64
static void vpu_dec_get(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
70
static void vpu_dec_put(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
75
static int vpu_init_media_device(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_drv.c
89
struct vpu_dev *vpu;
drivers/media/platform/amphion/vpu_imx8q.c
42
int vpu_imx8q_setup_dec(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.c
52
int vpu_imx8q_setup_enc(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.c
57
int vpu_imx8q_setup(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.c
75
static int vpu_imx8q_reset_enc(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.c
80
static int vpu_imx8q_reset_dec(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.c
89
int vpu_imx8q_reset(struct vpu_dev *vpu)
drivers/media/platform/amphion/vpu_imx8q.h
103
int vpu_imx8q_setup_dec(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu_imx8q.h
104
int vpu_imx8q_setup_enc(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu_imx8q.h
105
int vpu_imx8q_setup(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu_imx8q.h
106
int vpu_imx8q_reset(struct vpu_dev *vpu);
drivers/media/platform/amphion/vpu_rpc.c
225
static struct vpu_iface_ops *vpu_get_iface(struct vpu_dev *vpu, enum vpu_core_type type)
drivers/media/platform/amphion/vpu_v4l2.c
722
struct vpu_dev *vpu = video_drvdata(file);
drivers/media/platform/amphion/vpu_v4l2.c
789
struct vpu_dev *vpu = video_drvdata(file);
drivers/media/platform/amphion/vpu_v4l2.c
811
int vpu_add_func(struct vpu_dev *vpu, struct vpu_func *func)
drivers/media/platform/chips-media/wave5/wave5-hw.c
101
reg_val = vpu_read_reg(vpu_dev, W5_RET_QUEUE_FAIL_REASON);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1012
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1019
ret = wave5_send_query(vpu_dev, inst, GET_RESULT);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1093
vpu_dev->last_performance_cycles = result->dec_decode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1097
(result->dec_decode_end_tick - vpu_dev->last_performance_cycles) *
drivers/media/platform/chips-media/wave5/wave5-hw.c
1099
vpu_dev->last_performance_cycles = result->dec_decode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1100
if (vpu_dev->last_performance_cycles < result->dec_host_cmd_tick)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1120
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1122
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1126
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1139
old_code_base = vpu_read_reg(vpu_dev, W5_VPU_REMAP_PADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1144
ret = wave5_vdi_write_memory(vpu_dev, common_vb, 0, fw, size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1146
dev_err(vpu_dev->dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1151
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1155
dev_err(vpu_dev->dev, "VPU init, Resetting the VPU, fail: %d\n", ret);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1159
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1160
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1162
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1163
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1164
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1165
vpu_write_reg(vpu_dev, W5_ADDR_TEMP_BASE, temp_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1166
vpu_write_reg(vpu_dev, W5_TEMP_SIZE, temp_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1169
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1171
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1172
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1173
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1174
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1177
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1187
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1190
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1194
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1196
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1202
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1207
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1208
vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1209
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1210
vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1213
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1214
vpu_write_reg(vpu_dev, W5_COMMAND, W5_INIT_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1215
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1217
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1219
dev_err(vpu_dev->dev, "VPU reinit(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
1223
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1238
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1242
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1251
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1252
vpu_write_reg(vpu_dev, W5_COMMAND, W5_SLEEP_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1254
vpu_write_reg(vpu_dev, W5_VPU_HOST_INT_REQ, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1256
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1260
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1264
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1268
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1284
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1286
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1287
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1289
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1290
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1291
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1294
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1296
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1297
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1298
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1299
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1302
setup_wave5_interrupts(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1304
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
131
static int wave5_wait_fio_readl(struct vpu_device *vpu_dev, u32 addr, u32 val)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1314
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1317
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1321
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1323
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1329
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1334
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1335
vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1336
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1337
vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1340
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1341
vpu_write_reg(vpu_dev, W5_COMMAND, W5_WAKEUP_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1343
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1345
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1347
dev_err(vpu_dev->dev, "VPU wakeup(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
1351
return wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1361
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1362
struct vpu_attr *p_attr = &vpu_dev->attr;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1364
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
137
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_CTRL_ADDR, ctrl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1372
val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1387
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0xFF);
drivers/media/platform/chips-media/wave5/wave5-hw.c
139
0, FIO_TIMEOUT, false, vpu_dev, W5_VPU_FIO_CTRL_ADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1390
ret = wave5_wait_vcpu_bus_busy(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1393
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1398
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x7);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1401
if (wave5_wait_bus_busy(vpu_dev, W5_BACKBONE_BUS_STATUS_VCORE0)) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1402
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1407
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x7);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1410
if (wave5_wait_bus_busy(vpu_dev, W5_COMBINED_BACKBONE_BUS_STATUS)) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1411
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1418
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x100);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1421
ret = wave5_wait_bus_busy(vpu_dev, W5_GDI_BUS_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1423
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
143
if (wave5_vdi_read_register(vpu_dev, W5_VPU_FIO_DATA) != val)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1439
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1441
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_RESET_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1443
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1446
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1452
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1453
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1455
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1458
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
149
static void wave5_fio_writel(struct vpu_device *vpu_dev, unsigned int addr, unsigned int data)
drivers/media/platform/chips-media/wave5/wave5-hw.c
154
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_DATA, data);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1556
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1561
if (vpu_dev->sram_buf.size) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1567
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
157
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_CTRL_ADDR, ctrl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1573
wave5_vdi_clear_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1578
vpu_write_reg(inst->dev, W5_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1579
vpu_write_reg(inst->dev, W5_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
159
FIO_TIMEOUT, false, vpu_dev, W5_VPU_FIO_CTRL_ADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1608
if (wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_work))
drivers/media/platform/chips-media/wave5/wave5-hw.c
161
dev_dbg_ratelimited(vpu_dev->dev, "FIO write timeout: addr=0x%x data=%x\n",
drivers/media/platform/chips-media/wave5/wave5-hw.c
165
static int wave5_wait_bus_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
169
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
171
if (vpu_dev->product_code == WAVE521C_CODE ||
drivers/media/platform/chips-media/wave5/wave5-hw.c
172
vpu_dev->product_code == WAVE521_CODE ||
drivers/media/platform/chips-media/wave5/wave5-hw.c
173
vpu_dev->product_code == WAVE521E1_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
176
return wave5_wait_fio_readl(vpu_dev, addr, gdi_status_check_value);
drivers/media/platform/chips-media/wave5/wave5-hw.c
179
static int wave5_wait_vpu_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
184
0, VPU_BUSY_CHECK_TIMEOUT, false, vpu_dev, addr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
187
static int wave5_wait_vcpu_bus_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
189
return wave5_wait_fio_readl(vpu_dev, addr, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
192
bool wave5_vpu_is_init(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1936
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
194
return vpu_read_reg(vpu_dev, W5_VCPU_CUR_PC) != 0;
drivers/media/platform/chips-media/wave5/wave5-hw.c
197
unsigned int wave5_vpu_get_product_id(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
199
u32 val = vpu_read_reg(vpu_dev, W5_PRODUCT_NUMBER);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2007
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_mv);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2018
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2026
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2038
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2048
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_task);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2114
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, NULL);
drivers/media/platform/chips-media/wave5/wave5-hw.c
212
dev_err(vpu_dev->dev, "Unsupported product id (%x)\n", val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2121
wave5_vdi_free_dma_memory(vpu_dev, &vb_task);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2123
wave5_vdi_free_dma_memory(vpu_dev, &vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2125
wave5_vdi_free_dma_memory(vpu_dev, &vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2127
wave5_vdi_free_dma_memory(vpu_dev, &vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2129
wave5_vdi_free_dma_memory(vpu_dev, &vb_mv);
drivers/media/platform/chips-media/wave5/wave5-hw.c
215
dev_err(vpu_dev->dev, "Invalid product id (%x)\n", val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
222
static void wave5_bit_issue_command(struct vpu_device *vpu_dev, struct vpu_instance *inst, u32 cmd)
drivers/media/platform/chips-media/wave5/wave5-hw.c
231
vpu_write_reg(vpu_dev, W5_CMD_INSTANCE_INFO, (codec_mode << 16) |
drivers/media/platform/chips-media/wave5/wave5-hw.c
233
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2341
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
236
vpu_write_reg(vpu_dev, W5_COMMAND, cmd);
drivers/media/platform/chips-media/wave5/wave5-hw.c
239
dev_dbg(vpu_dev->dev, "%s: cmd=0x%x (%s)\n", __func__, cmd,
drivers/media/platform/chips-media/wave5/wave5-hw.c
2397
(result->enc_encode_end_tick - vpu_dev->last_performance_cycles) *
drivers/media/platform/chips-media/wave5/wave5-hw.c
2399
if (vpu_dev->last_performance_cycles < result->enc_host_cmd_tick)
drivers/media/platform/chips-media/wave5/wave5-hw.c
2403
vpu_dev->last_performance_cycles = result->enc_encode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
2418
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
2419
struct device *dev = vpu_dev->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
242
dev_dbg(vpu_dev->dev, "%s: cmd=0x%x\n", __func__, cmd);
drivers/media/platform/chips-media/wave5/wave5-hw.c
245
vpu_write_reg(vpu_dev, W5_VPU_HOST_INT_REQ, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2539
static bool wave5_vpu_enc_check_param_valid(struct vpu_device *vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
2547
dev_err(vpu_dev->dev, "Configuration failed because min_qp is greater than max_qp\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
2548
dev_err(vpu_dev->dev, "Suggested configuration parameters: min_qp = max_qp\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
2553
dev_err(vpu_dev->dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
299
static int wave5_send_query(struct vpu_device *vpu_dev, struct vpu_instance *inst,
drivers/media/platform/chips-media/wave5/wave5-hw.c
304
vpu_write_reg(vpu_dev, W5_QUERY_OPTION, query_opt);
drivers/media/platform/chips-media/wave5/wave5-hw.c
305
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
306
wave5_bit_issue_command(vpu_dev, inst, W5_QUERY);
drivers/media/platform/chips-media/wave5/wave5-hw.c
308
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
310
dev_warn(vpu_dev->dev, "command: 'W5_QUERY', timed out opt=0x%x\n", query_opt);
drivers/media/platform/chips-media/wave5/wave5-hw.c
314
return wave5_vpu_firmware_command_queue_error_check(vpu_dev, NULL);
drivers/media/platform/chips-media/wave5/wave5-hw.c
317
static void setup_wave5_interrupts(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
321
if (vpu_dev->attr.support_encoders) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
328
if (vpu_dev->attr.support_decoders) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
335
return vpu_write_reg(vpu_dev, W5_VPU_VINT_ENABLE, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
340
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
341
struct vpu_attr *p_attr = &vpu_dev->attr;
drivers/media/platform/chips-media/wave5/wave5-hw.c
347
ret = wave5_send_query(vpu_dev, NULL, GET_VPU_INFO);
drivers/media/platform/chips-media/wave5/wave5-hw.c
351
reg_val = vpu_read_reg(vpu_dev, W5_RET_PRODUCT_NAME);
drivers/media/platform/chips-media/wave5/wave5-hw.c
359
p_attr->product_id = wave5_vpu_get_product_id(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
360
p_attr->product_version = vpu_read_reg(vpu_dev, W5_RET_PRODUCT_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
361
p_attr->fw_version = vpu_read_reg(vpu_dev, W5_RET_FW_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
362
p_attr->customer_id = vpu_read_reg(vpu_dev, W5_RET_CUSTOMER_ID);
drivers/media/platform/chips-media/wave5/wave5-hw.c
363
hw_config_def0 = vpu_read_reg(vpu_dev, W5_RET_STD_DEF0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
364
hw_config_def1 = vpu_read_reg(vpu_dev, W5_RET_STD_DEF1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
365
hw_config_feature = vpu_read_reg(vpu_dev, W5_RET_CONF_FEATURE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
367
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
395
setup_wave5_interrupts(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
400
int wave5_vpu_get_version(struct vpu_device *vpu_dev, u32 *revision)
drivers/media/platform/chips-media/wave5/wave5-hw.c
405
ret = wave5_send_query(vpu_dev, NULL, GET_VPU_INFO);
drivers/media/platform/chips-media/wave5/wave5-hw.c
409
reg_val = vpu_read_reg(vpu_dev, W5_RET_FW_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
418
static void remap_page(struct vpu_device *vpu_dev, dma_addr_t code_base, u32 index)
drivers/media/platform/chips-media/wave5/wave5-hw.c
420
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CTRL, REMAP_CTRL_REGISTER_VALUE(index));
drivers/media/platform/chips-media/wave5/wave5-hw.c
421
vpu_write_reg(vpu_dev, W5_VPU_REMAP_VADDR, index * W5_REMAP_MAX_SIZE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
422
vpu_write_reg(vpu_dev, W5_VPU_REMAP_PADDR, code_base + index * W5_REMAP_MAX_SIZE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
432
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
434
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
438
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
451
ret = wave5_vdi_write_memory(vpu_dev, common_vb, 0, fw, size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
453
dev_err(vpu_dev->dev, "VPU init, Writing firmware to common buffer, fail: %d\n",
drivers/media/platform/chips-media/wave5/wave5-hw.c
458
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
463
vpu_write_reg(vpu_dev, i, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
465
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
466
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
468
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
469
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
470
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
471
vpu_write_reg(vpu_dev, W5_ADDR_TEMP_BASE, temp_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
472
vpu_write_reg(vpu_dev, W5_TEMP_SIZE, temp_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
475
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
477
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
478
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
479
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
480
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
483
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
493
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
496
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
499
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF, WAVE515_COMMAND_QUEUE_DEPTH);
drivers/media/platform/chips-media/wave5/wave5-hw.c
500
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE, WAVE515_ONE_TASKBUF_SIZE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
505
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
510
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
511
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
514
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
515
vpu_write_reg(vpu_dev, W5_COMMAND, W5_INIT_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
516
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
517
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
519
dev_err(vpu_dev->dev, "VPU init(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
523
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
53
static void _wave5_print_reg_err(struct vpu_device *vpu_dev, u32 reg_fail_reason,
drivers/media/platform/chips-media/wave5/wave5-hw.c
535
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
538
if (vpu_dev->sram_buf.size) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
554
if (vpu_dev->product == PRODUCT_ID_515)
drivers/media/platform/chips-media/wave5/wave5-hw.c
572
vpu_write_reg(inst->dev, W5_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
573
vpu_write_reg(inst->dev, W5_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
591
wave5_vdi_free_dma_memory(vpu_dev, &p_dec_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
93
static void _wave5_print_reg_err(struct vpu_device *vpu_dev, u32 reg_fail_reason,
drivers/media/platform/chips-media/wave5/wave5-hw.c
96
struct device *dev = vpu_dev->dev;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
103
dev_err(vpu_dev->dev, "%s: unable to write to unmapped buffer\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
108
dev_err(vpu_dev->dev, "%s: buffer too small\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
117
int wave5_vdi_allocate_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
123
dev_err(vpu_dev->dev, "%s: requested size==0\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
127
vaddr = dma_alloc_coherent(vpu_dev->dev, vb->size, &daddr, GFP_KERNEL);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
136
int wave5_vdi_free_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
142
dev_err(vpu_dev->dev, "%s: requested free of unmapped buffer\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
144
dma_free_coherent(vpu_dev->dev, vb->size, vb->vaddr, vb->daddr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
151
int wave5_vdi_allocate_array(struct vpu_device *vpu_dev, struct vpu_buf *array, unsigned int count,
drivers/media/platform/chips-media/wave5/wave5-vdi.c
16
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
164
wave5_vdi_free_dma_memory(vpu_dev, &array[i]);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
166
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_buf);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
173
wave5_vdi_free_dma_memory(vpu_dev, &array[i]);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
178
void wave5_vdi_allocate_sram(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
18
if (!vpu_dev->common_mem.vaddr) {
drivers/media/platform/chips-media/wave5/wave5-vdi.c
180
struct vpu_buf *vb = &vpu_dev->sram_buf;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
185
if (!vpu_dev->sram_pool || vb->vaddr)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
188
size = min_t(size_t, vpu_dev->sram_size, gen_pool_avail(vpu_dev->sram_pool));
drivers/media/platform/chips-media/wave5/wave5-vdi.c
189
vaddr = gen_pool_dma_alloc(vpu_dev->sram_pool, size, &daddr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
196
dev_dbg(vpu_dev->dev, "%s: sram daddr: %pad, size: %zu, vaddr: 0x%p\n",
drivers/media/platform/chips-media/wave5/wave5-vdi.c
200
void wave5_vdi_free_sram(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
202
struct vpu_buf *vb = &vpu_dev->sram_buf;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
207
gen_pool_free(vpu_dev->sram_pool, (unsigned long)vb->vaddr, vb->size);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
21
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
22
vpu_dev->common_mem.size = WAVE515_SIZE_COMMON;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
24
vpu_dev->common_mem.size = WAVE521_SIZE_COMMON;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
26
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vpu_dev->common_mem);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
34
&vpu_dev->common_mem.daddr, vpu_dev->common_mem.size, vpu_dev->common_mem.vaddr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
41
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
50
if (!PRODUCT_CODE_W_SERIES(vpu_dev->product_code)) {
drivers/media/platform/chips-media/wave5/wave5-vdi.c
51
WARN_ONCE(1, "unsupported product code: 0x%x\n", vpu_dev->product_code);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
56
if (wave5_vdi_read_register(vpu_dev, W5_VCPU_CUR_PC) == 0) {
drivers/media/platform/chips-media/wave5/wave5-vdi.c
60
wave5_vdi_write_register(vpu_dev, (i * 4) + 0x100, 0x0);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
70
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
72
vpu_dev->vdb_register = NULL;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
73
wave5_vdi_free_dma_memory(vpu_dev, &vpu_dev->common_mem);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
78
void wave5_vdi_write_register(struct vpu_device *vpu_dev, u32 addr, u32 data)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
80
writel(data, vpu_dev->vdb_register + addr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
83
unsigned int wave5_vdi_read_register(struct vpu_device *vpu_dev, u32 addr)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
85
return readl(vpu_dev->vdb_register + addr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
88
int wave5_vdi_clear_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
91
dev_err(vpu_dev->dev, "%s: unable to clear unmapped buffer\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
99
int wave5_vdi_write_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb, size_t offset,
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
1004
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
104
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
106
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
110
if (!wave5_vpu_is_init(vpu_dev)) {
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
116
*product_id = vpu_dev->product;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
117
ret = wave5_vpu_get_version(vpu_dev, revision);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
120
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
153
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
161
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
165
if (!wave5_vpu_is_init(vpu_dev)) {
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
166
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
186
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
21
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
214
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
225
ret_mutex = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
23
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
251
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
253
ret_mutex = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
262
wave5_vdi_free_dma_memory(vpu_dev, &p_dec_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
27
if (wave5_vpu_is_init(vpu_dev)) {
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
272
wave5_vdi_free_dma_memory(vpu_dev, &p_dec_info->vb_task);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
277
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
285
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
287
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
293
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
302
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
304
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
317
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
327
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
345
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
359
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
371
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
376
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
380
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
40
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
407
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
435
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
439
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
448
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
453
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
459
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
468
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
470
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
480
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
510
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
518
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
579
p_dec_info->frame_display_flag = vpu_read_reg(vpu_dev, W5_RET_DEC_DISP_IDC);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
608
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
617
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
622
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
626
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
635
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
640
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
644
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
711
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
717
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
721
if (!wave5_vpu_is_init(vpu_dev)) {
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
722
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
729
ret = wave5_vpu_build_up_enc_param(vpu_dev->dev, inst, open_param);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
730
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
740
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
748
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
759
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
766
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
773
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
776
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
777
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_mv);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
778
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
779
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
782
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_task);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
783
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
795
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
814
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
842
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
871
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
882
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
890
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
899
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
901
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
915
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
968
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
970
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
976
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
985
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
990
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
997
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
845
void wave5_vdi_write_register(struct vpu_device *vpu_dev, u32 addr, u32 data);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
846
u32 wave5_vdi_read_register(struct vpu_device *vpu_dev, u32 addr);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
847
int wave5_vdi_clear_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
848
int wave5_vdi_allocate_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
849
int wave5_vdi_allocate_array(struct vpu_device *vpu_dev, struct vpu_buf *array, unsigned int count,
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
851
int wave5_vdi_write_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb, size_t offset,
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
853
int wave5_vdi_free_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
854
void wave5_vdi_allocate_sram(struct vpu_device *vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
855
void wave5_vdi_free_sram(struct vpu_device *vpu_dev);
drivers/media/platform/chips-media/wave5/wave5.h
57
bool wave5_vpu_is_init(struct vpu_device *vpu_dev);
drivers/media/platform/chips-media/wave5/wave5.h
59
unsigned int wave5_vpu_get_product_id(struct vpu_device *vpu_dev);
drivers/media/platform/chips-media/wave5/wave5.h
61
int wave5_vpu_get_version(struct vpu_device *vpu_dev, u32 *revision);
drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
196
mdp->vpu_dev = vpu_get_plat_device(pdev);
drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
197
if (!mdp->vpu_dev) {
drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
203
ret = vpu_wdt_reg_handler(mdp->vpu_dev, mtk_mdp_reset_handler, mdp,
drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
224
platform_device_put(mdp->vpu_dev);
drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
257
platform_device_put(mdp->vpu_dev);
drivers/media/platform/mediatek/mdp/mtk_mdp_core.h
163
struct platform_device *vpu_dev;
drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c
1090
ret = vpu_load_firmware(mdp->vpu_dev);
drivers/media/platform/mediatek/mdp/mtk_mdp_vpu.c
118
vpu->pdev = ctx->mdp_dev->vpu_dev;
drivers/media/platform/mediatek/mdp/mtk_mdp_vpu.c
66
err = vpu_ipi_register(mdp->vpu_dev, IPI_MDP,