Home
last modified time | relevance | path

Searched refs:vsp1 (Results 1 – 25 of 52) sorted by relevance

123

/Linux-v5.4/drivers/media/platform/vsp1/
Dvsp1_drv.c48 struct vsp1_device *vsp1 = data; in vsp1_irq_handler() local
53 for (i = 0; i < vsp1->info->wpf_count; ++i) { in vsp1_irq_handler()
54 struct vsp1_rwpf *wpf = vsp1->wpf[i]; in vsp1_irq_handler()
59 status = vsp1_read(vsp1, VI6_WPF_IRQ_STA(i)); in vsp1_irq_handler()
60 vsp1_write(vsp1, VI6_WPF_IRQ_STA(i), ~status & mask); in vsp1_irq_handler()
89 static int vsp1_create_sink_links(struct vsp1_device *vsp1, in vsp1_create_sink_links() argument
97 list_for_each_entry(source, &vsp1->entities, list_dev) { in vsp1_create_sink_links()
132 static int vsp1_uapi_create_links(struct vsp1_device *vsp1) in vsp1_uapi_create_links() argument
138 list_for_each_entry(entity, &vsp1->entities, list_dev) { in vsp1_uapi_create_links()
143 ret = vsp1_create_sink_links(vsp1, entity); in vsp1_uapi_create_links()
[all …]
Dvsp1_drm.c63 static int vsp1_du_insert_uif(struct vsp1_device *vsp1, in vsp1_du_insert_uif() argument
99 dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on UIF sink\n", in vsp1_du_insert_uif()
115 static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1, in vsp1_du_pipeline_setup_rpf() argument
130 crop = &vsp1->drm->inputs[rpf->entity.index].crop; in vsp1_du_pipeline_setup_rpf()
145 dev_dbg(vsp1->dev, in vsp1_du_pipeline_setup_rpf()
161 dev_dbg(vsp1->dev, in vsp1_du_pipeline_setup_rpf()
177 dev_dbg(vsp1->dev, in vsp1_du_pipeline_setup_rpf()
190 ret = vsp1_du_insert_uif(vsp1, pipe, uif, &rpf->entity, RWPF_PAD_SOURCE, in vsp1_du_pipeline_setup_rpf()
203 dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on %s pad %u\n", in vsp1_du_pipeline_setup_rpf()
209 sel.r = vsp1->drm->inputs[rpf->entity.index].compose; in vsp1_du_pipeline_setup_rpf()
[all …]
DMakefile2 vsp1-y := vsp1_drv.o vsp1_entity.o vsp1_pipe.o
3 vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_video.o
4 vsp1-y += vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o
5 vsp1-y += vsp1_clu.o vsp1_hsit.o vsp1_lut.o
6 vsp1-y += vsp1_brx.o vsp1_sru.o vsp1_uds.o
7 vsp1-y += vsp1_hgo.o vsp1_hgt.o vsp1_histo.o
8 vsp1-y += vsp1_lif.o vsp1_uif.o
10 obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1.o
Dvsp1.h72 #define vsp1_feature(vsp1, f) ((vsp1)->info->features & (f)) argument
108 int vsp1_device_get(struct vsp1_device *vsp1);
109 void vsp1_device_put(struct vsp1_device *vsp1);
111 int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index);
113 static inline u32 vsp1_read(struct vsp1_device *vsp1, u32 reg) in vsp1_read() argument
115 return ioread32(vsp1->mmio + reg); in vsp1_read()
118 static inline void vsp1_write(struct vsp1_device *vsp1, u32 reg, u32 data) in vsp1_write() argument
120 iowrite32(data, vsp1->mmio + reg); in vsp1_write()
Dvsp1_dl.c141 struct vsp1_device *vsp1; member
165 struct vsp1_device *vsp1; member
219 struct vsp1_device *vsp1; member
248 vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies, in vsp1_dl_body_pool_create() argument
259 pool->vsp1 = vsp1; in vsp1_dl_body_pool_create()
276 pool->mem = dma_alloc_wc(vsp1->bus_master, pool->size, &pool->dma, in vsp1_dl_body_pool_create()
314 dma_free_wc(pool->vsp1->bus_master, pool->size, pool->mem, in vsp1_dl_body_pool_destroy()
423 vsp1_dl_cmd_pool_create(struct vsp1_device *vsp1, enum vsp1_extcmd_type type, in vsp1_dl_cmd_pool_create() argument
448 pool->mem = dma_alloc_wc(vsp1->bus_master, pool->size, &pool->dma, in vsp1_dl_cmd_pool_create()
523 dma_free_wc(pool->vsp1->bus_master, pool->size, pool->mem, in vsp1_dl_ext_cmd_pool_destroy()
[all …]
Dvsp1_wpf.c136 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_init_controls() local
144 } else if (vsp1_feature(vsp1, VSP1_HAS_WPF_HFLIP)) { in wpf_init_controls()
150 } else if (vsp1_feature(vsp1, VSP1_HAS_WPF_VFLIP)) { in wpf_init_controls()
180 dev_err(vsp1->dev, "wpf%u: failed to initialize controls\n", in wpf_init_controls()
195 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_s_stream() local
204 vsp1_write(vsp1, VI6_WPF_IRQ_ENB(wpf->entity.index), 0); in wpf_s_stream()
205 vsp1_write(vsp1, wpf->entity.index * VI6_WPF_OFFSET + in wpf_s_stream()
244 dev_err(wpf->entity.vsp1->dev, in wpf_configure_writeback_chain()
262 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_configure_stream() local
304 if (vsp1_feature(vsp1, VSP1_HAS_WPF_HFLIP) && index == 0) in wpf_configure_stream()
[all …]
Dvsp1_video.c118 info = vsp1_get_format_info(video->vsp1, pix->pixelformat); in __vsp1_video_try_format()
120 info = vsp1_get_format_info(video->vsp1, VSP1_VIDEO_DEF_FORMAT); in __vsp1_video_try_format()
254 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_setup_partitions() local
273 if (vsp1->info->gen == 3) { in vsp1_video_pipeline_setup_partitions()
378 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_run() local
415 dev_err(vsp1->dev, "Failed to obtain a dl list. Frame will be incomplete\n"); in vsp1_video_pipeline_run()
433 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_frame_end() local
444 for (i = 0; i < vsp1->info->rpf_count; ++i) { in vsp1_video_pipeline_frame_end()
478 ret = media_entity_enum_init(&ent_enum, &input->entity.vsp1->media_dev); in vsp1_video_pipeline_build_branch()
632 for (i = 0; i < video->vsp1->info->rpf_count; ++i) { in vsp1_video_pipeline_build()
[all …]
Dvsp1_video.h33 struct vsp1_device *vsp1; member
54 void vsp1_video_suspend(struct vsp1_device *vsp1);
55 void vsp1_video_resume(struct vsp1_device *vsp1);
57 struct vsp1_video *vsp1_video_create(struct vsp1_device *vsp1,
Dvsp1_pipe.c215 const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1, in vsp1_get_format_info() argument
221 if (vsp1->info->gen != 2) { in vsp1_get_format_info()
289 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_pipeline_run() local
292 vsp1_write(vsp1, VI6_CMD(pipe->output->entity.index), in vsp1_pipeline_run()
314 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_pipeline_stop() local
324 ret = vsp1_reset_wpf(vsp1, pipe->output->entity.index); in vsp1_pipeline_stop()
344 vsp1_write(vsp1, entity->route->reg, in vsp1_pipeline_stop()
349 vsp1_write(vsp1, VI6_DPR_HGO_SMPPT, in vsp1_pipeline_stop()
354 vsp1_write(vsp1, VI6_DPR_HGT_SMPPT, in vsp1_pipeline_stop()
Dvsp1_lif.c99 switch (entity->vsp1->version & VI6_IP_VERSION_MODEL_MASK) { in lif_configure_stream()
137 if ((entity->vsp1->version & VI6_IP_VERSION_MASK) == in lif_configure_stream()
152 struct vsp1_lif *vsp1_lif_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_lif_create() argument
157 lif = devm_kzalloc(vsp1->dev, sizeof(*lif), GFP_KERNEL); in vsp1_lif_create()
170 ret = vsp1_entity_init(vsp1, &lif->entity, "lif", 2, &lif_ops, in vsp1_lif_create()
Dvsp1_hgo.c28 return vsp1_read(hgo->histo.entity.vsp1, reg); in vsp1_hgo_read()
60 vsp1_write(hgo->histo.entity.vsp1, in vsp1_hgo_frame_end()
188 struct vsp1_hgo *vsp1_hgo_create(struct vsp1_device *vsp1) in vsp1_hgo_create() argument
193 hgo = devm_kzalloc(vsp1->dev, sizeof(*hgo), GFP_KERNEL); in vsp1_hgo_create()
199 vsp1->info->gen == 3 ? 2 : 1); in vsp1_hgo_create()
202 if (vsp1->info->gen == 3) in vsp1_hgo_create()
213 ret = vsp1_histogram_init(vsp1, &hgo->histo, VSP1_ENTITY_HGO, "hgo", in vsp1_hgo_create()
Dvsp1_rpf.c158 if (entity->vsp1->info->gen == 3) { in rpf_configure_stream()
248 struct vsp1_device *vsp1 = rpf->entity.vsp1; in rpf_configure_partition() local
307 if (vsp1->info->gen == 3 && format->num_planes == 3 && in rpf_configure_partition()
344 struct vsp1_rwpf *vsp1_rpf_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_rpf_create() argument
350 rpf = devm_kzalloc(vsp1->dev, sizeof(*rpf), GFP_KERNEL); in vsp1_rpf_create()
362 ret = vsp1_entity_init(vsp1, &rpf->entity, name, 2, &rpf_ops, in vsp1_rpf_create()
370 dev_err(vsp1->dev, "rpf%u: failed to initialize controls\n", in vsp1_rpf_create()
Dvsp1_lut.c197 struct vsp1_lut *vsp1_lut_create(struct vsp1_device *vsp1) in vsp1_lut_create() argument
202 lut = devm_kzalloc(vsp1->dev, sizeof(*lut), GFP_KERNEL); in vsp1_lut_create()
211 ret = vsp1_entity_init(vsp1, &lut->entity, "lut", 2, &lut_ops, in vsp1_lut_create()
221 lut->pool = vsp1_dl_body_pool_create(vsp1, 3, LUT_SIZE, 0); in vsp1_lut_create()
232 dev_err(vsp1->dev, "lut: failed to initialize controls\n"); in vsp1_lut_create()
Dvsp1_dl.h52 void vsp1_dlm_setup(struct vsp1_device *vsp1);
54 struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
69 vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies,
Dvsp1_clu.c238 struct vsp1_clu *vsp1_clu_create(struct vsp1_device *vsp1) in vsp1_clu_create() argument
243 clu = devm_kzalloc(vsp1->dev, sizeof(*clu), GFP_KERNEL); in vsp1_clu_create()
252 ret = vsp1_entity_init(vsp1, &clu->entity, "clu", 2, &clu_ops, in vsp1_clu_create()
263 clu->pool = vsp1_dl_body_pool_create(clu->entity.vsp1, 3, CLU_SIZE + 1, in vsp1_clu_create()
276 dev_err(vsp1->dev, "clu: failed to initialize controls\n"); in vsp1_clu_create()
Dvsp1_hgt.c28 return vsp1_read(hgt->histo.entity.vsp1, reg); in vsp1_hgt_read()
187 struct vsp1_hgt *vsp1_hgt_create(struct vsp1_device *vsp1) in vsp1_hgt_create() argument
192 hgt = devm_kzalloc(vsp1->dev, sizeof(*hgt), GFP_KERNEL); in vsp1_hgt_create()
203 ret = vsp1_histogram_init(vsp1, &hgt->histo, VSP1_ENTITY_HGT, "hgt", in vsp1_hgt_create()
Dvsp1_drm.h73 int vsp1_drm_init(struct vsp1_device *vsp1);
74 void vsp1_drm_cleanup(struct vsp1_device *vsp1);
Dvsp1_rwpf.h79 struct vsp1_rwpf *vsp1_rpf_create(struct vsp1_device *vsp1, unsigned int index);
80 struct vsp1_rwpf *vsp1_wpf_create(struct vsp1_device *vsp1, unsigned int index);
Dvsp1_hsit.c151 struct vsp1_hsit *vsp1_hsit_create(struct vsp1_device *vsp1, bool inverse) in vsp1_hsit_create() argument
156 hsit = devm_kzalloc(vsp1->dev, sizeof(*hsit), GFP_KERNEL); in vsp1_hsit_create()
169 ret = vsp1_entity_init(vsp1, &hsit->entity, inverse ? "hsi" : "hst", in vsp1_hsit_create()
Dvsp1_uif.c31 return vsp1_read(uif->entity.vsp1, in vsp1_uif_read()
240 struct vsp1_uif *vsp1_uif_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_uif_create() argument
246 uif = devm_kzalloc(vsp1->dev, sizeof(*uif), GFP_KERNEL); in vsp1_uif_create()
259 ret = vsp1_entity_init(vsp1, &uif->entity, name, 2, &uif_ops, in vsp1_uif_create()
Dvsp1_entity.c609 int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity, in vsp1_entity_init() argument
630 entity->vsp1 = vsp1; in vsp1_entity_init()
634 entity->pads = devm_kcalloc(vsp1->dev, in vsp1_entity_init()
643 entity->sources = devm_kcalloc(vsp1->dev, max(num_pads - 1, 1U), in vsp1_entity_init()
663 subdev->entity.ops = &vsp1->media_ops; in vsp1_entity_init()
667 dev_name(vsp1->dev), name); in vsp1_entity_init()
Dvsp1_brx.c407 struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1, in vsp1_brx_create() argument
415 brx = devm_kzalloc(vsp1->dev, sizeof(*brx), GFP_KERNEL); in vsp1_brx_create()
424 num_pads = vsp1->info->num_bru_inputs + 1; in vsp1_brx_create()
431 ret = vsp1_entity_init(vsp1, &brx->entity, name, num_pads, &brx_ops, in vsp1_brx_create()
446 dev_err(vsp1->dev, "%s: failed to initialize controls\n", name); in vsp1_brx_create()
Dvsp1_histo.c433 dev_name(histo->entity.vsp1->dev)); in histo_v4l2_querycap()
514 int vsp1_histogram_init(struct vsp1_device *vsp1, struct vsp1_histogram *histo, in vsp1_histogram_init() argument
539 ret = vsp1_entity_init(vsp1, &histo->entity, name, 2, &histo_ops, in vsp1_histogram_init()
550 histo->video.v4l2_dev = &vsp1->v4l2_dev; in vsp1_histogram_init()
570 histo->queue.dev = vsp1->dev; in vsp1_histogram_init()
573 dev_err(vsp1->dev, "failed to initialize vb2 queue\n"); in vsp1_histogram_init()
581 dev_err(vsp1->dev, "failed to register video device\n"); in vsp1_histogram_init()
/Linux-v5.4/Documentation/media/uapi/v4l/
Dmeta-formats.rst25 pixfmt-meta-vsp1-hgo
26 pixfmt-meta-vsp1-hgt
/Linux-v5.4/Documentation/devicetree/bindings/media/
Drenesas,vsp1.txt10 - "renesas,vsp1" for the R-Car Gen2 and RZ/G1 VSP1
26 compatible = "renesas,vsp1";

123