From: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> To: Sakari Ailus <sakari.ailus@linux.intel.com>, Helen Koike <helen.koike@collabora.com> Cc: devicetree@vger.kernel.org, eddie.cai.linux@gmail.com, kernel@collabora.com, heiko@sntech.de, jacob2.chen@rock-chips.com, Dafna Hirschfeld <dafna3@gmail.com>, jeffy.chen@rock-chips.com, zyc@rock-chips.com, linux-kernel@vger.kernel.org, tfiga@chromium.org, linux-rockchip@lists.infradead.org, Allon Huang <allon.huang@rock-chips.com>, Jacob Chen <cc@rock-chips.com>, hans.verkuil@cisco.com, laurent.pinchart@ideasonboard.com, zhengsq@rock-chips.com, mchehab@kernel.org, ezequiel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Subject: Re: [PATCH v8 05/14] media: rkisp1: add Rockchip ISP1 subdev driver Date: Fri, 31 Jan 2020 20:38:34 +0100 Message-ID: <78856358-1afd-31a7-86dd-22f7d6d7fb05@collabora.com> (raw) In-Reply-To: <20190815131748.GS6133@paasikivi.fi.intel.com> 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' ? >> 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. > > 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? Thanks, Dafna > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply index Thread overview: 76+ 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 [this message] 2020-02-12 21:13 ` Sakari Ailus 2020-02-13 12:50 ` Dafna Hirschfeld 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 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=78856358-1afd-31a7-86dd-22f7d6d7fb05@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
Linux-ARM-Kernel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \ linux-arm-kernel@lists.infradead.org public-inbox-index linux-arm-kernel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git