/Linux-v5.10/drivers/staging/media/ipu3/ |
D | ipu3.c | 56 unsigned int imgu_map_node(struct imgu_device *imgu, unsigned int css_queue) in imgu_map_node() argument 69 static void imgu_dummybufs_cleanup(struct imgu_device *imgu, unsigned int pipe) in imgu_dummybufs_cleanup() argument 72 struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[pipe]; in imgu_dummybufs_cleanup() 75 imgu_dmamap_free(imgu, in imgu_dummybufs_cleanup() 79 static int imgu_dummybufs_preallocate(struct imgu_device *imgu, in imgu_dummybufs_preallocate() argument 84 struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[pipe]; in imgu_dummybufs_preallocate() 96 if (!imgu_dmamap_alloc(imgu, in imgu_dummybufs_preallocate() 98 imgu_dummybufs_cleanup(imgu, pipe); in imgu_dummybufs_preallocate() 106 static int imgu_dummybufs_init(struct imgu_device *imgu, unsigned int pipe) in imgu_dummybufs_init() argument 112 struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[pipe]; in imgu_dummybufs_init() [all …]
|
D | ipu3-dmamap.c | 93 void *imgu_dmamap_alloc(struct imgu_device *imgu, struct imgu_css_map *map, in imgu_dmamap_alloc() argument 96 unsigned long shift = iova_shift(&imgu->iova_domain); in imgu_dmamap_alloc() 97 struct device *dev = &imgu->pci_dev->dev; in imgu_dmamap_alloc() 107 iova = alloc_iova(&imgu->iova_domain, size >> shift, in imgu_dmamap_alloc() 108 imgu->mmu->aperture_end >> shift, 0); in imgu_dmamap_alloc() 117 iovaddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc() 119 rval = imgu_mmu_map(imgu->mmu, iovaddr, in imgu_dmamap_alloc() 133 map->daddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc() 142 imgu_mmu_unmap(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_alloc() 146 __free_iova(&imgu->iova_domain, iova); in imgu_dmamap_alloc() [all …]
|
D | ipu3-v4l2.c | 23 struct imgu_device *imgu = v4l2_get_subdevdata(sd); in imgu_subdev_open() local 24 struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[imgu_sd->pipe]; in imgu_subdev_open() 58 struct imgu_device *imgu = v4l2_get_subdevdata(sd); in imgu_subdev_s_stream() local 63 struct device *dev = &imgu->pci_dev->dev; in imgu_subdev_s_stream() 66 struct imgu_css_pipe *css_pipe = &imgu->css.pipes[pipe]; in imgu_subdev_s_stream() 67 struct imgu_media_pipe *imgu_pipe = &imgu->imgu_pipe[pipe]; in imgu_subdev_s_stream() 86 node = imgu_map_node(imgu, i); in imgu_subdev_s_stream() 110 r = imgu_css_fmt_set(&imgu->css, fmts, rects, pipe); in imgu_subdev_s_stream() 126 struct imgu_device *imgu = v4l2_get_subdevdata(sd); in imgu_subdev_get_fmt() local 135 imgu_pipe = &imgu->imgu_pipe[pipe]; in imgu_subdev_get_fmt() [all …]
|
D | ipu3-css-pool.c | 10 int imgu_css_dma_buffer_resize(struct imgu_device *imgu, in imgu_css_dma_buffer_resize() argument 14 dev_warn(&imgu->pci_dev->dev, "dma buf resized from %zu to %zu", in imgu_css_dma_buffer_resize() 17 imgu_dmamap_free(imgu, map); in imgu_css_dma_buffer_resize() 18 if (!imgu_dmamap_alloc(imgu, map, size)) in imgu_css_dma_buffer_resize() 25 void imgu_css_pool_cleanup(struct imgu_device *imgu, struct imgu_css_pool *pool) in imgu_css_pool_cleanup() argument 30 imgu_dmamap_free(imgu, &pool->entry[i].param); in imgu_css_pool_cleanup() 33 int imgu_css_pool_init(struct imgu_device *imgu, struct imgu_css_pool *pool, in imgu_css_pool_init() argument 45 if (!imgu_dmamap_alloc(imgu, &pool->entry[i].param, size)) in imgu_css_pool_init() 54 imgu_css_pool_cleanup(imgu, pool); in imgu_css_pool_init()
|
D | ipu3-dmamap.h | 11 void *imgu_dmamap_alloc(struct imgu_device *imgu, struct imgu_css_map *map, 13 void imgu_dmamap_free(struct imgu_device *imgu, struct imgu_css_map *map); 15 int imgu_dmamap_map_sg(struct imgu_device *imgu, struct scatterlist *sglist, 17 void imgu_dmamap_unmap(struct imgu_device *imgu, struct imgu_css_map *map); 19 int imgu_dmamap_init(struct imgu_device *imgu); 20 void imgu_dmamap_exit(struct imgu_device *imgu);
|
D | ipu3-css-pool.h | 42 int imgu_css_dma_buffer_resize(struct imgu_device *imgu, 44 void imgu_css_pool_cleanup(struct imgu_device *imgu, 46 int imgu_css_pool_init(struct imgu_device *imgu, struct imgu_css_pool *pool,
|
D | ipu3.h | 162 unsigned int imgu_map_node(struct imgu_device *imgu, unsigned int css_queue); 163 int imgu_queue_buffers(struct imgu_device *imgu, bool initial, 170 int imgu_s_stream(struct imgu_device *imgu, int enable);
|
D | Makefile | 6 ipu3-imgu-objs += \ 12 obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3-imgu.o
|
D | ipu3-css.c | 664 struct imgu_device *imgu = dev_get_drvdata(css->dev); in imgu_css_pipeline_cleanup() local 668 imgu_css_pool_cleanup(imgu, &css_pipe->pool.parameter_set_info); in imgu_css_pipeline_cleanup() 669 imgu_css_pool_cleanup(imgu, &css_pipe->pool.acc); in imgu_css_pipeline_cleanup() 670 imgu_css_pool_cleanup(imgu, &css_pipe->pool.gdc); in imgu_css_pipeline_cleanup() 671 imgu_css_pool_cleanup(imgu, &css_pipe->pool.obgrid); in imgu_css_pipeline_cleanup() 674 imgu_css_pool_cleanup(imgu, &css_pipe->pool.binary_params_p[i]); in imgu_css_pipeline_cleanup() 730 struct imgu_device *imgu = dev_get_drvdata(css->dev); in imgu_css_pipeline_init() local 1039 if (imgu_css_pool_init(imgu, &css_pipe->pool.parameter_set_info, in imgu_css_pipeline_init() 1041 imgu_css_pool_init(imgu, &css_pipe->pool.acc, in imgu_css_pipeline_init() 1043 imgu_css_pool_init(imgu, &css_pipe->pool.gdc, in imgu_css_pipeline_init() [all …]
|
D | Kconfig | 3 tristate "Intel ipu3-imgu driver" 16 camera. The module will be called ipu3-imgu.
|
D | ipu3-css-fw.c | 96 struct imgu_device *imgu = dev_get_drvdata(css->dev); in imgu_css_fw_cleanup() local 102 imgu_dmamap_free(imgu, &css->binary[i]); in imgu_css_fw_cleanup() 115 struct imgu_device *imgu = dev_get_drvdata(css->dev); in imgu_css_fw_init() local 247 if (!imgu_dmamap_alloc(imgu, &css->binary[i], size)) { in imgu_css_fw_init()
|
/Linux-v5.10/Documentation/userspace-api/media/v4l/ |
D | pixfmt-meta-intel-ipu3.rst | 16 an input Bayer frame. Those statistics are obtained from the "ipu3-imgu [01] 3a 46 The pipeline parameters are passed to the "ipu3-imgu [01] parameters" metadata
|
/Linux-v5.10/Documentation/admin-guide/media/ |
D | ipu3.rst | 182 With ImgU, once the input video node ("ipu3-imgu 0/1":0, in 270 Let us take "ipu3-imgu 0" subdev as an example. 275 media-ctl -d $MDEV -l "ipu3-imgu 0 input":0 -> "ipu3-imgu 0":0[1] 276 media-ctl -d $MDEV -l "ipu3-imgu 0":2 -> "ipu3-imgu 0 output":0[1] 277 media-ctl -d $MDEV -l "ipu3-imgu 0":3 -> "ipu3-imgu 0 viewfinder":0[1] 278 media-ctl -d $MDEV -l "ipu3-imgu 0":4 -> "ipu3-imgu 0 3a stat":0[1]
|