| /kernel/linux/linux-5.10/drivers/media/platform/vsp1/ |
| D | vsp1_drv.c | 3 * vsp1_drv.c -- R-Car VSP1 Driver 24 #include "vsp1.h" 48 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() 79 * pad. Links that would be invalid according to the VSP1 hardware capabilities 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() [all …]
|
| D | vsp1_drm.c | 3 * vsp1_drm.c -- R-Car VSP1 DRM/KMS Interface 16 #include <media/vsp1.h> 18 #include "vsp1.h" 63 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() [all …]
|
| 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
|
| D | vsp1.h | 3 * vsp1.h -- R-Car VSP1 Driver 72 #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()
|
| D | vsp1_dl.c | 3 * vsp1_dl.c -- R-Car VSP1 Display List 17 #include "vsp1.h" 128 * @vsp1: the VSP1 device 141 struct vsp1_device *vsp1; member 152 * @vsp1: the VSP1 device 165 struct vsp1_device *vsp1; member 207 * @vsp1: the VSP1 device 219 struct vsp1_device *vsp1; member 237 * @vsp1: The VSP1 device 248 vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies, in vsp1_dl_body_pool_create() argument [all …]
|
| D | vsp1_wpf.c | 3 * vsp1_wpf.c -- R-Car VSP1 Write Pixel Formatter 14 #include "vsp1.h" 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() 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() 225 * VSP1 Entity Operations [all …]
|
| D | vsp1_drm.h | 3 * vsp1_drm.h -- R-Car VSP1 DRM/KMS Interface 16 #include <media/vsp1.h> 22 * @pipe: the VSP1 pipeline used for display 51 * @pipe: the VSP1 DRM pipeline used for display 73 int vsp1_drm_init(struct vsp1_device *vsp1); 74 void vsp1_drm_cleanup(struct vsp1_device *vsp1);
|
| D | vsp1_video.c | 3 * vsp1_video.c -- R-Car VSP1 Video Node 26 #include "vsp1.h" 118 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() 175 * VSP1 Partition Algorithm support 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 [all …]
|
| D | vsp1_video.h | 3 * vsp1_video.h -- R-Car VSP1 Video Node 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,
|
| D | vsp1_hgo.c | 3 * vsp1_hgo.c -- R-Car VSP1 Histogram Generator 1D 16 #include "vsp1.h" 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() 129 * VSP1 Entity Operations 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()
|
| D | vsp1_lif.c | 3 * vsp1_lif.c -- R-Car VSP1 LCD Controller Interface 15 #include "vsp1.h" 82 * VSP1 Entity Operations 99 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()
|
| D | vsp1_pipe.c | 3 * vsp1_pipe.c -- R-Car VSP1 Pipeline 18 #include "vsp1.h" 209 * @vsp1: the VSP1 device 215 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/renesas/vsp1/ |
| D | vsp1_drv.c | 3 * vsp1_drv.c -- R-Car VSP1 Driver 24 #include "vsp1.h" 49 struct vsp1_device *vsp1 = data; in vsp1_irq_handler() local 54 for (i = 0; i < vsp1->info->wpf_count; ++i) { in vsp1_irq_handler() 55 struct vsp1_rwpf *wpf = vsp1->wpf[i]; in vsp1_irq_handler() 60 status = vsp1_read(vsp1, VI6_WPF_IRQ_STA(i)); in vsp1_irq_handler() 61 vsp1_write(vsp1, VI6_WPF_IRQ_STA(i), ~status & mask); in vsp1_irq_handler() 66 dev_warn_ratelimited(vsp1->dev, in vsp1_irq_handler() 88 * pad. Links that would be invalid according to the VSP1 hardware capabilities 98 static int vsp1_create_sink_links(struct vsp1_device *vsp1, in vsp1_create_sink_links() argument [all …]
|
| D | vsp1_drm.c | 3 * vsp1_drm.c -- R-Car VSP1 DRM/KMS Interface 16 #include <media/vsp1.h> 18 #include "vsp1.h" 63 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 134 crop = &vsp1->drm->inputs[rpf->entity.index].crop; in vsp1_du_pipeline_setup_rpf() 147 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() [all …]
|
| 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
|
| D | vsp1.h | 3 * vsp1.h -- R-Car VSP1 Driver 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()
|
| D | vsp1_dl.c | 3 * vsp1_dl.c -- R-Car VSP1 Display List 17 #include "vsp1.h" 128 * @vsp1: the VSP1 device 141 struct vsp1_device *vsp1; member 152 * @vsp1: the VSP1 device 165 struct vsp1_device *vsp1; member 207 * @vsp1: the VSP1 device 219 struct vsp1_device *vsp1; member 237 * @vsp1: The VSP1 device 248 vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies, in vsp1_dl_body_pool_create() argument [all …]
|
| D | vsp1_wpf.c | 3 * vsp1_wpf.c -- R-Car VSP1 Write Pixel Formatter 14 #include "vsp1.h" 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() 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() 225 * VSP1 Entity Operations [all …]
|
| D | vsp1_drm.h | 3 * vsp1_drm.h -- R-Car VSP1 DRM/KMS Interface 16 #include <media/vsp1.h> 22 * @pipe: the VSP1 pipeline used for display 51 * @pipe: the VSP1 DRM pipeline used for display 73 int vsp1_drm_init(struct vsp1_device *vsp1); 74 void vsp1_drm_cleanup(struct vsp1_device *vsp1);
|
| D | vsp1_video.h | 3 * vsp1_video.h -- R-Car VSP1 Video Node 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,
|
| D | vsp1_video.c | 3 * vsp1_video.c -- R-Car VSP1 Video Node 26 #include "vsp1.h" 119 info = vsp1_get_format_info(video->vsp1, pix->pixelformat); in __vsp1_video_try_format() 121 info = vsp1_get_format_info(video->vsp1, VSP1_VIDEO_DEF_FORMAT); in __vsp1_video_try_format() 176 * VSP1 Partition Algorithm support 255 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_setup_partitions() local 274 if (vsp1->info->gen >= 3) { in vsp1_video_pipeline_setup_partitions() 379 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_run() local 416 dev_err(vsp1->dev, "Failed to obtain a dl list. Frame will be incomplete\n"); in vsp1_video_pipeline_run() 434 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_frame_end() local [all …]
|
| D | vsp1_hgo.c | 3 * vsp1_hgo.c -- R-Car VSP1 Histogram Generator 1D 16 #include "vsp1.h" 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() 129 * VSP1 Entity Operations 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()
|
| D | vsp1_lif.c | 3 * vsp1_lif.c -- R-Car VSP1 LCD Controller Interface 15 #include "vsp1.h" 83 * VSP1 Entity Operations 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()
|
| /kernel/linux/linux-6.6/Documentation/userspace-api/media/v4l/ |
| D | metafmt-vsp1-hgo.rst | 3 .. _v4l2-meta-fmt-vsp1-hgo: 9 Renesas R-Car VSP1 1-D Histogram Data 15 This format describes histogram data generated by the Renesas R-Car VSP1 1-D 18 The VSP1 HGO is a histogram computation engine that can operate on RGB, YCrCb 44 .. flat-table:: VSP1 HGO Data - 64 Bins, Normal Mode (792 bytes) 95 .. flat-table:: VSP1 HGO Data - 64 Bins, Max Mode (264 bytes) 120 .. flat-table:: VSP1 HGO Data - 256 Bins, Normal Mode (1032 bytes) 145 .. flat-table:: VSP1 HGO Data - 256 Bins, Max Mode (1032 bytes)
|
| /kernel/linux/linux-5.10/Documentation/userspace-api/media/v4l/ |
| D | pixfmt-meta-vsp1-hgo.rst | 3 .. _v4l2-meta-fmt-vsp1-hgo: 9 Renesas R-Car VSP1 1-D Histogram Data 15 This format describes histogram data generated by the Renesas R-Car VSP1 1-D 18 The VSP1 HGO is a histogram computation engine that can operate on RGB, YCrCb 44 .. flat-table:: VSP1 HGO Data - 64 Bins, Normal Mode (792 bytes) 95 .. flat-table:: VSP1 HGO Data - 64 Bins, Max Mode (264 bytes) 120 .. flat-table:: VSP1 HGO Data - 256 Bins, Normal Mode (1032 bytes) 145 .. flat-table:: VSP1 HGO Data - 256 Bins, Max Mode (1032 bytes)
|