[PATCH 1/2] media: rockchip: rkcif: Filter enumerated formats by media bus code

Faizel K B faizel.kb at gmail.com
Mon Nov 9 11:54:00 PST 2026


Hi Mehdi,

On Mon, Nov 09, 2026 at 01:27:34PM +0100, Mehdi Djait wrote:

>> --- a/drivers/media/platform/rockchip/rkcif/rkcif-stream.c
>> +++ b/drivers/media/platform/rockchip/rkcif/rkcif-stream.c
>> @@ -395,13 +395,20 @@ static int rkcif_stream_enum_formats(struct file *file, void *priv,
>>  				     struct v4l2_fmtdesc *f)
>>  {
>>  	struct rkcif_stream *stream = video_drvdata(file);
>> +	unsigned int i, n = 0;
>>
>> -	if (f->index >= stream->out_fmts_num)
>> -		return -EINVAL;
>> +	for (i = 0; i < stream->out_fmts_num; i++) {
>> +		if (f->mbus_code &&
>> +		    stream->out_fmts[i].mbus_code != f->mbus_code)
>
>what about dvp capture. The dvp_out_fmts[] does not have the mbus_code
>set.
>

Thanks for the review. Yes, the DVP case is missing. How about only   
filtering the formats that have a media bus code, so DVP behaves as
before (see the change).

        const struct rkcif_output_fmt *fmt = &stream->out_fmts[i];

        if (f->mbus_code && fmt->mbus_code &&
            fmt->mbus_code != f->mbus_code)
                continue;

I don't have DVP hardware to test with. I can submit a v2 if that's ok.

Regards,
Faizel





More information about the Linux-rockchip mailing list