vsp1               72 drivers/media/platform/vsp1/vsp1.h #define vsp1_feature(vsp1, f) ((vsp1)->info->features & (f))
vsp1              108 drivers/media/platform/vsp1/vsp1.h int vsp1_device_get(struct vsp1_device *vsp1);
vsp1              109 drivers/media/platform/vsp1/vsp1.h void vsp1_device_put(struct vsp1_device *vsp1);
vsp1              111 drivers/media/platform/vsp1/vsp1.h int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index);
vsp1              113 drivers/media/platform/vsp1/vsp1.h static inline u32 vsp1_read(struct vsp1_device *vsp1, u32 reg)
vsp1              115 drivers/media/platform/vsp1/vsp1.h 	return ioread32(vsp1->mmio + reg);
vsp1              118 drivers/media/platform/vsp1/vsp1.h static inline void vsp1_write(struct vsp1_device *vsp1, u32 reg, u32 data)
vsp1              120 drivers/media/platform/vsp1/vsp1.h 	iowrite32(data, vsp1->mmio + reg);
vsp1              407 drivers/media/platform/vsp1/vsp1_brx.c struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1,
vsp1              415 drivers/media/platform/vsp1/vsp1_brx.c 	brx = devm_kzalloc(vsp1->dev, sizeof(*brx), GFP_KERNEL);
vsp1              424 drivers/media/platform/vsp1/vsp1_brx.c 		num_pads = vsp1->info->num_bru_inputs + 1;
vsp1              431 drivers/media/platform/vsp1/vsp1_brx.c 	ret = vsp1_entity_init(vsp1, &brx->entity, name, num_pads, &brx_ops,
vsp1              446 drivers/media/platform/vsp1/vsp1_brx.c 		dev_err(vsp1->dev, "%s: failed to initialize controls\n", name);
vsp1               41 drivers/media/platform/vsp1/vsp1_brx.h struct vsp1_brx *vsp1_brx_create(struct vsp1_device *vsp1,
vsp1              238 drivers/media/platform/vsp1/vsp1_clu.c struct vsp1_clu *vsp1_clu_create(struct vsp1_device *vsp1)
vsp1              243 drivers/media/platform/vsp1/vsp1_clu.c 	clu = devm_kzalloc(vsp1->dev, sizeof(*clu), GFP_KERNEL);
vsp1              252 drivers/media/platform/vsp1/vsp1_clu.c 	ret = vsp1_entity_init(vsp1, &clu->entity, "clu", 2, &clu_ops,
vsp1              263 drivers/media/platform/vsp1/vsp1_clu.c 	clu->pool = vsp1_dl_body_pool_create(clu->entity.vsp1, 3, CLU_SIZE + 1,
vsp1              276 drivers/media/platform/vsp1/vsp1_clu.c 		dev_err(vsp1->dev, "clu: failed to initialize controls\n");
vsp1               43 drivers/media/platform/vsp1/vsp1_clu.h struct vsp1_clu *vsp1_clu_create(struct vsp1_device *vsp1);
vsp1              141 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1;
vsp1              165 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1;
vsp1              219 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1;
vsp1              248 drivers/media/platform/vsp1/vsp1_dl.c vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies,
vsp1              259 drivers/media/platform/vsp1/vsp1_dl.c 	pool->vsp1 = vsp1;
vsp1              276 drivers/media/platform/vsp1/vsp1_dl.c 	pool->mem = dma_alloc_wc(vsp1->bus_master, pool->size, &pool->dma,
vsp1              314 drivers/media/platform/vsp1/vsp1_dl.c 		dma_free_wc(pool->vsp1->bus_master, pool->size, pool->mem,
vsp1              423 drivers/media/platform/vsp1/vsp1_dl.c vsp1_dl_cmd_pool_create(struct vsp1_device *vsp1, enum vsp1_extcmd_type type,
vsp1              448 drivers/media/platform/vsp1/vsp1_dl.c 	pool->mem = dma_alloc_wc(vsp1->bus_master, pool->size, &pool->dma,
vsp1              523 drivers/media/platform/vsp1/vsp1_dl.c 		dma_free_wc(pool->vsp1->bus_master, pool->size, pool->mem,
vsp1              837 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1 = dlm->vsp1;
vsp1              846 drivers/media/platform/vsp1/vsp1_dl.c 	return !!(vsp1_read(vsp1, VI6_CMD(dlm->index)) & VI6_CMD_UPDHDR);
vsp1              852 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1 = dlm->vsp1;
vsp1              861 drivers/media/platform/vsp1/vsp1_dl.c 	vsp1_write(vsp1, VI6_DL_HDR_ADDR(dlm->index), dl->dma);
vsp1              969 drivers/media/platform/vsp1/vsp1_dl.c 	struct vsp1_device *vsp1 = dlm->vsp1;
vsp1              970 drivers/media/platform/vsp1/vsp1_dl.c 	u32 status = vsp1_read(vsp1, VI6_STATUS);
vsp1             1047 drivers/media/platform/vsp1/vsp1_dl.c void vsp1_dlm_setup(struct vsp1_device *vsp1)
vsp1             1056 drivers/media/platform/vsp1/vsp1_dl.c 	if (vsp1_feature(vsp1, VSP1_HAS_EXT_DL)) {
vsp1             1057 drivers/media/platform/vsp1/vsp1_dl.c 		for (i = 0; i < vsp1->info->wpf_count; ++i)
vsp1             1058 drivers/media/platform/vsp1/vsp1_dl.c 			vsp1_write(vsp1, VI6_DL_EXT_CTRL(i), ext_dl);
vsp1             1061 drivers/media/platform/vsp1/vsp1_dl.c 	vsp1_write(vsp1, VI6_DL_CTRL, ctrl);
vsp1             1062 drivers/media/platform/vsp1/vsp1_dl.c 	vsp1_write(vsp1, VI6_DL_SWAP, VI6_DL_SWAP_LWS);
vsp1             1087 drivers/media/platform/vsp1/vsp1_dl.c struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
vsp1             1095 drivers/media/platform/vsp1/vsp1_dl.c 	dlm = devm_kzalloc(vsp1->dev, sizeof(*dlm), GFP_KERNEL);
vsp1             1100 drivers/media/platform/vsp1/vsp1_dl.c 	dlm->singleshot = vsp1->info->uapi;
vsp1             1101 drivers/media/platform/vsp1/vsp1_dl.c 	dlm->vsp1 = vsp1;
vsp1             1113 drivers/media/platform/vsp1/vsp1_dl.c 	header_size = vsp1_feature(vsp1, VSP1_HAS_EXT_DL) ?
vsp1             1119 drivers/media/platform/vsp1/vsp1_dl.c 	dlm->pool = vsp1_dl_body_pool_create(vsp1, prealloc + 1,
vsp1             1134 drivers/media/platform/vsp1/vsp1_dl.c 		if (vsp1_feature(vsp1, VSP1_HAS_EXT_DL))
vsp1             1141 drivers/media/platform/vsp1/vsp1_dl.c 	if (vsp1_feature(vsp1, VSP1_HAS_EXT_DL)) {
vsp1             1142 drivers/media/platform/vsp1/vsp1_dl.c 		dlm->cmdpool = vsp1_dl_cmd_pool_create(vsp1,
vsp1               52 drivers/media/platform/vsp1/vsp1_dl.h void vsp1_dlm_setup(struct vsp1_device *vsp1);
vsp1               54 drivers/media/platform/vsp1/vsp1_dl.h struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
vsp1               69 drivers/media/platform/vsp1/vsp1_dl.h vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies,
vsp1               63 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_insert_uif(struct vsp1_device *vsp1,
vsp1               99 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on UIF sink\n",
vsp1              115 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1,
vsp1              130 drivers/media/platform/vsp1/vsp1_drm.c 	crop = &vsp1->drm->inputs[rpf->entity.index].crop;
vsp1              145 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev,
vsp1              161 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev,
vsp1              177 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev,
vsp1              190 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_insert_uif(vsp1, pipe, uif, &rpf->entity, RWPF_PAD_SOURCE,
vsp1              203 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on %s pad %u\n",
vsp1              209 drivers/media/platform/vsp1/vsp1_drm.c 	sel.r = vsp1->drm->inputs[rpf->entity.index].compose;
vsp1              216 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set selection (%u,%u)/%ux%u on %s pad %u\n",
vsp1              224 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_setup_inputs(struct vsp1_device *vsp1,
vsp1              228 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_setup_brx(struct vsp1_device *vsp1,
vsp1              245 drivers/media/platform/vsp1/vsp1_drm.c 		brx = &vsp1->bru->entity;
vsp1              248 drivers/media/platform/vsp1/vsp1_drm.c 	else if (!vsp1->bru->entity.pipe)
vsp1              249 drivers/media/platform/vsp1/vsp1_drm.c 		brx = &vsp1->bru->entity;
vsp1              251 drivers/media/platform/vsp1/vsp1_drm.c 		brx = &vsp1->brs->entity;
vsp1              259 drivers/media/platform/vsp1/vsp1_drm.c 			dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
vsp1              292 drivers/media/platform/vsp1/vsp1_drm.c 			dev_dbg(vsp1->dev, "%s: pipe %u: waiting for %s\n",
vsp1              298 drivers/media/platform/vsp1/vsp1_drm.c 			vsp1_du_pipeline_setup_inputs(vsp1, &owner_pipe->pipe);
vsp1              305 drivers/media/platform/vsp1/vsp1_drm.c 				dev_warn(vsp1->dev,
vsp1              321 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: pipe %u: acquired %s\n",
vsp1              348 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on %s pad %u\n",
vsp1              354 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: format mismatch\n", __func__);
vsp1              361 drivers/media/platform/vsp1/vsp1_drm.c static unsigned int rpf_zpos(struct vsp1_device *vsp1, struct vsp1_rwpf *rpf)
vsp1              363 drivers/media/platform/vsp1/vsp1_drm.c 	return vsp1->drm->inputs[rpf->entity.index].zpos;
vsp1              367 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_setup_inputs(struct vsp1_device *vsp1,
vsp1              381 drivers/media/platform/vsp1/vsp1_drm.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              382 drivers/media/platform/vsp1/vsp1_drm.c 		struct vsp1_rwpf *rpf = vsp1->rpf[i];
vsp1              390 drivers/media/platform/vsp1/vsp1_drm.c 			if (rpf_zpos(vsp1, inputs[j-1]) <= rpf_zpos(vsp1, rpf))
vsp1              403 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_pipeline_setup_brx(vsp1, pipe);
vsp1              405 drivers/media/platform/vsp1/vsp1_drm.c 		dev_err(vsp1->dev, "%s: failed to setup %s source\n", __func__,
vsp1              431 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: connecting RPF.%u to %s:%u\n",
vsp1              438 drivers/media/platform/vsp1/vsp1_drm.c 		ret = vsp1_du_pipeline_setup_rpf(vsp1, pipe, rpf, uif, i);
vsp1              440 drivers/media/platform/vsp1/vsp1_drm.c 			dev_err(vsp1->dev,
vsp1              451 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_insert_uif(vsp1, pipe, uif,
vsp1              455 drivers/media/platform/vsp1/vsp1_drm.c 		dev_err(vsp1->dev, "%s: failed to setup UIF after %s\n",
vsp1              476 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_setup_output(struct vsp1_device *vsp1,
vsp1              495 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on WPF%u sink\n",
vsp1              505 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: got format %ux%u (%x) on WPF%u source\n",
vsp1              515 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: set format %ux%u (%x) on LIF%u sink\n",
vsp1              526 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: format mismatch on LIF%u\n", __func__,
vsp1              573 drivers/media/platform/vsp1/vsp1_drm.c static int vsp1_du_pipeline_set_rwpf_format(struct vsp1_device *vsp1,
vsp1              580 drivers/media/platform/vsp1/vsp1_drm.c 	fmtinfo = vsp1_get_format_info(vsp1, pixelformat);
vsp1              582 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "Unsupported pixel format %08x\n",
vsp1              609 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              611 drivers/media/platform/vsp1/vsp1_drm.c 	if (!vsp1)
vsp1              642 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              649 drivers/media/platform/vsp1/vsp1_drm.c 	if (pipe_index >= vsp1->info->lif_count)
vsp1              652 drivers/media/platform/vsp1/vsp1_drm.c 	drm_pipe = &vsp1->drm->pipe[pipe_index];
vsp1              658 drivers/media/platform/vsp1/vsp1_drm.c 		mutex_lock(&vsp1->drm->lock);
vsp1              668 drivers/media/platform/vsp1/vsp1_drm.c 			dev_err(vsp1->dev, "DRM pipeline stop timeout\n");
vsp1              691 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: pipe %u: releasing %s\n",
vsp1              699 drivers/media/platform/vsp1/vsp1_drm.c 		mutex_unlock(&vsp1->drm->lock);
vsp1              702 drivers/media/platform/vsp1/vsp1_drm.c 		vsp1_device_put(vsp1);
vsp1              704 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: pipeline disabled\n", __func__);
vsp1              713 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: configuring LIF%u with format %ux%u%s\n",
vsp1              717 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_lock(&vsp1->drm->lock);
vsp1              720 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_pipeline_setup_inputs(vsp1, pipe);
vsp1              724 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_pipeline_setup_output(vsp1, pipe);
vsp1              729 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_device_get(vsp1);
vsp1              741 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1_write(vsp1, VI6_DISP_IRQ_STA(pipe_index), 0);
vsp1              742 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1_write(vsp1, VI6_DISP_IRQ_ENB(pipe_index), 0);
vsp1              748 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_unlock(&vsp1->drm->lock);
vsp1              758 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev, "%s: pipeline enabled\n", __func__);
vsp1              808 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              809 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_drm_pipeline *drm_pipe = &vsp1->drm->pipe[pipe_index];
vsp1              813 drivers/media/platform/vsp1/vsp1_drm.c 	if (rpf_index >= vsp1->info->rpf_count)
vsp1              816 drivers/media/platform/vsp1/vsp1_drm.c 	rpf = vsp1->rpf[rpf_index];
vsp1              819 drivers/media/platform/vsp1/vsp1_drm.c 		dev_dbg(vsp1->dev, "%s: RPF%u: disable requested\n", __func__,
vsp1              832 drivers/media/platform/vsp1/vsp1_drm.c 	dev_dbg(vsp1->dev,
vsp1              844 drivers/media/platform/vsp1/vsp1_drm.c 	ret = vsp1_du_pipeline_set_rwpf_format(vsp1, rpf, cfg->pixelformat,
vsp1              855 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1->drm->inputs[rpf_index].crop = cfg->src;
vsp1              856 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1->drm->inputs[rpf_index].compose = cfg->dst;
vsp1              857 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1->drm->inputs[rpf_index].zpos = cfg->zpos;
vsp1              874 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              875 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_drm_pipeline *drm_pipe = &vsp1->drm->pipe[pipe_index];
vsp1              881 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_lock(&vsp1->drm->lock);
vsp1              886 drivers/media/platform/vsp1/vsp1_drm.c 		ret = vsp1_du_pipeline_set_rwpf_format(vsp1, pipe->output,
vsp1              898 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1_du_pipeline_setup_inputs(vsp1, pipe);
vsp1              902 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_unlock(&vsp1->drm->lock);
vsp1              908 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              915 drivers/media/platform/vsp1/vsp1_drm.c 	return dma_map_sg_attrs(vsp1->bus_master, sgt->sgl, sgt->nents,
vsp1              922 drivers/media/platform/vsp1/vsp1_drm.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              924 drivers/media/platform/vsp1/vsp1_drm.c 	dma_unmap_sg_attrs(vsp1->bus_master, sgt->sgl, sgt->nents,
vsp1              933 drivers/media/platform/vsp1/vsp1_drm.c int vsp1_drm_init(struct vsp1_device *vsp1)
vsp1              937 drivers/media/platform/vsp1/vsp1_drm.c 	vsp1->drm = devm_kzalloc(vsp1->dev, sizeof(*vsp1->drm), GFP_KERNEL);
vsp1              938 drivers/media/platform/vsp1/vsp1_drm.c 	if (!vsp1->drm)
vsp1              941 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_init(&vsp1->drm->lock);
vsp1              944 drivers/media/platform/vsp1/vsp1_drm.c 	for (i = 0; i < vsp1->info->lif_count; ++i) {
vsp1              945 drivers/media/platform/vsp1/vsp1_drm.c 		struct vsp1_drm_pipeline *drm_pipe = &vsp1->drm->pipe[i];
vsp1              958 drivers/media/platform/vsp1/vsp1_drm.c 		pipe->output = vsp1->wpf[i];
vsp1              959 drivers/media/platform/vsp1/vsp1_drm.c 		pipe->lif = &vsp1->lif[i]->entity;
vsp1              973 drivers/media/platform/vsp1/vsp1_drm.c 		if (i < vsp1->info->uif_count)
vsp1              974 drivers/media/platform/vsp1/vsp1_drm.c 			drm_pipe->uif = &vsp1->uif[i]->entity;
vsp1              978 drivers/media/platform/vsp1/vsp1_drm.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              979 drivers/media/platform/vsp1/vsp1_drm.c 		struct vsp1_rwpf *input = vsp1->rpf[i];
vsp1              987 drivers/media/platform/vsp1/vsp1_drm.c void vsp1_drm_cleanup(struct vsp1_device *vsp1)
vsp1              989 drivers/media/platform/vsp1/vsp1_drm.c 	mutex_destroy(&vsp1->drm->lock);
vsp1               73 drivers/media/platform/vsp1/vsp1_drm.h int vsp1_drm_init(struct vsp1_device *vsp1);
vsp1               74 drivers/media/platform/vsp1/vsp1_drm.h void vsp1_drm_cleanup(struct vsp1_device *vsp1);
vsp1               48 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = data;
vsp1               53 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1               54 drivers/media/platform/vsp1/vsp1_drv.c 		struct vsp1_rwpf *wpf = vsp1->wpf[i];
vsp1               59 drivers/media/platform/vsp1/vsp1_drv.c 		status = vsp1_read(vsp1, VI6_WPF_IRQ_STA(i));
vsp1               60 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_write(vsp1, VI6_WPF_IRQ_STA(i), ~status & mask);
vsp1               89 drivers/media/platform/vsp1/vsp1_drv.c static int vsp1_create_sink_links(struct vsp1_device *vsp1,
vsp1               97 drivers/media/platform/vsp1/vsp1_drv.c 	list_for_each_entry(source, &vsp1->entities, list_dev) {
vsp1              132 drivers/media/platform/vsp1/vsp1_drv.c static int vsp1_uapi_create_links(struct vsp1_device *vsp1)
vsp1              138 drivers/media/platform/vsp1/vsp1_drv.c 	list_for_each_entry(entity, &vsp1->entities, list_dev) {
vsp1              143 drivers/media/platform/vsp1/vsp1_drv.c 		ret = vsp1_create_sink_links(vsp1, entity);
vsp1              148 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->hgo) {
vsp1              149 drivers/media/platform/vsp1/vsp1_drv.c 		ret = media_create_pad_link(&vsp1->hgo->histo.entity.subdev.entity,
vsp1              151 drivers/media/platform/vsp1/vsp1_drv.c 					    &vsp1->hgo->histo.video.entity, 0,
vsp1              158 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->hgt) {
vsp1              159 drivers/media/platform/vsp1/vsp1_drv.c 		ret = media_create_pad_link(&vsp1->hgt->histo.entity.subdev.entity,
vsp1              161 drivers/media/platform/vsp1/vsp1_drv.c 					    &vsp1->hgt->histo.video.entity, 0,
vsp1              168 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->lif_count; ++i) {
vsp1              169 drivers/media/platform/vsp1/vsp1_drv.c 		if (!vsp1->lif[i])
vsp1              172 drivers/media/platform/vsp1/vsp1_drv.c 		ret = media_create_pad_link(&vsp1->wpf[i]->entity.subdev.entity,
vsp1              174 drivers/media/platform/vsp1/vsp1_drv.c 					    &vsp1->lif[i]->entity.subdev.entity,
vsp1              180 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              181 drivers/media/platform/vsp1/vsp1_drv.c 		struct vsp1_rwpf *rpf = vsp1->rpf[i];
vsp1              192 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1              197 drivers/media/platform/vsp1/vsp1_drv.c 		struct vsp1_rwpf *wpf = vsp1->wpf[i];
vsp1              211 drivers/media/platform/vsp1/vsp1_drv.c static void vsp1_destroy_entities(struct vsp1_device *vsp1)
vsp1              216 drivers/media/platform/vsp1/vsp1_drv.c 	list_for_each_entry_safe(entity, _entity, &vsp1->entities, list_dev) {
vsp1              221 drivers/media/platform/vsp1/vsp1_drv.c 	list_for_each_entry_safe(video, _video, &vsp1->videos, list) {
vsp1              226 drivers/media/platform/vsp1/vsp1_drv.c 	v4l2_device_unregister(&vsp1->v4l2_dev);
vsp1              227 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->info->uapi)
vsp1              228 drivers/media/platform/vsp1/vsp1_drv.c 		media_device_unregister(&vsp1->media_dev);
vsp1              229 drivers/media/platform/vsp1/vsp1_drv.c 	media_device_cleanup(&vsp1->media_dev);
vsp1              231 drivers/media/platform/vsp1/vsp1_drv.c 	if (!vsp1->info->uapi)
vsp1              232 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_drm_cleanup(vsp1);
vsp1              235 drivers/media/platform/vsp1/vsp1_drv.c static int vsp1_create_entities(struct vsp1_device *vsp1)
vsp1              237 drivers/media/platform/vsp1/vsp1_drv.c 	struct media_device *mdev = &vsp1->media_dev;
vsp1              238 drivers/media/platform/vsp1/vsp1_drv.c 	struct v4l2_device *vdev = &vsp1->v4l2_dev;
vsp1              243 drivers/media/platform/vsp1/vsp1_drv.c 	mdev->dev = vsp1->dev;
vsp1              244 drivers/media/platform/vsp1/vsp1_drv.c 	mdev->hw_revision = vsp1->version;
vsp1              245 drivers/media/platform/vsp1/vsp1_drv.c 	strscpy(mdev->model, vsp1->info->model, sizeof(mdev->model));
vsp1              250 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->media_ops.link_setup = vsp1_entity_link_setup;
vsp1              256 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->info->uapi)
vsp1              257 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->media_ops.link_validate = v4l2_subdev_link_validate;
vsp1              260 drivers/media/platform/vsp1/vsp1_drv.c 	ret = v4l2_device_register(vsp1->dev, vdev);
vsp1              262 drivers/media/platform/vsp1/vsp1_drv.c 		dev_err(vsp1->dev, "V4L2 device registration failed (%d)\n",
vsp1              268 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_BRS)) {
vsp1              269 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->brs = vsp1_brx_create(vsp1, VSP1_ENTITY_BRS);
vsp1              270 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->brs)) {
vsp1              271 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->brs);
vsp1              275 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->brs->entity.list_dev, &vsp1->entities);
vsp1              278 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_BRU)) {
vsp1              279 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->bru = vsp1_brx_create(vsp1, VSP1_ENTITY_BRU);
vsp1              280 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->bru)) {
vsp1              281 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->bru);
vsp1              285 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->bru->entity.list_dev, &vsp1->entities);
vsp1              288 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_CLU)) {
vsp1              289 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->clu = vsp1_clu_create(vsp1);
vsp1              290 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->clu)) {
vsp1              291 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->clu);
vsp1              295 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->clu->entity.list_dev, &vsp1->entities);
vsp1              298 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->hsi = vsp1_hsit_create(vsp1, true);
vsp1              299 drivers/media/platform/vsp1/vsp1_drv.c 	if (IS_ERR(vsp1->hsi)) {
vsp1              300 drivers/media/platform/vsp1/vsp1_drv.c 		ret = PTR_ERR(vsp1->hsi);
vsp1              304 drivers/media/platform/vsp1/vsp1_drv.c 	list_add_tail(&vsp1->hsi->entity.list_dev, &vsp1->entities);
vsp1              306 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->hst = vsp1_hsit_create(vsp1, false);
vsp1              307 drivers/media/platform/vsp1/vsp1_drv.c 	if (IS_ERR(vsp1->hst)) {
vsp1              308 drivers/media/platform/vsp1/vsp1_drv.c 		ret = PTR_ERR(vsp1->hst);
vsp1              312 drivers/media/platform/vsp1/vsp1_drv.c 	list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities);
vsp1              314 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_HGO) && vsp1->info->uapi) {
vsp1              315 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->hgo = vsp1_hgo_create(vsp1);
vsp1              316 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->hgo)) {
vsp1              317 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->hgo);
vsp1              321 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->hgo->histo.entity.list_dev,
vsp1              322 drivers/media/platform/vsp1/vsp1_drv.c 			      &vsp1->entities);
vsp1              325 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_HGT) && vsp1->info->uapi) {
vsp1              326 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->hgt = vsp1_hgt_create(vsp1);
vsp1              327 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->hgt)) {
vsp1              328 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->hgt);
vsp1              332 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->hgt->histo.entity.list_dev,
vsp1              333 drivers/media/platform/vsp1/vsp1_drv.c 			      &vsp1->entities);
vsp1              341 drivers/media/platform/vsp1/vsp1_drv.c 	if (!vsp1->info->uapi) {
vsp1              342 drivers/media/platform/vsp1/vsp1_drv.c 		for (i = 0; i < vsp1->info->lif_count; ++i) {
vsp1              345 drivers/media/platform/vsp1/vsp1_drv.c 			lif = vsp1_lif_create(vsp1, i);
vsp1              351 drivers/media/platform/vsp1/vsp1_drv.c 			vsp1->lif[i] = lif;
vsp1              352 drivers/media/platform/vsp1/vsp1_drv.c 			list_add_tail(&lif->entity.list_dev, &vsp1->entities);
vsp1              356 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_LUT)) {
vsp1              357 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->lut = vsp1_lut_create(vsp1);
vsp1              358 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->lut)) {
vsp1              359 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->lut);
vsp1              363 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->lut->entity.list_dev, &vsp1->entities);
vsp1              366 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              369 drivers/media/platform/vsp1/vsp1_drv.c 		rpf = vsp1_rpf_create(vsp1, i);
vsp1              375 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->rpf[i] = rpf;
vsp1              376 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&rpf->entity.list_dev, &vsp1->entities);
vsp1              378 drivers/media/platform/vsp1/vsp1_drv.c 		if (vsp1->info->uapi) {
vsp1              379 drivers/media/platform/vsp1/vsp1_drv.c 			struct vsp1_video *video = vsp1_video_create(vsp1, rpf);
vsp1              386 drivers/media/platform/vsp1/vsp1_drv.c 			list_add_tail(&video->list, &vsp1->videos);
vsp1              390 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_SRU)) {
vsp1              391 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->sru = vsp1_sru_create(vsp1);
vsp1              392 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->sru)) {
vsp1              393 drivers/media/platform/vsp1/vsp1_drv.c 			ret = PTR_ERR(vsp1->sru);
vsp1              397 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&vsp1->sru->entity.list_dev, &vsp1->entities);
vsp1              400 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->uds_count; ++i) {
vsp1              403 drivers/media/platform/vsp1/vsp1_drv.c 		uds = vsp1_uds_create(vsp1, i);
vsp1              409 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->uds[i] = uds;
vsp1              410 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&uds->entity.list_dev, &vsp1->entities);
vsp1              413 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->uif_count; ++i) {
vsp1              416 drivers/media/platform/vsp1/vsp1_drv.c 		uif = vsp1_uif_create(vsp1, i);
vsp1              422 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->uif[i] = uif;
vsp1              423 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&uif->entity.list_dev, &vsp1->entities);
vsp1              426 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1              429 drivers/media/platform/vsp1/vsp1_drv.c 		wpf = vsp1_wpf_create(vsp1, i);
vsp1              435 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->wpf[i] = wpf;
vsp1              436 drivers/media/platform/vsp1/vsp1_drv.c 		list_add_tail(&wpf->entity.list_dev, &vsp1->entities);
vsp1              438 drivers/media/platform/vsp1/vsp1_drv.c 		if (vsp1->info->uapi) {
vsp1              439 drivers/media/platform/vsp1/vsp1_drv.c 			struct vsp1_video *video = vsp1_video_create(vsp1, wpf);
vsp1              446 drivers/media/platform/vsp1/vsp1_drv.c 			list_add_tail(&video->list, &vsp1->videos);
vsp1              451 drivers/media/platform/vsp1/vsp1_drv.c 	list_for_each_entry(entity, &vsp1->entities, list_dev) {
vsp1              452 drivers/media/platform/vsp1/vsp1_drv.c 		ret = v4l2_device_register_subdev(&vsp1->v4l2_dev,
vsp1              462 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->info->uapi) {
vsp1              463 drivers/media/platform/vsp1/vsp1_drv.c 		ret = vsp1_uapi_create_links(vsp1);
vsp1              467 drivers/media/platform/vsp1/vsp1_drv.c 		ret = v4l2_device_register_subdev_nodes(&vsp1->v4l2_dev);
vsp1              473 drivers/media/platform/vsp1/vsp1_drv.c 		ret = vsp1_drm_init(vsp1);
vsp1              478 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_destroy_entities(vsp1);
vsp1              483 drivers/media/platform/vsp1/vsp1_drv.c int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index)
vsp1              488 drivers/media/platform/vsp1/vsp1_drv.c 	status = vsp1_read(vsp1, VI6_STATUS);
vsp1              492 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_SRESET, VI6_SRESET_SRTS(index));
vsp1              494 drivers/media/platform/vsp1/vsp1_drv.c 		status = vsp1_read(vsp1, VI6_STATUS);
vsp1              502 drivers/media/platform/vsp1/vsp1_drv.c 		dev_err(vsp1->dev, "failed to reset wpf.%u\n", index);
vsp1              509 drivers/media/platform/vsp1/vsp1_drv.c static int vsp1_device_init(struct vsp1_device *vsp1)
vsp1              515 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1              516 drivers/media/platform/vsp1/vsp1_drv.c 		ret = vsp1_reset_wpf(vsp1, i);
vsp1              521 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_CLK_DCSWT, (8 << VI6_CLK_DCSWT_CSTPW_SHIFT) |
vsp1              524 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->rpf_count; ++i)
vsp1              525 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_write(vsp1, VI6_DPR_RPF_ROUTE(i), VI6_DPR_NODE_UNUSED);
vsp1              527 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->uds_count; ++i)
vsp1              528 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_write(vsp1, VI6_DPR_UDS_ROUTE(i), VI6_DPR_NODE_UNUSED);
vsp1              530 drivers/media/platform/vsp1/vsp1_drv.c 	for (i = 0; i < vsp1->info->uif_count; ++i)
vsp1              531 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_write(vsp1, VI6_DPR_UIF_ROUTE(i), VI6_DPR_NODE_UNUSED);
vsp1              533 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_SRU_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              534 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_LUT_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              535 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_CLU_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              536 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_HST_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              537 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_HSI_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              538 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_BRU_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              540 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1_feature(vsp1, VSP1_HAS_BRS))
vsp1              541 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_write(vsp1, VI6_DPR_ILV_BRS_ROUTE, VI6_DPR_NODE_UNUSED);
vsp1              543 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_HGO_SMPPT, (7 << VI6_DPR_SMPPT_TGW_SHIFT) |
vsp1              545 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_write(vsp1, VI6_DPR_HGT_SMPPT, (7 << VI6_DPR_SMPPT_TGW_SHIFT) |
vsp1              548 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_dlm_setup(vsp1);
vsp1              560 drivers/media/platform/vsp1/vsp1_drv.c int vsp1_device_get(struct vsp1_device *vsp1)
vsp1              564 drivers/media/platform/vsp1/vsp1_drv.c 	ret = pm_runtime_get_sync(vsp1->dev);
vsp1              574 drivers/media/platform/vsp1/vsp1_drv.c void vsp1_device_put(struct vsp1_device *vsp1)
vsp1              576 drivers/media/platform/vsp1/vsp1_drv.c 	pm_runtime_put_sync(vsp1->dev);
vsp1              585 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              591 drivers/media/platform/vsp1/vsp1_drv.c 	if (!vsp1->drm)
vsp1              592 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_video_suspend(vsp1);
vsp1              594 drivers/media/platform/vsp1/vsp1_drv.c 	pm_runtime_force_suspend(vsp1->dev);
vsp1              601 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              603 drivers/media/platform/vsp1/vsp1_drv.c 	pm_runtime_force_resume(vsp1->dev);
vsp1              609 drivers/media/platform/vsp1/vsp1_drv.c 	if (!vsp1->drm)
vsp1              610 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1_video_resume(vsp1);
vsp1              617 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              619 drivers/media/platform/vsp1/vsp1_drv.c 	rcar_fcp_disable(vsp1->fcp);
vsp1              626 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = dev_get_drvdata(dev);
vsp1              629 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1->info) {
vsp1              630 drivers/media/platform/vsp1/vsp1_drv.c 		ret = vsp1_device_init(vsp1);
vsp1              635 drivers/media/platform/vsp1/vsp1_drv.c 	return rcar_fcp_enable(vsp1->fcp);
vsp1              788 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1;
vsp1              795 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1 = devm_kzalloc(&pdev->dev, sizeof(*vsp1), GFP_KERNEL);
vsp1              796 drivers/media/platform/vsp1/vsp1_drv.c 	if (vsp1 == NULL)
vsp1              799 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->dev = &pdev->dev;
vsp1              800 drivers/media/platform/vsp1/vsp1_drv.c 	INIT_LIST_HEAD(&vsp1->entities);
vsp1              801 drivers/media/platform/vsp1/vsp1_drv.c 	INIT_LIST_HEAD(&vsp1->videos);
vsp1              803 drivers/media/platform/vsp1/vsp1_drv.c 	platform_set_drvdata(pdev, vsp1);
vsp1              807 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->mmio = devm_ioremap_resource(&pdev->dev, io);
vsp1              808 drivers/media/platform/vsp1/vsp1_drv.c 	if (IS_ERR(vsp1->mmio))
vsp1              809 drivers/media/platform/vsp1/vsp1_drv.c 		return PTR_ERR(vsp1->mmio);
vsp1              818 drivers/media/platform/vsp1/vsp1_drv.c 			      IRQF_SHARED, dev_name(&pdev->dev), vsp1);
vsp1              827 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->fcp = rcar_fcp_get(fcp_node);
vsp1              829 drivers/media/platform/vsp1/vsp1_drv.c 		if (IS_ERR(vsp1->fcp)) {
vsp1              831 drivers/media/platform/vsp1/vsp1_drv.c 				PTR_ERR(vsp1->fcp));
vsp1              832 drivers/media/platform/vsp1/vsp1_drv.c 			return PTR_ERR(vsp1->fcp);
vsp1              840 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->bus_master = rcar_fcp_get_device(vsp1->fcp);
vsp1              842 drivers/media/platform/vsp1/vsp1_drv.c 		vsp1->bus_master = vsp1->dev;
vsp1              852 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1->version = vsp1_read(vsp1, VI6_IP_VERSION);
vsp1              856 drivers/media/platform/vsp1/vsp1_drv.c 		if ((vsp1->version & VI6_IP_VERSION_MODEL_MASK) ==
vsp1              858 drivers/media/platform/vsp1/vsp1_drv.c 			vsp1->info = &vsp1_device_infos[i];
vsp1              863 drivers/media/platform/vsp1/vsp1_drv.c 	if (!vsp1->info) {
vsp1              865 drivers/media/platform/vsp1/vsp1_drv.c 			vsp1->version);
vsp1              870 drivers/media/platform/vsp1/vsp1_drv.c 	dev_dbg(&pdev->dev, "IP version 0x%08x\n", vsp1->version);
vsp1              873 drivers/media/platform/vsp1/vsp1_drv.c 	ret = vsp1_create_entities(vsp1);
vsp1              888 drivers/media/platform/vsp1/vsp1_drv.c 	struct vsp1_device *vsp1 = platform_get_drvdata(pdev);
vsp1              890 drivers/media/platform/vsp1/vsp1_drv.c 	vsp1_destroy_entities(vsp1);
vsp1              891 drivers/media/platform/vsp1/vsp1_drv.c 	rcar_fcp_put(vsp1->fcp);
vsp1              609 drivers/media/platform/vsp1/vsp1_entity.c int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
vsp1              630 drivers/media/platform/vsp1/vsp1_entity.c 	entity->vsp1 = vsp1;
vsp1              634 drivers/media/platform/vsp1/vsp1_entity.c 	entity->pads = devm_kcalloc(vsp1->dev,
vsp1              643 drivers/media/platform/vsp1/vsp1_entity.c 	entity->sources = devm_kcalloc(vsp1->dev, max(num_pads - 1, 1U),
vsp1              663 drivers/media/platform/vsp1/vsp1_entity.c 	subdev->entity.ops = &vsp1->media_ops;
vsp1              667 drivers/media/platform/vsp1/vsp1_entity.c 		 dev_name(vsp1->dev), name);
vsp1               97 drivers/media/platform/vsp1/vsp1_entity.h 	struct vsp1_device *vsp1;
vsp1              128 drivers/media/platform/vsp1/vsp1_entity.h int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
vsp1               28 drivers/media/platform/vsp1/vsp1_hgo.c 	return vsp1_read(hgo->histo.entity.vsp1, reg);
vsp1               60 drivers/media/platform/vsp1/vsp1_hgo.c 			vsp1_write(hgo->histo.entity.vsp1,
vsp1              188 drivers/media/platform/vsp1/vsp1_hgo.c struct vsp1_hgo *vsp1_hgo_create(struct vsp1_device *vsp1)
vsp1              193 drivers/media/platform/vsp1/vsp1_hgo.c 	hgo = devm_kzalloc(vsp1->dev, sizeof(*hgo), GFP_KERNEL);
vsp1              199 drivers/media/platform/vsp1/vsp1_hgo.c 			       vsp1->info->gen == 3 ? 2 : 1);
vsp1              202 drivers/media/platform/vsp1/vsp1_hgo.c 	if (vsp1->info->gen == 3)
vsp1              213 drivers/media/platform/vsp1/vsp1_hgo.c 	ret = vsp1_histogram_init(vsp1, &hgo->histo, VSP1_ENTITY_HGO, "hgo",
vsp1               38 drivers/media/platform/vsp1/vsp1_hgo.h struct vsp1_hgo *vsp1_hgo_create(struct vsp1_device *vsp1);
vsp1               28 drivers/media/platform/vsp1/vsp1_hgt.c 	return vsp1_read(hgt->histo.entity.vsp1, reg);
vsp1              187 drivers/media/platform/vsp1/vsp1_hgt.c struct vsp1_hgt *vsp1_hgt_create(struct vsp1_device *vsp1)
vsp1              192 drivers/media/platform/vsp1/vsp1_hgt.c 	hgt = devm_kzalloc(vsp1->dev, sizeof(*hgt), GFP_KERNEL);
vsp1              203 drivers/media/platform/vsp1/vsp1_hgt.c 	ret = vsp1_histogram_init(vsp1, &hgt->histo, VSP1_ENTITY_HGT, "hgt",
vsp1               35 drivers/media/platform/vsp1/vsp1_hgt.h struct vsp1_hgt *vsp1_hgt_create(struct vsp1_device *vsp1);
vsp1              433 drivers/media/platform/vsp1/vsp1_histo.c 		 dev_name(histo->entity.vsp1->dev));
vsp1              514 drivers/media/platform/vsp1/vsp1_histo.c int vsp1_histogram_init(struct vsp1_device *vsp1, struct vsp1_histogram *histo,
vsp1              539 drivers/media/platform/vsp1/vsp1_histo.c 	ret = vsp1_entity_init(vsp1, &histo->entity, name, 2, &histo_ops,
vsp1              550 drivers/media/platform/vsp1/vsp1_histo.c 	histo->video.v4l2_dev = &vsp1->v4l2_dev;
vsp1              570 drivers/media/platform/vsp1/vsp1_histo.c 	histo->queue.dev = vsp1->dev;
vsp1              573 drivers/media/platform/vsp1/vsp1_histo.c 		dev_err(vsp1->dev, "failed to initialize vb2 queue\n");
vsp1              581 drivers/media/platform/vsp1/vsp1_histo.c 		dev_err(vsp1->dev, "failed to register video device\n");
vsp1               64 drivers/media/platform/vsp1/vsp1_histo.h int vsp1_histogram_init(struct vsp1_device *vsp1, struct vsp1_histogram *histo,
vsp1              151 drivers/media/platform/vsp1/vsp1_hsit.c struct vsp1_hsit *vsp1_hsit_create(struct vsp1_device *vsp1, bool inverse)
vsp1              156 drivers/media/platform/vsp1/vsp1_hsit.c 	hsit = devm_kzalloc(vsp1->dev, sizeof(*hsit), GFP_KERNEL);
vsp1              169 drivers/media/platform/vsp1/vsp1_hsit.c 	ret = vsp1_entity_init(vsp1, &hsit->entity, inverse ? "hsi" : "hst",
vsp1               32 drivers/media/platform/vsp1/vsp1_hsit.h struct vsp1_hsit *vsp1_hsit_create(struct vsp1_device *vsp1, bool inverse);
vsp1               99 drivers/media/platform/vsp1/vsp1_lif.c 	switch (entity->vsp1->version & VI6_IP_VERSION_MODEL_MASK) {
vsp1              137 drivers/media/platform/vsp1/vsp1_lif.c 	if ((entity->vsp1->version & VI6_IP_VERSION_MASK) ==
vsp1              152 drivers/media/platform/vsp1/vsp1_lif.c struct vsp1_lif *vsp1_lif_create(struct vsp1_device *vsp1, unsigned int index)
vsp1              157 drivers/media/platform/vsp1/vsp1_lif.c 	lif = devm_kzalloc(vsp1->dev, sizeof(*lif), GFP_KERNEL);
vsp1              170 drivers/media/platform/vsp1/vsp1_lif.c 	ret = vsp1_entity_init(vsp1, &lif->entity, "lif", 2, &lif_ops,
vsp1               31 drivers/media/platform/vsp1/vsp1_lif.h struct vsp1_lif *vsp1_lif_create(struct vsp1_device *vsp1, unsigned int index);
vsp1              197 drivers/media/platform/vsp1/vsp1_lut.c struct vsp1_lut *vsp1_lut_create(struct vsp1_device *vsp1)
vsp1              202 drivers/media/platform/vsp1/vsp1_lut.c 	lut = devm_kzalloc(vsp1->dev, sizeof(*lut), GFP_KERNEL);
vsp1              211 drivers/media/platform/vsp1/vsp1_lut.c 	ret = vsp1_entity_init(vsp1, &lut->entity, "lut", 2, &lut_ops,
vsp1              221 drivers/media/platform/vsp1/vsp1_lut.c 	lut->pool = vsp1_dl_body_pool_create(vsp1, 3, LUT_SIZE, 0);
vsp1              232 drivers/media/platform/vsp1/vsp1_lut.c 		dev_err(vsp1->dev, "lut: failed to initialize controls\n");
vsp1               40 drivers/media/platform/vsp1/vsp1_lut.h struct vsp1_lut *vsp1_lut_create(struct vsp1_device *vsp1);
vsp1              215 drivers/media/platform/vsp1/vsp1_pipe.c const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1,
vsp1              221 drivers/media/platform/vsp1/vsp1_pipe.c 	if (vsp1->info->gen != 2) {
vsp1              289 drivers/media/platform/vsp1/vsp1_pipe.c 	struct vsp1_device *vsp1 = pipe->output->entity.vsp1;
vsp1              292 drivers/media/platform/vsp1/vsp1_pipe.c 		vsp1_write(vsp1, VI6_CMD(pipe->output->entity.index),
vsp1              314 drivers/media/platform/vsp1/vsp1_pipe.c 	struct vsp1_device *vsp1 = pipe->output->entity.vsp1;
vsp1              324 drivers/media/platform/vsp1/vsp1_pipe.c 		ret = vsp1_reset_wpf(vsp1, pipe->output->entity.index);
vsp1              344 drivers/media/platform/vsp1/vsp1_pipe.c 			vsp1_write(vsp1, entity->route->reg,
vsp1              349 drivers/media/platform/vsp1/vsp1_pipe.c 		vsp1_write(vsp1, VI6_DPR_HGO_SMPPT,
vsp1              354 drivers/media/platform/vsp1/vsp1_pipe.c 		vsp1_write(vsp1, VI6_DPR_HGT_SMPPT,
vsp1              172 drivers/media/platform/vsp1/vsp1_pipe.h const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1,
vsp1              158 drivers/media/platform/vsp1/vsp1_rpf.c 	if (entity->vsp1->info->gen == 3) {
vsp1              248 drivers/media/platform/vsp1/vsp1_rpf.c 	struct vsp1_device *vsp1 = rpf->entity.vsp1;
vsp1              307 drivers/media/platform/vsp1/vsp1_rpf.c 	if (vsp1->info->gen == 3 && format->num_planes == 3 &&
vsp1              344 drivers/media/platform/vsp1/vsp1_rpf.c struct vsp1_rwpf *vsp1_rpf_create(struct vsp1_device *vsp1, unsigned int index)
vsp1              350 drivers/media/platform/vsp1/vsp1_rpf.c 	rpf = devm_kzalloc(vsp1->dev, sizeof(*rpf), GFP_KERNEL);
vsp1              362 drivers/media/platform/vsp1/vsp1_rpf.c 	ret = vsp1_entity_init(vsp1, &rpf->entity, name, 2, &rpf_ops,
vsp1              370 drivers/media/platform/vsp1/vsp1_rpf.c 		dev_err(vsp1->dev, "rpf%u: failed to initialize controls\n",
vsp1               79 drivers/media/platform/vsp1/vsp1_rwpf.h struct vsp1_rwpf *vsp1_rpf_create(struct vsp1_device *vsp1, unsigned int index);
vsp1               80 drivers/media/platform/vsp1/vsp1_rwpf.h struct vsp1_rwpf *vsp1_wpf_create(struct vsp1_device *vsp1, unsigned int index);
vsp1              361 drivers/media/platform/vsp1/vsp1_sru.c struct vsp1_sru *vsp1_sru_create(struct vsp1_device *vsp1)
vsp1              366 drivers/media/platform/vsp1/vsp1_sru.c 	sru = devm_kzalloc(vsp1->dev, sizeof(*sru), GFP_KERNEL);
vsp1              373 drivers/media/platform/vsp1/vsp1_sru.c 	ret = vsp1_entity_init(vsp1, &sru->entity, "sru", 2, &sru_ops,
vsp1              387 drivers/media/platform/vsp1/vsp1_sru.c 		dev_err(vsp1->dev, "sru: failed to initialize controls\n");
vsp1               36 drivers/media/platform/vsp1/vsp1_sru.h struct vsp1_sru *vsp1_sru_create(struct vsp1_device *vsp1);
vsp1              278 drivers/media/platform/vsp1/vsp1_uds.c 	dev_dbg(uds->entity.vsp1->dev, "hscale %u vscale %u\n", hscale, vscale);
vsp1              406 drivers/media/platform/vsp1/vsp1_uds.c struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index)
vsp1              412 drivers/media/platform/vsp1/vsp1_uds.c 	uds = devm_kzalloc(vsp1->dev, sizeof(*uds), GFP_KERNEL);
vsp1              421 drivers/media/platform/vsp1/vsp1_uds.c 	ret = vsp1_entity_init(vsp1, &uds->entity, name, 2, &uds_ops,
vsp1               32 drivers/media/platform/vsp1/vsp1_uds.h struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index);
vsp1               31 drivers/media/platform/vsp1/vsp1_uif.c 	return vsp1_read(uif->entity.vsp1,
vsp1              240 drivers/media/platform/vsp1/vsp1_uif.c struct vsp1_uif *vsp1_uif_create(struct vsp1_device *vsp1, unsigned int index)
vsp1              246 drivers/media/platform/vsp1/vsp1_uif.c 	uif = devm_kzalloc(vsp1->dev, sizeof(*uif), GFP_KERNEL);
vsp1              259 drivers/media/platform/vsp1/vsp1_uif.c 	ret = vsp1_entity_init(vsp1, &uif->entity, name, 2, &uif_ops,
vsp1               29 drivers/media/platform/vsp1/vsp1_uif.h struct vsp1_uif *vsp1_uif_create(struct vsp1_device *vsp1, unsigned int index);
vsp1              118 drivers/media/platform/vsp1/vsp1_video.c 	info = vsp1_get_format_info(video->vsp1, pix->pixelformat);
vsp1              120 drivers/media/platform/vsp1/vsp1_video.c 		info = vsp1_get_format_info(video->vsp1, VSP1_VIDEO_DEF_FORMAT);
vsp1              254 drivers/media/platform/vsp1/vsp1_video.c 	struct vsp1_device *vsp1 = pipe->output->entity.vsp1;
vsp1              273 drivers/media/platform/vsp1/vsp1_video.c 	if (vsp1->info->gen == 3) {
vsp1              378 drivers/media/platform/vsp1/vsp1_video.c 	struct vsp1_device *vsp1 = pipe->output->entity.vsp1;
vsp1              415 drivers/media/platform/vsp1/vsp1_video.c 			dev_err(vsp1->dev, "Failed to obtain a dl list. Frame will be incomplete\n");
vsp1              433 drivers/media/platform/vsp1/vsp1_video.c 	struct vsp1_device *vsp1 = pipe->output->entity.vsp1;
vsp1              444 drivers/media/platform/vsp1/vsp1_video.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              478 drivers/media/platform/vsp1/vsp1_video.c 	ret = media_entity_enum_init(&ent_enum, &input->entity.vsp1->media_dev);
vsp1              632 drivers/media/platform/vsp1/vsp1_video.c 	for (i = 0; i < video->vsp1->info->rpf_count; ++i) {
vsp1              695 drivers/media/platform/vsp1/vsp1_video.c 	struct media_device *mdev = &pipe->output->entity.vsp1->media_dev;
vsp1              924 drivers/media/platform/vsp1/vsp1_video.c 			dev_err(video->vsp1->dev, "pipeline stop timeout\n");
vsp1              963 drivers/media/platform/vsp1/vsp1_video.c 		 dev_name(video->vsp1->dev));
vsp1             1031 drivers/media/platform/vsp1/vsp1_video.c 	struct media_device *mdev = &video->vsp1->media_dev;
vsp1             1119 drivers/media/platform/vsp1/vsp1_video.c 	ret = vsp1_device_get(video->vsp1);
vsp1             1141 drivers/media/platform/vsp1/vsp1_video.c 	vsp1_device_put(video->vsp1);
vsp1             1163 drivers/media/platform/vsp1/vsp1_video.c void vsp1_video_suspend(struct vsp1_device *vsp1)
vsp1             1174 drivers/media/platform/vsp1/vsp1_video.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1             1175 drivers/media/platform/vsp1/vsp1_video.c 		struct vsp1_rwpf *wpf = vsp1->wpf[i];
vsp1             1191 drivers/media/platform/vsp1/vsp1_video.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1             1192 drivers/media/platform/vsp1/vsp1_video.c 		struct vsp1_rwpf *wpf = vsp1->wpf[i];
vsp1             1205 drivers/media/platform/vsp1/vsp1_video.c 			dev_warn(vsp1->dev, "pipeline %u stop timeout\n",
vsp1             1210 drivers/media/platform/vsp1/vsp1_video.c void vsp1_video_resume(struct vsp1_device *vsp1)
vsp1             1216 drivers/media/platform/vsp1/vsp1_video.c 	for (i = 0; i < vsp1->info->wpf_count; ++i) {
vsp1             1217 drivers/media/platform/vsp1/vsp1_video.c 		struct vsp1_rwpf *wpf = vsp1->wpf[i];
vsp1             1244 drivers/media/platform/vsp1/vsp1_video.c struct vsp1_video *vsp1_video_create(struct vsp1_device *vsp1,
vsp1             1251 drivers/media/platform/vsp1/vsp1_video.c 	video = devm_kzalloc(vsp1->dev, sizeof(*video), GFP_KERNEL);
vsp1             1257 drivers/media/platform/vsp1/vsp1_video.c 	video->vsp1 = vsp1;
vsp1             1292 drivers/media/platform/vsp1/vsp1_video.c 	video->video.v4l2_dev = &video->vsp1->v4l2_dev;
vsp1             1310 drivers/media/platform/vsp1/vsp1_video.c 	video->queue.dev = video->vsp1->bus_master;
vsp1             1313 drivers/media/platform/vsp1/vsp1_video.c 		dev_err(video->vsp1->dev, "failed to initialize vb2 queue\n");
vsp1             1321 drivers/media/platform/vsp1/vsp1_video.c 		dev_err(video->vsp1->dev, "failed to register video device\n");
vsp1               33 drivers/media/platform/vsp1/vsp1_video.h 	struct vsp1_device *vsp1;
vsp1               54 drivers/media/platform/vsp1/vsp1_video.h void vsp1_video_suspend(struct vsp1_device *vsp1);
vsp1               55 drivers/media/platform/vsp1/vsp1_video.h void vsp1_video_resume(struct vsp1_device *vsp1);
vsp1               57 drivers/media/platform/vsp1/vsp1_video.h struct vsp1_video *vsp1_video_create(struct vsp1_device *vsp1,
vsp1              136 drivers/media/platform/vsp1/vsp1_wpf.c 	struct vsp1_device *vsp1 = wpf->entity.vsp1;
vsp1              144 drivers/media/platform/vsp1/vsp1_wpf.c 	} else if (vsp1_feature(vsp1, VSP1_HAS_WPF_HFLIP)) {
vsp1              150 drivers/media/platform/vsp1/vsp1_wpf.c 	} else if (vsp1_feature(vsp1, VSP1_HAS_WPF_VFLIP)) {
vsp1              180 drivers/media/platform/vsp1/vsp1_wpf.c 		dev_err(vsp1->dev, "wpf%u: failed to initialize controls\n",
vsp1              195 drivers/media/platform/vsp1/vsp1_wpf.c 	struct vsp1_device *vsp1 = wpf->entity.vsp1;
vsp1              204 drivers/media/platform/vsp1/vsp1_wpf.c 	vsp1_write(vsp1, VI6_WPF_IRQ_ENB(wpf->entity.index), 0);
vsp1              205 drivers/media/platform/vsp1/vsp1_wpf.c 	vsp1_write(vsp1, wpf->entity.index * VI6_WPF_OFFSET +
vsp1              244 drivers/media/platform/vsp1/vsp1_wpf.c 		dev_err(wpf->entity.vsp1->dev,
vsp1              262 drivers/media/platform/vsp1/vsp1_wpf.c 	struct vsp1_device *vsp1 = wpf->entity.vsp1;
vsp1              304 drivers/media/platform/vsp1/vsp1_wpf.c 		if (vsp1_feature(vsp1, VSP1_HAS_WPF_HFLIP) && index == 0)
vsp1              324 drivers/media/platform/vsp1/vsp1_wpf.c 	for (i = 0; i < vsp1->info->rpf_count; ++i) {
vsp1              397 drivers/media/platform/vsp1/vsp1_wpf.c 	struct vsp1_device *vsp1 = wpf->entity.vsp1;
vsp1              518 drivers/media/platform/vsp1/vsp1_wpf.c 	if (vsp1->info->gen == 3 && format->num_planes == 3 &&
vsp1              563 drivers/media/platform/vsp1/vsp1_wpf.c struct vsp1_rwpf *vsp1_wpf_create(struct vsp1_device *vsp1, unsigned int index)
vsp1              569 drivers/media/platform/vsp1/vsp1_wpf.c 	wpf = devm_kzalloc(vsp1->dev, sizeof(*wpf), GFP_KERNEL);
vsp1              573 drivers/media/platform/vsp1/vsp1_wpf.c 	if (vsp1->info->gen == 2) {
vsp1              586 drivers/media/platform/vsp1/vsp1_wpf.c 	ret = vsp1_entity_init(vsp1, &wpf->entity, name, 2, &wpf_ops,
vsp1              592 drivers/media/platform/vsp1/vsp1_wpf.c 	wpf->dlm = vsp1_dlm_create(vsp1, index, 64);
vsp1              601 drivers/media/platform/vsp1/vsp1_wpf.c 		dev_err(vsp1->dev, "wpf%u: failed to initialize controls\n",