/linux-6.3-rc2/drivers/media/platform/renesas/vsp1/ |
A D | vsp1_drv.c | 268 vsp1->brs = vsp1_brx_create(vsp1, VSP1_ENTITY_BRS); in vsp1_create_entities() 288 vsp1->clu = vsp1_clu_create(vsp1); in vsp1_create_entities() 297 vsp1->hsi = vsp1_hsit_create(vsp1, true); in vsp1_create_entities() 305 vsp1->hst = vsp1_hsit_create(vsp1, false); in vsp1_create_entities() 314 vsp1->hgo = vsp1_hgo_create(vsp1); in vsp1_create_entities() 325 vsp1->hgt = vsp1_hgt_create(vsp1); in vsp1_create_entities() 356 vsp1->lut = vsp1_lut_create(vsp1); in vsp1_create_entities() 390 vsp1->sru = vsp1_sru_create(vsp1); in vsp1_create_entities() 862 vsp1->version = vsp1_read(vsp1, VI6_IP_VERSION); in vsp1_lookup_info() 927 vsp1->bus_master = vsp1->dev; in vsp1_probe() [all …]
|
A D | vsp1_drm.c | 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() 248 else if (vsp1_feature(vsp1, VSP1_HAS_BRU) && !vsp1->bru->entity.pipe) in vsp1_du_pipeline_setup_brx() 305 dev_warn(vsp1->dev, in vsp1_du_pipeline_setup_brx() 390 if (rpf_zpos(vsp1, inputs[j-1]) <= rpf_zpos(vsp1, rpf)) in vsp1_du_pipeline_setup_inputs() 440 dev_err(vsp1->dev, in vsp1_du_pipeline_setup_inputs() 615 if (!vsp1) in vsp1_du_init() 836 dev_dbg(vsp1->dev, in vsp1_du_atomic_update() 943 vsp1->drm = devm_kzalloc(vsp1->dev, sizeof(*vsp1->drm), GFP_KERNEL); in vsp1_drm_init() [all …]
|
A D | Makefile | 2 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
|
A D | vsp1_dl.c | 141 struct vsp1_device *vsp1; member 165 struct vsp1_device *vsp1; member 219 struct vsp1_device *vsp1; member 259 pool->vsp1 = vsp1; in vsp1_dl_body_pool_create() 434 pool->vsp1 = vsp1; in vsp1_dl_cmd_pool_create() 839 struct vsp1_device *vsp1 = dlm->vsp1; in vsp1_dl_list_hw_update_pending() local 854 struct vsp1_device *vsp1 = dlm->vsp1; in vsp1_dl_list_hw_enqueue() local 971 struct vsp1_device *vsp1 = dlm->vsp1; in vsp1_dlm_irq_frame_end() local 1063 vsp1_write(vsp1, VI6_DL_CTRL, ctrl); in vsp1_dlm_setup() 1102 dlm->singleshot = vsp1->info->uapi; in vsp1_dlm_create() [all …]
|
A D | vsp1.h | 75 #define vsp1_feature(vsp1, f) ((vsp1)->info->features & (f)) argument 112 int vsp1_device_get(struct vsp1_device *vsp1); 113 void vsp1_device_put(struct vsp1_device *vsp1); 115 int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index); 117 static inline u32 vsp1_read(struct vsp1_device *vsp1, u32 reg) in vsp1_read() argument 119 return ioread32(vsp1->mmio + reg); in vsp1_read() 122 static inline void vsp1_write(struct vsp1_device *vsp1, u32 reg, u32 data) in vsp1_write() argument 124 iowrite32(data, vsp1->mmio + reg); in vsp1_write()
|
A D | vsp1_wpf.c | 136 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() 195 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_s_stream() local 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 324 for (i = 0; i < vsp1->info->rpf_count; ++i) { in wpf_configure_stream() 397 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_configure_partition() local 573 if (vsp1->info->gen == 2) { in vsp1_wpf_create() [all …]
|
A D | vsp1_video.c | 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 433 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_frame_end() local 1117 ret = vsp1_device_get(video->vsp1); in vsp1_video_open() 1133 vsp1_device_put(video->vsp1); in vsp1_video_release() 1163 struct vsp1_rwpf *wpf = vsp1->wpf[i]; in vsp1_video_suspend() 1180 struct vsp1_rwpf *wpf = vsp1->wpf[i]; in vsp1_video_suspend() 1205 struct vsp1_rwpf *wpf = vsp1->wpf[i]; in vsp1_video_resume() 1245 video->vsp1 = vsp1; in vsp1_video_create() [all …]
|
A D | vsp1_video.h | 33 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,
|
A D | vsp1_pipe.c | 233 const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1, in vsp1_get_format_info() argument 239 if (vsp1->info->gen != 2) { in vsp1_get_format_info() 307 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_pipeline_run() local 310 vsp1_write(vsp1, VI6_CMD(pipe->output->entity.index), in vsp1_pipeline_run() 332 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_pipeline_stop() local 342 ret = vsp1_reset_wpf(vsp1, pipe->output->entity.index); in vsp1_pipeline_stop() 362 vsp1_write(vsp1, entity->route->reg, in vsp1_pipeline_stop() 367 vsp1_write(vsp1, VI6_DPR_HGO_SMPPT, in vsp1_pipeline_stop() 372 vsp1_write(vsp1, VI6_DPR_HGT_SMPPT, in vsp1_pipeline_stop()
|
A D | vsp1_lif.c | 100 switch (entity->vsp1->version & VI6_IP_VERSION_MODEL_MASK) { in lif_configure_stream() 140 if (vsp1_feature(entity->vsp1, VSP1_HAS_NON_ZERO_LBA)) in lif_configure_stream() 154 struct vsp1_lif *vsp1_lif_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_lif_create() argument 159 lif = devm_kzalloc(vsp1->dev, sizeof(*lif), GFP_KERNEL); in vsp1_lif_create() 172 ret = vsp1_entity_init(vsp1, &lif->entity, "lif", 2, &lif_ops, in vsp1_lif_create()
|
A D | vsp1_hgo.c | 28 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()
|
A D | vsp1_rpf.c | 112 if (entity->vsp1->info->gen == 4) { in rpf_configure_stream() 210 if (entity->vsp1->info->gen >= 3) { in rpf_configure_stream() 300 struct vsp1_device *vsp1 = rpf->entity.vsp1; in rpf_configure_partition() local 359 if (vsp1->info->gen >= 3 && format->num_planes == 3 && in rpf_configure_partition() 396 struct vsp1_rwpf *vsp1_rpf_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_rpf_create() argument 402 rpf = devm_kzalloc(vsp1->dev, sizeof(*rpf), GFP_KERNEL); in vsp1_rpf_create() 414 ret = vsp1_entity_init(vsp1, &rpf->entity, name, 2, &rpf_ops, in vsp1_rpf_create() 422 dev_err(vsp1->dev, "rpf%u: failed to initialize controls\n", in vsp1_rpf_create()
|
A D | vsp1_lut.c | 198 struct vsp1_lut *vsp1_lut_create(struct vsp1_device *vsp1) in vsp1_lut_create() argument 203 lut = devm_kzalloc(vsp1->dev, sizeof(*lut), GFP_KERNEL); in vsp1_lut_create() 212 ret = vsp1_entity_init(vsp1, &lut->entity, "lut", 2, &lut_ops, in vsp1_lut_create() 222 lut->pool = vsp1_dl_body_pool_create(vsp1, 3, LUT_SIZE, 0); in vsp1_lut_create() 233 dev_err(vsp1->dev, "lut: failed to initialize controls\n"); in vsp1_lut_create()
|
A D | vsp1_dl.h | 52 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,
|
A D | vsp1_clu.c | 239 struct vsp1_clu *vsp1_clu_create(struct vsp1_device *vsp1) in vsp1_clu_create() argument 244 clu = devm_kzalloc(vsp1->dev, sizeof(*clu), GFP_KERNEL); in vsp1_clu_create() 253 ret = vsp1_entity_init(vsp1, &clu->entity, "clu", 2, &clu_ops, in vsp1_clu_create() 264 clu->pool = vsp1_dl_body_pool_create(clu->entity.vsp1, 3, CLU_SIZE + 1, in vsp1_clu_create() 277 dev_err(vsp1->dev, "clu: failed to initialize controls\n"); in vsp1_clu_create()
|
A D | vsp1_hgt.c | 28 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()
|
A D | vsp1_drm.h | 73 int vsp1_drm_init(struct vsp1_device *vsp1); 74 void vsp1_drm_cleanup(struct vsp1_device *vsp1);
|
A D | vsp1_rwpf.h | 79 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);
|
A D | vsp1_hsit.c | 153 struct vsp1_hsit *vsp1_hsit_create(struct vsp1_device *vsp1, bool inverse) in vsp1_hsit_create() argument 158 hsit = devm_kzalloc(vsp1->dev, sizeof(*hsit), GFP_KERNEL); in vsp1_hsit_create() 171 ret = vsp1_entity_init(vsp1, &hsit->entity, inverse ? "hsi" : "hst", in vsp1_hsit_create()
|
A D | vsp1_uif.c | 31 return vsp1_read(uif->entity.vsp1, in vsp1_uif_read() 243 struct vsp1_uif *vsp1_uif_create(struct vsp1_device *vsp1, unsigned int index) in vsp1_uif_create() argument 249 uif = devm_kzalloc(vsp1->dev, sizeof(*uif), GFP_KERNEL); in vsp1_uif_create() 262 ret = vsp1_entity_init(vsp1, &uif->entity, name, 2, &uif_ops, in vsp1_uif_create()
|
A D | vsp1_entity.c | 612 int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity, in vsp1_entity_init() argument 634 entity->vsp1 = vsp1; in vsp1_entity_init() 638 entity->pads = devm_kcalloc(vsp1->dev, in vsp1_entity_init() 647 entity->sources = devm_kcalloc(vsp1->dev, max(num_pads - 1, 1U), in vsp1_entity_init() 667 subdev->entity.ops = &vsp1->media_ops; in vsp1_entity_init() 671 dev_name(vsp1->dev), name); in vsp1_entity_init()
|
A D | vsp1_brx.c | 409 struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1, in vsp1_brx_create() argument 417 brx = devm_kzalloc(vsp1->dev, sizeof(*brx), GFP_KERNEL); in vsp1_brx_create() 426 num_pads = vsp1->info->num_bru_inputs + 1; in vsp1_brx_create() 433 ret = vsp1_entity_init(vsp1, &brx->entity, name, num_pads, &brx_ops, in vsp1_brx_create() 448 dev_err(vsp1->dev, "%s: failed to initialize controls\n", name); in vsp1_brx_create()
|
A D | vsp1_histo.c | 517 int vsp1_histogram_init(struct vsp1_device *vsp1, struct vsp1_histogram *histo, in vsp1_histogram_init() argument 542 ret = vsp1_entity_init(vsp1, &histo->entity, name, 2, &histo_ops, in vsp1_histogram_init() 553 histo->video.v4l2_dev = &vsp1->v4l2_dev; in vsp1_histogram_init() 573 histo->queue.dev = vsp1->dev; in vsp1_histogram_init() 576 dev_err(vsp1->dev, "failed to initialize vb2 queue\n"); in vsp1_histogram_init() 584 dev_err(vsp1->dev, "failed to register video device\n"); in vsp1_histogram_init()
|
/linux-6.3-rc2/Documentation/devicetree/bindings/media/ |
A D | renesas,vsp1.yaml | 4 $id: http://devicetree.org/schemas/media/renesas,vsp1.yaml# 21 - renesas,vsp1 # R-Car Gen2 and RZ/G1 59 const: renesas,vsp1 100 compatible = "renesas,vsp1";
|
/linux-6.3-rc2/Documentation/userspace-api/media/v4l/ |
A D | meta-formats.rst | 19 pixfmt-meta-vsp1-hgo 20 pixfmt-meta-vsp1-hgt
|