vpdma 275 drivers/media/platform/ti-vpe/vpdma.c static u32 read_reg(struct vpdma_data *vpdma, int offset) vpdma 277 drivers/media/platform/ti-vpe/vpdma.c return ioread32(vpdma->base + offset); vpdma 280 drivers/media/platform/ti-vpe/vpdma.c static void write_reg(struct vpdma_data *vpdma, int offset, u32 value) vpdma 282 drivers/media/platform/ti-vpe/vpdma.c iowrite32(value, vpdma->base + offset); vpdma 285 drivers/media/platform/ti-vpe/vpdma.c static int read_field_reg(struct vpdma_data *vpdma, int offset, vpdma 288 drivers/media/platform/ti-vpe/vpdma.c return (read_reg(vpdma, offset) & (mask << shift)) >> shift; vpdma 291 drivers/media/platform/ti-vpe/vpdma.c static void write_field_reg(struct vpdma_data *vpdma, int offset, u32 field, vpdma 294 drivers/media/platform/ti-vpe/vpdma.c u32 val = read_reg(vpdma, offset); vpdma 299 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, offset, val); vpdma 302 drivers/media/platform/ti-vpe/vpdma.c void vpdma_dump_regs(struct vpdma_data *vpdma) vpdma 304 drivers/media/platform/ti-vpe/vpdma.c struct device *dev = &vpdma->pdev->dev; vpdma 306 drivers/media/platform/ti-vpe/vpdma.c #define DUMPREG(r) dev_dbg(dev, "%-35s %08x\n", #r, read_reg(vpdma, VPDMA_##r)) vpdma 384 drivers/media/platform/ti-vpe/vpdma.c int vpdma_map_desc_buf(struct vpdma_data *vpdma, struct vpdma_buf *buf) vpdma 386 drivers/media/platform/ti-vpe/vpdma.c struct device *dev = &vpdma->pdev->dev; vpdma 406 drivers/media/platform/ti-vpe/vpdma.c void vpdma_unmap_desc_buf(struct vpdma_data *vpdma, struct vpdma_buf *buf) vpdma 408 drivers/media/platform/ti-vpe/vpdma.c struct device *dev = &vpdma->pdev->dev; vpdma 425 drivers/media/platform/ti-vpe/vpdma.c int vpdma_list_cleanup(struct vpdma_data *vpdma, int list_num, vpdma 431 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_LIST_ATTR, vpdma 446 drivers/media/platform/ti-vpe/vpdma.c ret = vpdma_map_desc_buf(vpdma, &abort_list.buf); vpdma 449 drivers/media/platform/ti-vpe/vpdma.c ret = vpdma_submit_descs(vpdma, &abort_list, list_num); vpdma 453 drivers/media/platform/ti-vpe/vpdma.c while (vpdma_list_busy(vpdma, list_num) && --timeout) vpdma 457 drivers/media/platform/ti-vpe/vpdma.c dev_err(&vpdma->pdev->dev, "Timed out cleaning up VPDMA list\n"); vpdma 462 drivers/media/platform/ti-vpe/vpdma.c vpdma_unmap_desc_buf(vpdma, &abort_list.buf); vpdma 514 drivers/media/platform/ti-vpe/vpdma.c bool vpdma_list_busy(struct vpdma_data *vpdma, int list_num) vpdma 516 drivers/media/platform/ti-vpe/vpdma.c return read_reg(vpdma, VPDMA_LIST_STAT_SYNC) & BIT(list_num + 16); vpdma 523 drivers/media/platform/ti-vpe/vpdma.c int vpdma_submit_descs(struct vpdma_data *vpdma, vpdma 529 drivers/media/platform/ti-vpe/vpdma.c if (vpdma_list_busy(vpdma, list_num)) vpdma 535 drivers/media/platform/ti-vpe/vpdma.c spin_lock_irqsave(&vpdma->lock, flags); vpdma 536 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_LIST_ADDR, (u32) list->buf.dma_addr); vpdma 538 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_LIST_ATTR, vpdma 542 drivers/media/platform/ti-vpe/vpdma.c spin_unlock_irqrestore(&vpdma->lock, flags); vpdma 550 drivers/media/platform/ti-vpe/vpdma.c void vpdma_update_dma_addr(struct vpdma_data *vpdma, vpdma 559 drivers/media/platform/ti-vpe/vpdma.c vpdma_unmap_desc_buf(vpdma, &list->buf); vpdma 576 drivers/media/platform/ti-vpe/vpdma.c vpdma_map_desc_buf(vpdma, &list->buf); vpdma 582 drivers/media/platform/ti-vpe/vpdma.c void vpdma_set_max_size(struct vpdma_data *vpdma, int reg_addr, vpdma 589 drivers/media/platform/ti-vpe/vpdma.c write_field_reg(vpdma, reg_addr, width - 1, vpdma 592 drivers/media/platform/ti-vpe/vpdma.c write_field_reg(vpdma, reg_addr, height - 1, vpdma 932 drivers/media/platform/ti-vpe/vpdma.c int vpdma_hwlist_alloc(struct vpdma_data *vpdma, void *priv) vpdma 937 drivers/media/platform/ti-vpe/vpdma.c spin_lock_irqsave(&vpdma->lock, flags); vpdma 939 drivers/media/platform/ti-vpe/vpdma.c vpdma->hwlist_used[i] == true; i++) vpdma 944 drivers/media/platform/ti-vpe/vpdma.c vpdma->hwlist_used[i] = true; vpdma 945 drivers/media/platform/ti-vpe/vpdma.c vpdma->hwlist_priv[i] = priv; vpdma 947 drivers/media/platform/ti-vpe/vpdma.c spin_unlock_irqrestore(&vpdma->lock, flags); vpdma 953 drivers/media/platform/ti-vpe/vpdma.c void *vpdma_hwlist_get_priv(struct vpdma_data *vpdma, int list_num) vpdma 955 drivers/media/platform/ti-vpe/vpdma.c if (!vpdma || list_num >= VPDMA_MAX_NUM_LIST) vpdma 958 drivers/media/platform/ti-vpe/vpdma.c return vpdma->hwlist_priv[list_num]; vpdma 962 drivers/media/platform/ti-vpe/vpdma.c void *vpdma_hwlist_release(struct vpdma_data *vpdma, int list_num) vpdma 967 drivers/media/platform/ti-vpe/vpdma.c spin_lock_irqsave(&vpdma->lock, flags); vpdma 968 drivers/media/platform/ti-vpe/vpdma.c vpdma->hwlist_used[list_num] = false; vpdma 969 drivers/media/platform/ti-vpe/vpdma.c priv = vpdma->hwlist_priv; vpdma 970 drivers/media/platform/ti-vpe/vpdma.c spin_unlock_irqrestore(&vpdma->lock, flags); vpdma 977 drivers/media/platform/ti-vpe/vpdma.c void vpdma_enable_list_complete_irq(struct vpdma_data *vpdma, int irq_num, vpdma 983 drivers/media/platform/ti-vpe/vpdma.c val = read_reg(vpdma, reg_addr); vpdma 988 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, reg_addr, val); vpdma 993 drivers/media/platform/ti-vpe/vpdma.c unsigned int vpdma_get_list_stat(struct vpdma_data *vpdma, int irq_num) vpdma 997 drivers/media/platform/ti-vpe/vpdma.c return read_reg(vpdma, reg_addr); vpdma 1002 drivers/media/platform/ti-vpe/vpdma.c unsigned int vpdma_get_list_mask(struct vpdma_data *vpdma, int irq_num) vpdma 1006 drivers/media/platform/ti-vpe/vpdma.c return read_reg(vpdma, reg_addr); vpdma 1011 drivers/media/platform/ti-vpe/vpdma.c void vpdma_clear_list_stat(struct vpdma_data *vpdma, int irq_num, vpdma 1016 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, reg_addr, 3 << (list_num * 2)); vpdma 1020 drivers/media/platform/ti-vpe/vpdma.c void vpdma_set_bg_color(struct vpdma_data *vpdma, vpdma 1024 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_BG_RGB, color); vpdma 1026 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_BG_YUV, color); vpdma 1035 drivers/media/platform/ti-vpe/vpdma.c void vpdma_set_line_mode(struct vpdma_data *vpdma, int line_mode, vpdma 1040 drivers/media/platform/ti-vpe/vpdma.c write_field_reg(vpdma, client_cstat, line_mode, vpdma 1049 drivers/media/platform/ti-vpe/vpdma.c void vpdma_set_frame_start_event(struct vpdma_data *vpdma, vpdma 1055 drivers/media/platform/ti-vpe/vpdma.c write_field_reg(vpdma, client_cstat, fs_event, vpdma 1062 drivers/media/platform/ti-vpe/vpdma.c struct vpdma_data *vpdma = context; vpdma 1066 drivers/media/platform/ti-vpe/vpdma.c dev_dbg(&vpdma->pdev->dev, "firmware callback\n"); vpdma 1069 drivers/media/platform/ti-vpe/vpdma.c dev_err(&vpdma->pdev->dev, "couldn't get firmware\n"); vpdma 1074 drivers/media/platform/ti-vpe/vpdma.c if (read_field_reg(vpdma, VPDMA_LIST_ATTR, VPDMA_LIST_RDY_MASK, vpdma 1076 drivers/media/platform/ti-vpe/vpdma.c vpdma->cb(vpdma->pdev); vpdma 1082 drivers/media/platform/ti-vpe/vpdma.c dev_err(&vpdma->pdev->dev, vpdma 1089 drivers/media/platform/ti-vpe/vpdma.c vpdma_map_desc_buf(vpdma, &fw_dma_buf); vpdma 1091 drivers/media/platform/ti-vpe/vpdma.c write_reg(vpdma, VPDMA_LIST_ADDR, (u32) fw_dma_buf.dma_addr); vpdma 1096 drivers/media/platform/ti-vpe/vpdma.c if (read_field_reg(vpdma, VPDMA_LIST_ATTR, VPDMA_LIST_RDY_MASK, vpdma 1102 drivers/media/platform/ti-vpe/vpdma.c dev_err(&vpdma->pdev->dev, "firmware upload failed\n"); vpdma 1106 drivers/media/platform/ti-vpe/vpdma.c vpdma->cb(vpdma->pdev); vpdma 1109 drivers/media/platform/ti-vpe/vpdma.c vpdma_unmap_desc_buf(vpdma, &fw_dma_buf); vpdma 1116 drivers/media/platform/ti-vpe/vpdma.c static int vpdma_load_firmware(struct vpdma_data *vpdma) vpdma 1119 drivers/media/platform/ti-vpe/vpdma.c struct device *dev = &vpdma->pdev->dev; vpdma 1122 drivers/media/platform/ti-vpe/vpdma.c (const char *) VPDMA_FIRMWARE, dev, GFP_KERNEL, vpdma, vpdma 1134 drivers/media/platform/ti-vpe/vpdma.c int vpdma_create(struct platform_device *pdev, struct vpdma_data *vpdma, vpdma 1142 drivers/media/platform/ti-vpe/vpdma.c vpdma->pdev = pdev; vpdma 1143 drivers/media/platform/ti-vpe/vpdma.c vpdma->cb = cb; vpdma 1144 drivers/media/platform/ti-vpe/vpdma.c spin_lock_init(&vpdma->lock); vpdma 1152 drivers/media/platform/ti-vpe/vpdma.c vpdma->base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); vpdma 1153 drivers/media/platform/ti-vpe/vpdma.c if (!vpdma->base) { vpdma 1158 drivers/media/platform/ti-vpe/vpdma.c r = vpdma_load_firmware(vpdma); vpdma 214 drivers/media/platform/ti-vpe/vpdma.h int vpdma_map_desc_buf(struct vpdma_data *vpdma, struct vpdma_buf *buf); vpdma 215 drivers/media/platform/ti-vpe/vpdma.h void vpdma_unmap_desc_buf(struct vpdma_data *vpdma, struct vpdma_buf *buf); vpdma 221 drivers/media/platform/ti-vpe/vpdma.h int vpdma_submit_descs(struct vpdma_data *vpdma, struct vpdma_desc_list *list, vpdma 223 drivers/media/platform/ti-vpe/vpdma.h bool vpdma_list_busy(struct vpdma_data *vpdma, int list_num); vpdma 224 drivers/media/platform/ti-vpe/vpdma.h void vpdma_update_dma_addr(struct vpdma_data *vpdma, vpdma 229 drivers/media/platform/ti-vpe/vpdma.h int vpdma_hwlist_alloc(struct vpdma_data *vpdma, void *priv); vpdma 230 drivers/media/platform/ti-vpe/vpdma.h void *vpdma_hwlist_get_priv(struct vpdma_data *vpdma, int list_num); vpdma 231 drivers/media/platform/ti-vpe/vpdma.h void *vpdma_hwlist_release(struct vpdma_data *vpdma, int list_num); vpdma 256 drivers/media/platform/ti-vpe/vpdma.h int vpdma_list_cleanup(struct vpdma_data *vpdma, int list_num, vpdma 260 drivers/media/platform/ti-vpe/vpdma.h void vpdma_enable_list_complete_irq(struct vpdma_data *vpdma, int irq_num, vpdma 262 drivers/media/platform/ti-vpe/vpdma.h void vpdma_clear_list_stat(struct vpdma_data *vpdma, int irq_num, vpdma 264 drivers/media/platform/ti-vpe/vpdma.h unsigned int vpdma_get_list_stat(struct vpdma_data *vpdma, int irq_num); vpdma 265 drivers/media/platform/ti-vpe/vpdma.h unsigned int vpdma_get_list_mask(struct vpdma_data *vpdma, int irq_num); vpdma 268 drivers/media/platform/ti-vpe/vpdma.h void vpdma_set_line_mode(struct vpdma_data *vpdma, int line_mode, vpdma 270 drivers/media/platform/ti-vpe/vpdma.h void vpdma_set_frame_start_event(struct vpdma_data *vpdma, vpdma 272 drivers/media/platform/ti-vpe/vpdma.h void vpdma_set_max_size(struct vpdma_data *vpdma, int reg_addr, vpdma 275 drivers/media/platform/ti-vpe/vpdma.h void vpdma_set_bg_color(struct vpdma_data *vpdma, vpdma 277 drivers/media/platform/ti-vpe/vpdma.h void vpdma_dump_regs(struct vpdma_data *vpdma); vpdma 280 drivers/media/platform/ti-vpe/vpdma.h int vpdma_create(struct platform_device *pdev, struct vpdma_data *vpdma, vpdma 379 drivers/media/platform/ti-vpe/vpe.c struct vpdma_data *vpdma; /* vpdma data handle */ vpdma 708 drivers/media/platform/ti-vpe/vpe.c vpdma_set_line_mode(ctx->dev->vpdma, line_mode, VPE_CHAN_CHROMA1_IN); vpdma 709 drivers/media/platform/ti-vpe/vpe.c vpdma_set_line_mode(ctx->dev->vpdma, line_mode, VPE_CHAN_CHROMA2_IN); vpdma 710 drivers/media/platform/ti-vpe/vpe.c vpdma_set_line_mode(ctx->dev->vpdma, line_mode, VPE_CHAN_CHROMA3_IN); vpdma 713 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 715 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 717 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 721 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 723 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 725 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 729 drivers/media/platform/ti-vpe/vpe.c vpdma_set_frame_start_event(ctx->dev->vpdma, VPDMA_FSEVENT_CHANNEL_ACTIVE, vpdma 755 drivers/media/platform/ti-vpe/vpe.c vpdma_set_bg_color(ctx->dev->vpdma, vpdma 1063 drivers/media/platform/ti-vpe/vpe.c vpdma_set_max_size(ctx->dev->vpdma, VPDMA_MAX_SIZE1, vpdma 1170 drivers/media/platform/ti-vpe/vpe.c vpdma_enable_list_complete_irq(ctx->dev->vpdma, 0, 0, true); vpdma 1178 drivers/media/platform/ti-vpe/vpe.c vpdma_enable_list_complete_irq(ctx->dev->vpdma, 0, 0, false); vpdma 1229 drivers/media/platform/ti-vpe/vpe.c vpdma_map_desc_buf(ctx->dev->vpdma, &ctx->mmr_adb); vpdma 1240 drivers/media/platform/ti-vpe/vpe.c vpdma_map_desc_buf(ctx->dev->vpdma, &ctx->sc_coeff_h); vpdma 1250 drivers/media/platform/ti-vpe/vpe.c vpdma_map_desc_buf(ctx->dev->vpdma, &ctx->sc_coeff_v); vpdma 1320 drivers/media/platform/ti-vpe/vpe.c vpdma_map_desc_buf(ctx->dev->vpdma, &ctx->desc_list.buf); vpdma 1321 drivers/media/platform/ti-vpe/vpe.c vpdma_submit_descs(ctx->dev->vpdma, &ctx->desc_list, 0); vpdma 1377 drivers/media/platform/ti-vpe/vpe.c vpdma_clear_list_stat(ctx->dev->vpdma, 0, 0); vpdma 1397 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->desc_list.buf); vpdma 1398 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->mmr_adb); vpdma 1399 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_h); vpdma 1400 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_v); vpdma 2176 drivers/media/platform/ti-vpe/vpe.c vpdma_dump_regs(ctx->dev->vpdma); vpdma 2374 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->desc_list.buf); vpdma 2375 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->mmr_adb); vpdma 2376 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_h); vpdma 2377 drivers/media/platform/ti-vpe/vpe.c vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_v); vpdma 2557 drivers/media/platform/ti-vpe/vpe.c dev->vpdma = &dev->vpdma_data; vpdma 2558 drivers/media/platform/ti-vpe/vpe.c ret = vpdma_create(pdev, dev->vpdma, vpe_fw_cb);