[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bb5b776c-f1dd-f53e-079c-8048af2e73f1@starfivetech.com>
Date: Wed, 18 Oct 2023 10:37:29 +0800
From: Jack Zhu <jack.zhu@...rfivetech.com>
To: Hans Verkuil <hverkuil-cisco@...all.nl>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Robert Foss <rfoss@...nel.org>,
Todor Tomov <todor.too@...il.com>,
<bryan.odonoghue@...aro.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
CC: <linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-staging@...ts.linux.dev>,
<changhuang.liang@...rfivetech.com>
Subject: Re: [PATCH v10 0/8] Add StarFive Camera Subsystem driver
Hi Hans,
Thank you for your comments.
On 2023/10/16 19:40, Hans Verkuil wrote:
> Hi Jack,
>
> On 08/10/2023 10:51, Jack Zhu wrote:
>> Hi,
>>
>> This series is the v10 series that attempts to support the Camera Subsystem
>> found on StarFive JH7110 SoC.
>>
>> This series is based on top of the master branch of media_stage repository,
>> which is tested with a v4l2-compliance compiled from the git repo
>> (git://linuxtv.org/v4l-utils.git).
>
> I get one smatch warning:
>
> drivers/staging/media/starfive/camss/stf-isp.c:122 isp_enum_mbus_code() warn: unsigned 'code->index' is never less than zero.
>
> And I also notice that there is no TODO file: staging drivers should have a
> TODO file explaining what needs to be done to get them out of staging.
>
> I'm curious to know that as well :-)
>
> It looks like there is a lot of additional development that can be done, since
> most of the ISP parameters appear to be hardcoded.
>
> I also notice something weird in the compliance test output for v4l-subdev0 vs
> v4l-subdev1:
>
>> Compliance test for starfive-camss device /dev/v4l-subdev0:
>>
>> Driver Info:
>> Driver version : 6.6.0
>> Capabilities : 0x00000000
>> Media Driver Info:
>> Driver name : starfive-camss
>> Model : Starfive Camera Subsystem
>> Serial :
>> Bus info : platform:19840000.camss
>> Media version : 6.6.0
>> Hardware revision: 0x00000000 (0)
>> Driver version : 6.6.0
>> Interface Info:
>> ID : 0x0300001c
>> Type : V4L Sub-Device
>> Entity Info:
>> ID : 0x00000001 (1)
>> Name : stf_isp
>> Function : Image Signal Processor
>> Pad 0x01000002 : 0: Sink
>> Link 0x02000014: from remote pad 0x1000010 of entity 'cdns_csi2rx.19800000.csi-bridge' (Video Interface Bridge): Data, Enabled
>> Pad 0x01000003 : 1: Source
>> Link 0x0200000c: to remote pad 0x1000009 of entity 'capture_yuv' (V4L2 I/O): Data, Enabled
>
> Here it shows the Media Driver Info for v4l-subdev0.
>
> <snip>
>
>> --------------------------------------------------------------------------------
>> Compliance test for device /dev/v4l-subdev1:
>>
>> Driver Info:
>> Driver version : 6.6.0
>> Capabilities : 0x00000000
>
> But this does not appear for v4l-subdev1.
>
> I can't really tell why it doesn't show that. Can you debug a little bit?
> The code is in v4l2-compliance.cpp, line 1086:
>
> ent_id = mi_media_info_for_fd(media_fd, node.g_fd(), &is_invalid, &node.function);
>
> The mi_media_info_for_fd() function calls ioctl(media_fd, MEDIA_IOC_DEVICE_INFO, &mdinfo),
> and that fails for some reason. It could be that media_fd is invalid (would be weird).
>
> This could well be a v4l2-compliance bug that you hit with this driver.
>
On the test board, /dev/v4l-subdev1 is imx219, and the corresponding directory is
/sys/dev/char/81:3/device. Media0 does not exist in this directory. Therefore, the media_fd
obtained through mi_get_media_fd(node.g_fd(), node.bus_info) is invalid.
I don't know why media0 does not exist in /sys/dev/char/81:3/device?
--
Regards,
Jack Zhu
Powered by blists - more mailing lists