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
719
struct vpu_dev *vpu = video_drvdata(file);
drivers/media/platform/amphion/vpu_v4l2.c
786
struct vpu_dev *vpu = video_drvdata(file);
drivers/media/platform/amphion/vpu_v4l2.c
808
int vpu_add_func(struct vpu_dev *vpu, struct vpu_func *func)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1013
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
102
reg_val = vpu_read_reg(vpu_dev, W5_RET_QUEUE_FAIL_REASON);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1020
ret = wave5_send_query(vpu_dev, inst, GET_RESULT);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1094
vpu_dev->last_performance_cycles = result->dec_decode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1098
(result->dec_decode_end_tick - vpu_dev->last_performance_cycles) *
drivers/media/platform/chips-media/wave5/wave5-hw.c
1100
vpu_dev->last_performance_cycles = result->dec_decode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1101
if (vpu_dev->last_performance_cycles < result->dec_host_cmd_tick)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1121
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1123
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1127
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1140
old_code_base = vpu_read_reg(vpu_dev, W5_VPU_REMAP_PADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1145
ret = wave5_vdi_write_memory(vpu_dev, common_vb, 0, fw, size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1147
dev_err(vpu_dev->dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1152
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1156
dev_err(vpu_dev->dev, "VPU init, Resetting the VPU, fail: %d\n", ret);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1160
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1161
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1163
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1164
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1165
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1166
vpu_write_reg(vpu_dev, W5_ADDR_TEMP_BASE, temp_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1167
vpu_write_reg(vpu_dev, W5_TEMP_SIZE, temp_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1170
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1172
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1173
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1174
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1175
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1178
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1188
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1191
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1195
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1197
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1203
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1208
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1209
vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1210
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1211
vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1214
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1215
vpu_write_reg(vpu_dev, W5_COMMAND, W5_INIT_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1216
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1218
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1220
dev_err(vpu_dev->dev, "VPU reinit(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
1224
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1239
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1243
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1252
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1253
vpu_write_reg(vpu_dev, W5_COMMAND, W5_SLEEP_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1255
vpu_write_reg(vpu_dev, W5_VPU_HOST_INT_REQ, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1257
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1261
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1265
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1269
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1285
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1287
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1288
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1290
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1291
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1292
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1295
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1297
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1298
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1299
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1300
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1303
setup_wave5_interrupts(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1305
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1315
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1318
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
132
static int wave5_wait_fio_readl(struct vpu_device *vpu_dev, u32 addr, u32 val)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1322
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1324
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1330
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1335
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1336
vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1337
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1338
vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1341
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1342
vpu_write_reg(vpu_dev, W5_COMMAND, W5_WAKEUP_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1344
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1346
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1348
dev_err(vpu_dev->dev, "VPU wakeup(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
1352
return wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1362
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1363
struct vpu_attr *p_attr = &vpu_dev->attr;
drivers/media/platform/chips-media/wave5/wave5-hw.c
1365
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1373
val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
138
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_CTRL_ADDR, ctrl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1388
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0xFF);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1391
ret = wave5_wait_vcpu_bus_busy(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
1394
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1399
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x7);
drivers/media/platform/chips-media/wave5/wave5-hw.c
140
0, FIO_TIMEOUT, false, vpu_dev, W5_VPU_FIO_CTRL_ADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1402
if (wave5_wait_bus_busy(vpu_dev, W5_BACKBONE_BUS_STATUS_VCORE0)) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1403
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1408
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x7);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1411
if (wave5_wait_bus_busy(vpu_dev, W5_COMBINED_BACKBONE_BUS_STATUS)) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1412
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1419
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x100);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1422
ret = wave5_wait_bus_busy(vpu_dev, W5_GDI_BUS_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1424
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
144
if (wave5_vdi_read_register(vpu_dev, W5_VPU_FIO_DATA) != val)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1440
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1442
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_RESET_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1444
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1447
vpu_write_reg(vpu_dev, W5_VPU_RESET_REQ, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1453
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCPU, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1454
wave5_fio_writel(vpu_dev, W5_BACKBONE_BUS_CTRL_VCORE0, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1456
wave5_fio_writel(vpu_dev, W5_COMBINED_BACKBONE_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1459
wave5_fio_writel(vpu_dev, W5_GDI_BUS_CTRL, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
150
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
155
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_DATA, data);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1557
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1562
if (vpu_dev->sram_buf.size) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
1568
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1574
wave5_vdi_clear_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1579
vpu_write_reg(inst->dev, W5_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
158
wave5_vdi_write_register(vpu_dev, W5_VPU_FIO_CTRL_ADDR, ctrl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1580
vpu_write_reg(inst->dev, W5_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
160
FIO_TIMEOUT, false, vpu_dev, W5_VPU_FIO_CTRL_ADDR);
drivers/media/platform/chips-media/wave5/wave5-hw.c
1609
if (wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_work))
drivers/media/platform/chips-media/wave5/wave5-hw.c
162
dev_dbg_ratelimited(vpu_dev->dev, "FIO write timeout: addr=0x%x data=%x\n",
drivers/media/platform/chips-media/wave5/wave5-hw.c
166
static int wave5_wait_bus_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
170
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
172
if (vpu_dev->product_code == WAVE521C_CODE ||
drivers/media/platform/chips-media/wave5/wave5-hw.c
173
vpu_dev->product_code == WAVE521_CODE ||
drivers/media/platform/chips-media/wave5/wave5-hw.c
174
vpu_dev->product_code == WAVE521E1_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
177
return wave5_wait_fio_readl(vpu_dev, addr, gdi_status_check_value);
drivers/media/platform/chips-media/wave5/wave5-hw.c
180
static int wave5_wait_vpu_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
185
0, VPU_BUSY_CHECK_TIMEOUT, false, vpu_dev, addr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
188
static int wave5_wait_vcpu_bus_busy(struct vpu_device *vpu_dev, unsigned int addr)
drivers/media/platform/chips-media/wave5/wave5-hw.c
190
return wave5_wait_fio_readl(vpu_dev, addr, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
193
bool wave5_vpu_is_init(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
1941
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
195
return vpu_read_reg(vpu_dev, W5_VCPU_CUR_PC) != 0;
drivers/media/platform/chips-media/wave5/wave5-hw.c
198
unsigned int wave5_vpu_get_product_id(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
200
u32 val = vpu_read_reg(vpu_dev, W5_PRODUCT_NUMBER);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2012
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_mv);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2023
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2031
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2043
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2053
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_task);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2119
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, NULL);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2126
wave5_vdi_free_dma_memory(vpu_dev, &vb_task);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2128
wave5_vdi_free_dma_memory(vpu_dev, &vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-hw.c
213
dev_err(vpu_dev->dev, "Unsupported product id (%x)\n", val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2130
wave5_vdi_free_dma_memory(vpu_dev, &vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2132
wave5_vdi_free_dma_memory(vpu_dev, &vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2134
wave5_vdi_free_dma_memory(vpu_dev, &vb_mv);
drivers/media/platform/chips-media/wave5/wave5-hw.c
216
dev_err(vpu_dev->dev, "Invalid product id (%x)\n", val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
223
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
232
vpu_write_reg(vpu_dev, W5_CMD_INSTANCE_INFO, (codec_mode << 16) |
drivers/media/platform/chips-media/wave5/wave5-hw.c
234
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2346
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
237
vpu_write_reg(vpu_dev, W5_COMMAND, cmd);
drivers/media/platform/chips-media/wave5/wave5-hw.c
240
dev_dbg(vpu_dev->dev, "%s: cmd=0x%x (%s)\n", __func__, cmd,
drivers/media/platform/chips-media/wave5/wave5-hw.c
2402
(result->enc_encode_end_tick - vpu_dev->last_performance_cycles) *
drivers/media/platform/chips-media/wave5/wave5-hw.c
2404
if (vpu_dev->last_performance_cycles < result->enc_host_cmd_tick)
drivers/media/platform/chips-media/wave5/wave5-hw.c
2408
vpu_dev->last_performance_cycles = result->enc_encode_end_tick;
drivers/media/platform/chips-media/wave5/wave5-hw.c
2423
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
2424
struct device *dev = vpu_dev->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
243
dev_dbg(vpu_dev->dev, "%s: cmd=0x%x\n", __func__, cmd);
drivers/media/platform/chips-media/wave5/wave5-hw.c
246
vpu_write_reg(vpu_dev, W5_VPU_HOST_INT_REQ, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
2544
static bool wave5_vpu_enc_check_param_valid(struct vpu_device *vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
2552
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
2553
dev_err(vpu_dev->dev, "Suggested configuration parameters: min_qp = max_qp\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
2558
dev_err(vpu_dev->dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
300
static int wave5_send_query(struct vpu_device *vpu_dev, struct vpu_instance *inst,
drivers/media/platform/chips-media/wave5/wave5-hw.c
305
vpu_write_reg(vpu_dev, W5_QUERY_OPTION, query_opt);
drivers/media/platform/chips-media/wave5/wave5-hw.c
306
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
307
wave5_bit_issue_command(vpu_dev, inst, W5_QUERY);
drivers/media/platform/chips-media/wave5/wave5-hw.c
309
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
311
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
315
return wave5_vpu_firmware_command_queue_error_check(vpu_dev, NULL);
drivers/media/platform/chips-media/wave5/wave5-hw.c
318
static void setup_wave5_interrupts(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-hw.c
322
if (vpu_dev->attr.support_encoders) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
329
if (vpu_dev->attr.support_decoders) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
336
return vpu_write_reg(vpu_dev, W5_VPU_VINT_ENABLE, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
341
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
342
struct vpu_attr *p_attr = &vpu_dev->attr;
drivers/media/platform/chips-media/wave5/wave5-hw.c
348
ret = wave5_send_query(vpu_dev, NULL, GET_VPU_INFO);
drivers/media/platform/chips-media/wave5/wave5-hw.c
352
reg_val = vpu_read_reg(vpu_dev, W5_RET_PRODUCT_NAME);
drivers/media/platform/chips-media/wave5/wave5-hw.c
360
p_attr->product_id = wave5_vpu_get_product_id(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
361
p_attr->product_version = vpu_read_reg(vpu_dev, W5_RET_PRODUCT_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
362
p_attr->fw_version = vpu_read_reg(vpu_dev, W5_RET_FW_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
363
p_attr->customer_id = vpu_read_reg(vpu_dev, W5_RET_CUSTOMER_ID);
drivers/media/platform/chips-media/wave5/wave5-hw.c
364
hw_config_def0 = vpu_read_reg(vpu_dev, W5_RET_STD_DEF0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
365
hw_config_def1 = vpu_read_reg(vpu_dev, W5_RET_STD_DEF1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
366
hw_config_feature = vpu_read_reg(vpu_dev, W5_RET_CONF_FEATURE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
368
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
396
setup_wave5_interrupts(vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
401
int wave5_vpu_get_version(struct vpu_device *vpu_dev, u32 *revision)
drivers/media/platform/chips-media/wave5/wave5-hw.c
406
ret = wave5_send_query(vpu_dev, NULL, GET_VPU_INFO);
drivers/media/platform/chips-media/wave5/wave5-hw.c
410
reg_val = vpu_read_reg(vpu_dev, W5_RET_FW_VERSION);
drivers/media/platform/chips-media/wave5/wave5-hw.c
419
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
421
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CTRL, REMAP_CTRL_REGISTER_VALUE(index));
drivers/media/platform/chips-media/wave5/wave5-hw.c
422
vpu_write_reg(vpu_dev, W5_VPU_REMAP_VADDR, index * W5_REMAP_MAX_SIZE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
423
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
433
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-hw.c
435
common_vb = &vpu_dev->common_mem;
drivers/media/platform/chips-media/wave5/wave5-hw.c
439
if (vpu_dev->product_code == WAVE515_CODE)
drivers/media/platform/chips-media/wave5/wave5-hw.c
452
ret = wave5_vdi_write_memory(vpu_dev, common_vb, 0, fw, size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
454
dev_err(vpu_dev->dev, "VPU init, Writing firmware to common buffer, fail: %d\n",
drivers/media/platform/chips-media/wave5/wave5-hw.c
459
vpu_write_reg(vpu_dev, W5_PO_CONF, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
464
vpu_write_reg(vpu_dev, i, 0x00);
drivers/media/platform/chips-media/wave5/wave5-hw.c
466
remap_page(vpu_dev, code_base, W5_REMAP_INDEX0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
467
remap_page(vpu_dev, code_base, W5_REMAP_INDEX1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
469
vpu_write_reg(vpu_dev, W5_ADDR_CODE_BASE, code_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
470
vpu_write_reg(vpu_dev, W5_CODE_SIZE, code_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
471
vpu_write_reg(vpu_dev, W5_CODE_PARAM, (WAVE5_UPPER_PROC_AXI_ID << 4) | 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
472
vpu_write_reg(vpu_dev, W5_ADDR_TEMP_BASE, temp_base);
drivers/media/platform/chips-media/wave5/wave5-hw.c
473
vpu_write_reg(vpu_dev, W5_TEMP_SIZE, temp_size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
476
vpu_write_reg(vpu_dev, W5_HW_OPTION, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
478
if (vpu_dev->product_code != WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
479
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROC_EXT_ADDR, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
480
wave5_fio_writel(vpu_dev, W5_BACKBONE_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
481
vpu_write_reg(vpu_dev, W5_SEC_AXI_PARAM, 0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
484
reg_val = vpu_read_reg(vpu_dev, W5_VPU_RET_VPU_CONFIG0);
drivers/media/platform/chips-media/wave5/wave5-hw.c
494
wave5_fio_writel(vpu_dev, W5_BACKBONE_PROG_AXI_ID, reg_val);
drivers/media/platform/chips-media/wave5/wave5-hw.c
497
if (vpu_dev->product_code == WAVE515_CODE) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
500
vpu_write_reg(vpu_dev, W5_CMD_INIT_NUM_TASK_BUF, WAVE515_COMMAND_QUEUE_DEPTH);
drivers/media/platform/chips-media/wave5/wave5-hw.c
501
vpu_write_reg(vpu_dev, W5_CMD_INIT_TASK_BUF_SIZE, WAVE515_ONE_TASKBUF_SIZE);
drivers/media/platform/chips-media/wave5/wave5-hw.c
506
vpu_write_reg(vpu_dev,
drivers/media/platform/chips-media/wave5/wave5-hw.c
511
vpu_write_reg(vpu_dev, W515_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
512
vpu_write_reg(vpu_dev, W515_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
515
vpu_write_reg(vpu_dev, W5_VPU_BUSY_STATUS, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
516
vpu_write_reg(vpu_dev, W5_COMMAND, W5_INIT_VPU);
drivers/media/platform/chips-media/wave5/wave5-hw.c
517
vpu_write_reg(vpu_dev, W5_VPU_REMAP_CORE_START, 1);
drivers/media/platform/chips-media/wave5/wave5-hw.c
518
ret = wave5_wait_vpu_busy(vpu_dev, W5_VPU_BUSY_STATUS);
drivers/media/platform/chips-media/wave5/wave5-hw.c
520
dev_err(vpu_dev->dev, "VPU init(W5_VPU_REMAP_CORE_START) timeout\n");
drivers/media/platform/chips-media/wave5/wave5-hw.c
524
ret = wave5_vpu_firmware_command_queue_error_check(vpu_dev, &reason_code);
drivers/media/platform/chips-media/wave5/wave5-hw.c
536
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-hw.c
539
if (vpu_dev->sram_buf.size) {
drivers/media/platform/chips-media/wave5/wave5-hw.c
54
static void _wave5_print_reg_err(struct vpu_device *vpu_dev, u32 reg_fail_reason,
drivers/media/platform/chips-media/wave5/wave5-hw.c
555
if (vpu_dev->product == PRODUCT_ID_515)
drivers/media/platform/chips-media/wave5/wave5-hw.c
573
vpu_write_reg(inst->dev, W5_CMD_ADDR_SEC_AXI, vpu_dev->sram_buf.daddr);
drivers/media/platform/chips-media/wave5/wave5-hw.c
574
vpu_write_reg(inst->dev, W5_CMD_SEC_AXI_SIZE, vpu_dev->sram_buf.size);
drivers/media/platform/chips-media/wave5/wave5-hw.c
592
wave5_vdi_free_dma_memory(vpu_dev, &p_dec_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-hw.c
94
static void _wave5_print_reg_err(struct vpu_device *vpu_dev, u32 reg_fail_reason,
drivers/media/platform/chips-media/wave5/wave5-hw.c
97
struct device *dev = vpu_dev->dev;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
100
int wave5_vdi_write_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb, size_t offset,
drivers/media/platform/chips-media/wave5/wave5-vdi.c
104
dev_err(vpu_dev->dev, "%s: unable to write to unmapped buffer\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
109
dev_err(vpu_dev->dev, "%s: buffer too small\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
118
int wave5_vdi_allocate_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
124
dev_err(vpu_dev->dev, "%s: requested size==0\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
128
vaddr = dma_alloc_coherent(vpu_dev->dev, vb->size, &daddr, GFP_KERNEL);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
137
int wave5_vdi_free_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
143
dev_err(vpu_dev->dev, "%s: requested free of unmapped buffer\n", __func__);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
145
dma_free_coherent(vpu_dev->dev, vb->size, vb->vaddr, vb->daddr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
152
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
165
wave5_vdi_free_dma_memory(vpu_dev, &array[i]);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
167
ret = wave5_vdi_allocate_dma_memory(vpu_dev, &vb_buf);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
174
wave5_vdi_free_dma_memory(vpu_dev, &array[i]);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
179
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
181
struct vpu_buf *vb = &vpu_dev->sram_buf;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
186
if (!vpu_dev->sram_pool || vb->vaddr)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
189
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
190
vaddr = gen_pool_dma_alloc(vpu_dev->sram_pool, size, &daddr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
197
dev_dbg(vpu_dev->dev, "%s: sram daddr: %pad, size: %zu, vaddr: 0x%p\n",
drivers/media/platform/chips-media/wave5/wave5-vdi.c
201
void wave5_vdi_free_sram(struct vpu_device *vpu_dev)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
203
struct vpu_buf *vb = &vpu_dev->sram_buf;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
208
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
52
wave5_vdi_free_dma_memory(vpu_dev, &vpu_dev->common_mem);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
57
if (wave5_vdi_read_register(vpu_dev, W5_VCPU_CUR_PC) == 0) {
drivers/media/platform/chips-media/wave5/wave5-vdi.c
61
wave5_vdi_write_register(vpu_dev, (i * 4) + 0x100, 0x0);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
71
struct vpu_device *vpu_dev = dev_get_drvdata(dev);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
73
vpu_dev->vdb_register = NULL;
drivers/media/platform/chips-media/wave5/wave5-vdi.c
74
wave5_vdi_free_dma_memory(vpu_dev, &vpu_dev->common_mem);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
79
void wave5_vdi_write_register(struct vpu_device *vpu_dev, u32 addr, u32 data)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
81
writel(data, vpu_dev->vdb_register + addr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
84
unsigned int wave5_vdi_read_register(struct vpu_device *vpu_dev, u32 addr)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
86
return readl(vpu_dev->vdb_register + addr);
drivers/media/platform/chips-media/wave5/wave5-vdi.c
89
int wave5_vdi_clear_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
drivers/media/platform/chips-media/wave5/wave5-vdi.c
92
dev_err(vpu_dev->dev, "%s: unable to clear unmapped buffer\n", __func__);
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
1011
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
615
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
624
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
629
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
633
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
642
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
647
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
651
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
718
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
724
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
728
if (!wave5_vpu_is_init(vpu_dev)) {
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
729
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
736
ret = wave5_vpu_build_up_enc_param(vpu_dev->dev, inst, open_param);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
737
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
747
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
755
ret = mutex_lock_interruptible(&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
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
780
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_work);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
783
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_sub_sam_buf);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
784
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_mv);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
785
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_fbc_y_tbl);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
786
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_fbc_c_tbl);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
789
wave5_vdi_free_dma_memory(vpu_dev, &p_enc_info->vb_task);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
790
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
802
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
821
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
849
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
878
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
889
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
897
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
906
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
908
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
922
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
975
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
977
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
983
mutex_unlock(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
992
struct vpu_device *vpu_dev = inst->dev;
drivers/media/platform/chips-media/wave5/wave5-vpuapi.c
997
ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
847
void wave5_vdi_write_register(struct vpu_device *vpu_dev, u32 addr, u32 data);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
848
u32 wave5_vdi_read_register(struct vpu_device *vpu_dev, u32 addr);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
849
int wave5_vdi_clear_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
850
int wave5_vdi_allocate_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
851
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
853
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
855
int wave5_vdi_free_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
856
void wave5_vdi_allocate_sram(struct vpu_device *vpu_dev);
drivers/media/platform/chips-media/wave5/wave5-vpuapi.h
857
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,