From: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Helen Koike <helen.koike@collabora.com>,
linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
eddie.cai.linux@gmail.com, mchehab@kernel.org, heiko@sntech.de,
jacob2.chen@rock-chips.com, jeffy.chen@rock-chips.com,
zyc@rock-chips.com, linux-kernel@vger.kernel.org,
tfiga@chromium.org, hans.verkuil@cisco.com,
laurent.pinchart@ideasonboard.com, kernel@collabora.com,
ezequiel@collabora.com, linux-media@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, zhengsq@rock-chips.com,
Jacob Chen <cc@rock-chips.com>,
Allon Huang <allon.huang@rock-chips.com>,
Dafna Hirschfeld <dafna3@gmail.com>
Subject: Re: [PATCH v8 05/14] media: rkisp1: add Rockchip ISP1 subdev driver
Date: Thu, 13 Feb 2020 13:50:41 +0100 [thread overview]
Message-ID: <3bc90001-8ebc-c55f-06b5-bbd6b58fa3cd@collabora.com> (raw)
In-Reply-To: <20200212211317.GD3087@kekkonen.localdomain>
On 12.02.20 22:13, Sakari Ailus wrote:
> Hi Dafna,
>
> Apologies for the late reply. I learned the mail had got lost due to mail
> server issues.
>
np:)
> On Fri, Jan 31, 2020 at 08:38:34PM +0100, Dafna Hirschfeld wrote:
>> Hi,
>> I (Dafna Hirschfeld) will work in following months with Helen Koike to fix the issues
>> in the TODO file of this driver: drivers/staging/media/rkisp1/TODO
>>
>> On 15.08.19 15:17, Sakari Ailus wrote:
>>> On Thu, Aug 15, 2019 at 11:24:22AM +0300, Sakari Ailus wrote:
>>>> Hi Helen,
>>>>
>>>> On Wed, Aug 14, 2019 at 09:58:05PM -0300, Helen Koike wrote:
>>>>
>>>> ...
>>>>
>>>>>>> +static int rkisp1_isp_sd_set_fmt(struct v4l2_subdev *sd,
>>>>>>> + struct v4l2_subdev_pad_config *cfg,
>>>>>>> + struct v4l2_subdev_format *fmt)
>>>>>>> +{
>>>>>>> + struct rkisp1_device *isp_dev = sd_to_isp_dev(sd);
>>>>>>> + struct rkisp1_isp_subdev *isp_sd = &isp_dev->isp_sdev;
>>>>>>> + struct v4l2_mbus_framefmt *mf = &fmt->format;
>>>>>>> +
>>>>>>
>>>>>> Note that for sub-device nodes, the driver is itself responsible for
>>>>>> serialising the access to its data structures.
>>>>>
>>>>> But looking at subdev_do_ioctl_lock(), it seems that it serializes the
>>>>> ioctl calls for subdevs, no? Or I'm misunderstanding something (which is
>>>>> most probably) ?
>>>>
>>>> Good question. I had missed this change --- subdev_do_ioctl_lock() is
>>>> relatively new. But setting that lock is still not possible as the struct
>>
>> 'the struct' - do you mean the 'vdev' struct allocated in
>> 'v4l2_device_register_subdev_nodes' ?
>
> Yes.
>
>>
>>>> is allocated in the framework and the device is registered before the
>>
>>>> driver gets hold of it. It's a good idea to provide the same serialisation
>>>> for subdevs as well.
>>>>
>>>> I'll get back to this later.
>>>
>>> The main reason is actually that these ops are also called through the
>>> sub-device kAPI, not only through the uAPI, and the locks are only taken
>>> through the calls via uAPI.
>>
>> actually it seems that although 'subdev_do_ioctl_lock' exit, I wonder if
>> any subdevice uses that vdev->lock in subdev_do_ioctl_lock.
>> It is not initialized in v4l2_device_register_subdev_nodes where the vdev is allocated
>> and I wonder if any subdevice actually initialize it somewhere else. For example it is null in this
>> driver and in vimc.
>
> It needs to be set before the video device is registered, so indeed, it
> seems no driver can make use it.
>
>>
>>>
>>> So adding the locks to uAPI calls alone would not address the issue.
>>
>> What I can do is add a mutex to every struct of a subdevice and lock it
>> at the beginning of each subdevice operation.
>> Is this an acceptable solution?
>
> Please do. That's what other drivers do at the moment as well.
>
I already sent it as the patchset "media: staging: rkisp1: add serialization to the isp and resizer ops"
Thanks,
Dafna
next prev parent reply other threads:[~2020-02-13 12:50 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-30 18:42 [PATCH v8 00/14] Rockchip ISP1 Driver Helen Koike
2019-07-30 18:42 ` [PATCH v8 01/14] media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format Helen Koike
2019-08-15 13:30 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 02/14] media: doc: add document for " Helen Koike
2019-08-07 13:09 ` Sakari Ailus
2019-08-15 13:51 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 03/14] media: rkisp1: Add user space ABI definitions Helen Koike
2019-08-15 18:46 ` Laurent Pinchart
2020-07-10 12:59 ` Dafna Hirschfeld
2020-07-10 13:36 ` Laurent Pinchart
2020-07-10 14:30 ` Dafna Hirschfeld
2019-07-30 18:42 ` [PATCH v8 04/14] media: rkisp1: add Rockchip MIPI Synopsys DPHY driver Helen Koike
2019-08-07 13:05 ` Sakari Ailus
2019-08-07 13:37 ` Helen Koike
2019-08-15 17:54 ` Laurent Pinchart
2019-08-15 18:26 ` Heiko Stübner
2019-08-21 21:46 ` Helen Koike
2019-08-22 2:32 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 05/14] media: rkisp1: add Rockchip ISP1 subdev driver Helen Koike
2019-08-06 18:51 ` Helen Koike
2019-08-07 10:39 ` Hans Verkuil
2019-08-15 19:35 ` Laurent Pinchart
2020-03-25 6:34 ` Dafna Hirschfeld
2020-03-25 7:11 ` Laurent Pinchart
2020-03-25 8:51 ` Dafna Hirschfeld
2020-03-25 9:11 ` Laurent Pinchart
2019-08-08 9:14 ` Sakari Ailus
2019-08-15 0:58 ` Helen Koike
2019-08-15 8:24 ` Sakari Ailus
2019-08-15 10:29 ` Tomasz Figa
2019-08-15 10:45 ` Sakari Ailus
2019-08-15 13:17 ` Sakari Ailus
2020-01-31 19:38 ` Dafna Hirschfeld
2020-02-12 21:13 ` Sakari Ailus
2020-02-13 12:50 ` Dafna Hirschfeld [this message]
2019-08-16 0:13 ` Laurent Pinchart
2020-07-11 11:04 ` Dafna Hirschfeld
2020-07-17 7:46 ` Dafna Hirschfeld
2020-07-22 16:01 ` Tomasz Figa
2020-07-22 15:24 ` Tomasz Figa
2020-07-22 16:30 ` Laurent Pinchart
2020-07-22 17:12 ` Tomasz Figa
2020-07-22 17:50 ` Laurent Pinchart
2020-08-05 21:10 ` Dafna Hirschfeld
2020-08-06 9:21 ` Dafna Hirschfeld
2020-08-06 12:22 ` Tomasz Figa
2020-08-07 16:08 ` Dafna Hirschfeld
2020-08-13 6:17 ` Dafna Hirschfeld
2020-08-06 12:08 ` Tomasz Figa
2020-08-07 16:02 ` Dafna Hirschfeld
2019-07-30 18:42 ` [PATCH v8 06/14] media: rkisp1: add ISP1 statistics driver Helen Koike
2019-08-08 9:37 ` Sakari Ailus
2019-07-30 18:42 ` [PATCH v8 07/14] media: rkisp1: add ISP1 params driver Helen Koike
2019-07-30 18:42 ` [PATCH v8 08/14] media: rkisp1: add capture device driver Helen Koike
2019-07-30 18:42 ` [PATCH v8 09/14] media: rkisp1: add rockchip isp1 core driver Helen Koike
2019-08-07 15:27 ` Sakari Ailus
2019-08-08 21:59 ` Helen Koike
2019-08-09 12:05 ` Sakari Ailus
2019-08-07 15:36 ` Sakari Ailus
2019-07-30 18:42 ` [PATCH v8 10/14] dt-bindings: Document the Rockchip ISP1 bindings Helen Koike
2019-08-16 0:21 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 11/14] dt-bindings: Document the Rockchip MIPI RX D-PHY bindings Helen Koike
2019-08-15 18:14 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 12/14] arm64: dts: rockchip: add isp0 node for rk3399 Helen Koike
2019-07-30 18:42 ` [PATCH v8 13/14] arm64: dts: rockchip: add rx0 mipi-phy " Helen Koike
2019-07-30 18:42 ` [PATCH v8 14/14] MAINTAINERS: add entry for Rockchip ISP1 driver Helen Koike
2019-08-15 13:56 ` Laurent Pinchart
2019-07-30 20:15 ` [PATCH v8 00/14] Rockchip ISP1 Driver Hans Verkuil
2019-07-30 20:50 ` Helen Koike
2019-07-31 0:08 ` Helen Koike
2019-07-31 4:29 ` Hans Verkuil
2019-07-31 4:33 ` Hans Verkuil
2019-07-31 4:55 ` Hans Verkuil
2019-07-31 14:42 ` Helen Koike
2019-08-07 15:37 ` Sakari Ailus
2019-08-07 17:57 ` Helen Koike
2019-08-09 18:45 ` Manivannan Sadhasivam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3bc90001-8ebc-c55f-06b5-bbd6b58fa3cd@collabora.com \
--to=dafna.hirschfeld@collabora.com \
--cc=allon.huang@rock-chips.com \
--cc=cc@rock-chips.com \
--cc=dafna3@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=eddie.cai.linux@gmail.com \
--cc=ezequiel@collabora.com \
--cc=hans.verkuil@cisco.com \
--cc=heiko@sntech.de \
--cc=helen.koike@collabora.com \
--cc=jacob2.chen@rock-chips.com \
--cc=jeffy.chen@rock-chips.com \
--cc=kernel@collabora.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tfiga@chromium.org \
--cc=zhengsq@rock-chips.com \
--cc=zyc@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).