[PATCH v4 10/11] media: vsp1: Support Interlaced display pipelines
Kieran Bingham
kieran.bingham+renesas at ideasonboard.com
Tue Jul 17 14:23:21 UTC 2018
Hi Laurent,
<snip>
>>> +static void vsp1_rpf_configure_autofld(struct vsp1_rwpf *rpf,
>>> + struct vsp1_dl_ext_cmd *cmd)
>>> +{
>>> + const struct v4l2_pix_format_mplane *format = &rpf->format;
>>> + struct vsp1_extcmd_auto_fld_body *auto_fld = cmd->data;
>>> + u32 offset_y, offset_c;
>>> +
>>> + /* Re-index our auto_fld to match the current RPF */
>>
>> s/RPF/RPF./
>
> Fixed.
>
>>
>>> + auto_fld = &auto_fld[rpf->entity.index];
>>> +
>>> + auto_fld->top_y0 = rpf->mem.addr[0];
>>> + auto_fld->top_c0 = rpf->mem.addr[1];
>>> + auto_fld->top_c1 = rpf->mem.addr[2];
>>> +
>>> + offset_y = format->plane_fmt[0].bytesperline;
>>> + offset_c = format->plane_fmt[1].bytesperline;
>>> +
>>> + auto_fld->bottom_y0 = rpf->mem.addr[0] + offset_y;
>>> + auto_fld->bottom_c0 = rpf->mem.addr[1] + offset_c;
>>> + auto_fld->bottom_c1 = rpf->mem.addr[2] + offset_c;
>>> +
>>> + cmd->flags |= VSP1_DL_EXT_AUTOFLD_INT;
>>> + cmd->flags |= BIT(16 + rpf->entity.index);
>>
>> Do you expect some flags to already be set ? If not, couldn't we assign the
>> value to the field instead of OR'ing it ?
> No, I think you are correct. Moved to a single expression setting the
> cmd->flags in one line.
Ahem.... no - of course these flags have to be OR-ed in. Because it
potentially updates a single command object for multiple RPFs.
The flags get reset to 0 when the command object is discarded in
vsp1_dl_ext_cmd_put()
>
>>
>>> +}
<snip>
--
Kieran
More information about the dri-devel
mailing list