/openbmc/linux/drivers/staging/media/ipu3/ |
H A D | ipu3.c | 75 imgu_dmamap_free(imgu, in imgu_dummybufs_cleanup() 198 mutex_lock(&imgu->lock); in imgu_buffer_done() 361 r = imgu_css_set_powerup(&imgu->pci_dev->dev, imgu->base, freq); in imgu_powerup() 372 imgu_css_set_powerdown(&imgu->pci_dev->dev, imgu->base); in imgu_powerdown() 388 imgu_powerdown(imgu); in imgu_s_stream() 625 imgu = devm_kzalloc(&pci_dev->dev, sizeof(*imgu), GFP_KERNEL); in imgu_pci_probe() 626 if (!imgu) in imgu_pci_probe() 685 imgu->mmu = imgu_mmu_init(&pci_dev->dev, imgu->base); in imgu_pci_probe() 700 r = imgu_css_init(&pci_dev->dev, &imgu->css, imgu->base, phys_len); in imgu_pci_probe() 766 imgu->suspend_in_stream = imgu_css_is_streaming(&imgu->css); in imgu_suspend() [all …]
|
H A D | ipu3-dmamap.c | 97 struct device *dev = &imgu->pci_dev->dev; in imgu_dmamap_alloc() 119 rval = imgu_mmu_map(imgu->mmu, iovaddr, 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() 155 iova = find_iova(&imgu->iova_domain, in imgu_dmamap_unmap() 160 imgu_mmu_unmap(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_unmap() 163 __free_iova(&imgu->iova_domain, iova); in imgu_dmamap_unmap() 177 imgu_dmamap_unmap(imgu, map); in imgu_dmamap_free() 215 if (imgu_mmu_map_sg(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_map_sg() 226 __free_iova(&imgu->iova_domain, iova); in imgu_dmamap_map_sg() [all …]
|
H A D | ipu3-v4l2.c | 368 mutex_lock(&imgu->lock); in imgu_vb2_buf_queue() 378 if (imgu->streaming) in imgu_vb2_buf_queue() 459 mutex_lock(&imgu->lock); in imgu_return_all_buffers() 481 if (imgu->streaming) { in imgu_vb2_start_streaming() 516 imgu->streaming = true; in imgu_vb2_start_streaming() 551 if (imgu->streaming && imgu_all_nodes_streaming(imgu, node)) { in imgu_vb2_stop_streaming() 1196 imgu->buf_struct_size = in imgu_v4l2_node_setup() 1202 vbq->drv_priv = imgu; in imgu_v4l2_node_setup() 1335 media_device_pci_init(&imgu->media_dev, imgu->pci_dev, IMGU_NAME); in imgu_v4l2_register() 1338 imgu->v4l2_dev.mdev = &imgu->media_dev; in imgu_v4l2_register() [all …]
|
H A 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()
|
H A 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);
|
H A D | ipu3-css-pool.h | 43 int imgu_css_dma_buffer_resize(struct imgu_device *imgu, 45 void imgu_css_pool_cleanup(struct imgu_device *imgu, 47 int imgu_css_pool_init(struct imgu_device *imgu, struct imgu_css_pool *pool,
|
H A D | Makefile | 6 ipu3-imgu-objs += \ 12 obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3-imgu.o
|
H A D | ipu3.h | 157 unsigned int imgu_map_node(struct imgu_device *imgu, unsigned int css_queue); 158 int imgu_queue_buffers(struct imgu_device *imgu, bool initial, 165 int imgu_s_stream(struct imgu_device *imgu, int enable);
|
H A D | Kconfig | 3 tristate "Intel ipu3-imgu driver" 16 camera. The module will be called ipu3-imgu.
|
H A D | ipu3-css.c | 1040 if (imgu_css_pool_init(imgu, in imgu_css_pipeline_init() 1165 imgu_dmamap_free(imgu, in imgu_css_binary_cleanup() 1170 imgu_dmamap_free(imgu, in imgu_css_binary_cleanup() 1175 imgu_dmamap_free(imgu, in imgu_css_binary_cleanup() 1195 if (!imgu_dmamap_alloc(imgu, in imgu_css_binary_preallocate() 1201 if (!imgu_dmamap_alloc(imgu, in imgu_css_binary_preallocate() 1228 imgu, in imgu_css_binary_setup() 1251 imgu, in imgu_css_binary_setup() 1272 imgu, in imgu_css_binary_setup() 1479 imgu_dmamap_free(imgu, in imgu_css_pipe_cleanup() [all …]
|
H A 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 248 if (!imgu_dmamap_alloc(imgu, &css->binary[i], size)) { in imgu_css_fw_init()
|
/openbmc/linux/Documentation/userspace-api/media/v4l/ |
H A D | metafmt-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
|
/openbmc/linux/Documentation/admin-guide/media/ |
H A D | ipu3.rst | 184 With ImgU, once the input video node ("ipu3-imgu 0/1":0, in 273 Let us take "ipu3-imgu 0" subdev as an example. 278 media-ctl -d $MDEV -l "ipu3-imgu 0 input":0 -> "ipu3-imgu 0":0[1] 279 media-ctl -d $MDEV -l "ipu3-imgu 0":2 -> "ipu3-imgu 0 output":0[1] 280 media-ctl -d $MDEV -l "ipu3-imgu 0":3 -> "ipu3-imgu 0 viewfinder":0[1] 281 media-ctl -d $MDEV -l "ipu3-imgu 0":4 -> "ipu3-imgu 0 3a stat":0[1]
|