mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
media: renesas: vsp1: Name nested structure in vsp1_drm
The vsp1_drm structure defines an anonymous nested structure to store per-input data. In preparation for extending that structure, give it a name and is it through the driver. This improves code readability. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> Link: https://lore.kernel.org/r/20250429232904.26413-8-laurent.pinchart+renesas@ideasonboard.com Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
parent
e6c9597e5f
commit
67cbb2be3a
|
|
@ -118,24 +118,22 @@ static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1,
|
|||
struct vsp1_entity *uif,
|
||||
unsigned int brx_input)
|
||||
{
|
||||
const struct vsp1_drm_input *input = &vsp1->drm->inputs[rpf->entity.index];
|
||||
struct v4l2_subdev_selection sel = {
|
||||
.which = V4L2_SUBDEV_FORMAT_ACTIVE,
|
||||
};
|
||||
struct v4l2_subdev_format format = {
|
||||
.which = V4L2_SUBDEV_FORMAT_ACTIVE,
|
||||
};
|
||||
const struct v4l2_rect *crop;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* Configure the format on the RPF sink pad and propagate it up to the
|
||||
* BRx sink pad.
|
||||
*/
|
||||
crop = &vsp1->drm->inputs[rpf->entity.index].crop;
|
||||
|
||||
format.pad = RWPF_PAD_SINK;
|
||||
format.format.width = crop->width + crop->left;
|
||||
format.format.height = crop->height + crop->top;
|
||||
format.format.width = input->crop.width + input->crop.left;
|
||||
format.format.height = input->crop.height + input->crop.top;
|
||||
format.format.code = rpf->fmtinfo->mbus;
|
||||
format.format.field = V4L2_FIELD_NONE;
|
||||
|
||||
|
|
@ -151,7 +149,7 @@ static int vsp1_du_pipeline_setup_rpf(struct vsp1_device *vsp1,
|
|||
|
||||
sel.pad = RWPF_PAD_SINK;
|
||||
sel.target = V4L2_SEL_TGT_CROP;
|
||||
sel.r = *crop;
|
||||
sel.r = input->crop;
|
||||
|
||||
ret = v4l2_subdev_call(&rpf->entity.subdev, pad, set_selection, NULL,
|
||||
&sel);
|
||||
|
|
@ -826,12 +824,14 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index,
|
|||
{
|
||||
struct vsp1_device *vsp1 = dev_get_drvdata(dev);
|
||||
struct vsp1_drm_pipeline *drm_pipe = &vsp1->drm->pipe[pipe_index];
|
||||
struct vsp1_drm_input *input;
|
||||
struct vsp1_rwpf *rpf;
|
||||
int ret;
|
||||
|
||||
if (rpf_index >= vsp1->info->rpf_count)
|
||||
return -EINVAL;
|
||||
|
||||
input = &vsp1->drm->inputs[rpf_index];
|
||||
rpf = vsp1->rpf[rpf_index];
|
||||
|
||||
if (!cfg) {
|
||||
|
|
@ -873,9 +873,9 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index,
|
|||
|
||||
rpf->format.flags = cfg->premult ? V4L2_PIX_FMT_FLAG_PREMUL_ALPHA : 0;
|
||||
|
||||
vsp1->drm->inputs[rpf_index].crop = cfg->src;
|
||||
vsp1->drm->inputs[rpf_index].compose = cfg->dst;
|
||||
vsp1->drm->inputs[rpf_index].zpos = cfg->zpos;
|
||||
input->crop = cfg->src;
|
||||
input->compose = cfg->dst;
|
||||
input->zpos = cfg->zpos;
|
||||
|
||||
drm_pipe->pipe.inputs[rpf_index] = rpf;
|
||||
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ struct vsp1_drm {
|
|||
struct vsp1_drm_pipeline pipe[VSP1_MAX_LIF];
|
||||
struct mutex lock;
|
||||
|
||||
struct {
|
||||
struct vsp1_drm_input {
|
||||
struct v4l2_rect crop;
|
||||
struct v4l2_rect compose;
|
||||
unsigned int zpos;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user