[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