Lines Matching full:vde

18 #include "vde.h"
132 tegra_vde_dmabuf_cache_unmap(ctx->vde, tb->a[i], true); in __tegra_buf_cleanup()
137 tegra_vde_iommu_unmap(ctx->vde, tb->iova[i]); in __tegra_buf_cleanup()
153 struct tegra_vde *vde = ctx->vde; in tegra_buf_init() local
164 err = tegra_vde_alloc_bo(vde, &tb->aux, DMA_FROM_DEVICE, in tegra_buf_init()
179 err = tegra_vde_dmabuf_cache_map(vde, vb->planes[i].dbuf, in tegra_buf_init()
190 if (vde->domain) { in tegra_buf_init()
193 err = tegra_vde_iommu_map(vde, sgt, &tb->iova[i], in tegra_buf_init()
198 tb->dma_base[i] = iova_dma_addr(&vde->iova, tb->iova[i]); in tegra_buf_init()
338 struct tegra_vde *vde = ctx->vde; in tegra_queue_init() local
350 if (vde->domain) in tegra_queue_init()
363 src_vq->lock = &vde->v4l2_lock; in tegra_queue_init()
368 src_vq->dev = vde->dev; in tegra_queue_init()
372 v4l2_err(&vde->v4l2_dev, in tegra_queue_init()
388 dst_vq->lock = &vde->v4l2_lock; in tegra_queue_init()
393 dst_vq->dev = vde->dev; in tegra_queue_init()
397 v4l2_err(&vde->v4l2_dev, in tegra_queue_init()
419 const struct tegra_vde_soc *soc = ctx->vde->soc; in tegra_reset_coded_fmt()
450 * VDE is connected to Graphics Memory using 128bit port, in tegra_fill_pixfmt_mp()
480 v4l2_m2m_buf_done_and_job_finish(ctx->vde->m2m, ctx->fh.m2m_ctx, in tegra_job_finish()
499 strscpy(cap->bus_info, "platform:tegra-vde", sizeof(cap->bus_info)); in tegra_querycap()
500 strscpy(cap->driver, "tegra-vde", sizeof(cap->driver)); in tegra_querycap()
501 strscpy(cap->card, "tegra-vde", sizeof(cap->card)); in tegra_querycap()
597 const struct tegra_vde_soc *soc = ctx->vde->soc; in tegra_enum_coded_fmt()
619 const struct tegra_vde_soc *soc = ctx->vde->soc; in tegra_find_coded_fmt_desc()
635 const struct tegra_vde_soc *soc = ctx->vde->soc; in tegra_try_coded_fmt()
800 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(ctx->vde->m2m, in tegra_init_m2m()
810 struct tegra_vde *vde = video_drvdata(file); in tegra_open() local
819 ctx->vde = vde; in tegra_open()
825 v4l2_err(&vde->v4l2_dev, "failed to add controls: %d\n", err); in tegra_open()
831 v4l2_err(&vde->v4l2_dev, "failed to initialize m2m: %d\n", err); in tegra_open()
858 struct tegra_vde *vde = ctx->vde; in tegra_release() local
866 tegra_vde_dmabuf_cache_unmap_sync(vde); in tegra_release()
896 queue_work(ctx->vde->wq, &ctx->work); in tegra_device_run()
921 int tegra_vde_v4l2_init(struct tegra_vde *vde) in tegra_vde_v4l2_init() argument
923 struct device *dev = vde->dev; in tegra_vde_v4l2_init()
926 mutex_init(&vde->v4l2_lock); in tegra_vde_v4l2_init()
927 media_device_init(&vde->mdev); in tegra_vde_v4l2_init()
928 video_set_drvdata(&vde->vdev, vde); in tegra_vde_v4l2_init()
930 vde->vdev.lock = &vde->v4l2_lock; in tegra_vde_v4l2_init()
931 vde->vdev.fops = &tegra_v4l2_fops; in tegra_vde_v4l2_init()
932 vde->vdev.vfl_dir = VFL_DIR_M2M; in tegra_vde_v4l2_init()
933 vde->vdev.release = video_device_release_empty; in tegra_vde_v4l2_init()
934 vde->vdev.v4l2_dev = &vde->v4l2_dev; in tegra_vde_v4l2_init()
935 vde->vdev.ioctl_ops = &tegra_v4l2_ioctl_ops; in tegra_vde_v4l2_init()
936 vde->vdev.device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING; in tegra_vde_v4l2_init()
938 vde->v4l2_dev.mdev = &vde->mdev; in tegra_vde_v4l2_init()
939 vde->mdev.ops = &tegra_media_device_ops; in tegra_vde_v4l2_init()
940 vde->mdev.dev = dev; in tegra_vde_v4l2_init()
942 strscpy(vde->mdev.model, "tegra-vde", sizeof(vde->mdev.model)); in tegra_vde_v4l2_init()
943 strscpy(vde->vdev.name, "tegra-vde", sizeof(vde->vdev.name)); in tegra_vde_v4l2_init()
944 strscpy(vde->mdev.bus_info, "platform:tegra-vde", in tegra_vde_v4l2_init()
945 sizeof(vde->mdev.bus_info)); in tegra_vde_v4l2_init()
947 vde->wq = create_workqueue("tegra-vde"); in tegra_vde_v4l2_init()
948 if (!vde->wq) in tegra_vde_v4l2_init()
951 err = media_device_register(&vde->mdev); in tegra_vde_v4l2_init()
957 err = v4l2_device_register(dev, &vde->v4l2_dev); in tegra_vde_v4l2_init()
963 err = video_register_device(&vde->vdev, VFL_TYPE_VIDEO, -1); in tegra_vde_v4l2_init()
969 vde->m2m = v4l2_m2m_init(&tegra_v4l2_m2m_ops); in tegra_vde_v4l2_init()
970 err = PTR_ERR_OR_ZERO(vde->m2m); in tegra_vde_v4l2_init()
976 err = v4l2_m2m_register_media_controller(vde->m2m, &vde->vdev, in tegra_vde_v4l2_init()
983 v4l2_info(&vde->v4l2_dev, "v4l2 device registered as /dev/video%d\n", in tegra_vde_v4l2_init()
984 vde->vdev.num); in tegra_vde_v4l2_init()
989 v4l2_m2m_release(vde->m2m); in tegra_vde_v4l2_init()
991 video_unregister_device(&vde->vdev); in tegra_vde_v4l2_init()
993 v4l2_device_unregister(&vde->v4l2_dev); in tegra_vde_v4l2_init()
995 media_device_unregister(&vde->mdev); in tegra_vde_v4l2_init()
997 media_device_cleanup(&vde->mdev); in tegra_vde_v4l2_init()
999 destroy_workqueue(vde->wq); in tegra_vde_v4l2_init()
1004 void tegra_vde_v4l2_deinit(struct tegra_vde *vde) in tegra_vde_v4l2_deinit() argument
1006 v4l2_m2m_unregister_media_controller(vde->m2m); in tegra_vde_v4l2_deinit()
1007 v4l2_m2m_release(vde->m2m); in tegra_vde_v4l2_deinit()
1009 video_unregister_device(&vde->vdev); in tegra_vde_v4l2_deinit()
1010 v4l2_device_unregister(&vde->v4l2_dev); in tegra_vde_v4l2_deinit()
1012 media_device_unregister(&vde->mdev); in tegra_vde_v4l2_deinit()
1013 media_device_cleanup(&vde->mdev); in tegra_vde_v4l2_deinit()
1015 destroy_workqueue(vde->wq); in tegra_vde_v4l2_deinit()