devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Sakari Ailus <sakari.ailus-X3B1VOXEql0@public.gmane.org>
Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	fabio.estevam-3arQi8VN3Tc@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org,
	nick-gcszYUEDH4VrovVCs/uTlw@public.gmane.org,
	markus.heiser-O6JHGLzbNUwb1SvskN2V4Q@public.gmane.org,
	p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	bparrot-l0cyMroinI0@public.gmane.org,
	geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	jean-christophe.trotin-qxv4g6HH51o@public.gmane.org,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org,
	niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org,
	robert.jarzmik-GANU6spQydw@public.gmane.org,
	songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org,
	andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	pavel-+ZI9xUNit7I@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-me
Subject: Re: [PATCH v7 16/34] [media] add Omnivision OV5640 sensor driver
Date: Sat, 3 Jun 2017 11:02:21 -0700	[thread overview]
Message-ID: <ab04379b-d005-1251-343b-5e490ee6e72d@gmail.com> (raw)
In-Reply-To: <20170530065632.GK29527-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>

Hi Sakari,


On 05/29/2017 11:56 PM, Sakari Ailus wrote:
> Hi Steve,
> 
> On Mon, May 29, 2017 at 02:50:34PM -0700, Steve Longerbeam wrote:
>>> <snip>
>>>
>>>> +
>>>> +static int ov5640_s_ctrl(struct v4l2_ctrl *ctrl)
>>>> +{
>>>> +	struct v4l2_subdev *sd = ctrl_to_sd(ctrl);
>>>> +	struct ov5640_dev *sensor = to_ov5640_dev(sd);
>>>> +	int ret = 0;
>>>> +
>>>> +	mutex_lock(&sensor->lock);
>>> Could you use the same lock for the controls as you use for the rest? Just
>>> setting handler->lock after handler init does the trick.
>>
>> Can you please rephrase, I don't follow. "same lock for the controls as
>> you use for the rest" - there's only one device lock owned by this driver
>> and I am already using that same lock.
> 
> There's another in the control handler. You could use your own lock for the
> control handler as well.

I still don't understand.

> 
>>
>>
>>> <snip>
>>>> +
>>>> +static int ov5640_s_stream(struct v4l2_subdev *sd, int enable)
>>>> +{
>>>> +	struct ov5640_dev *sensor = to_ov5640_dev(sd);
>>>> +	int ret = 0;
>>>> +
>>>> +	mutex_lock(&sensor->lock);
>>>> +
>>>> +#if defined(CONFIG_MEDIA_CONTROLLER)
>>>> +	if (sd->entity.stream_count > 1)
>>> The entity stream_count isn't connected to the number of times s_stream(sd,
>>> true) is called. Please remove the check.
>>
>> It's incremented by media_pipeline_start(), even if the entity is already
>> a member of the given pipeline.
>>
>> I added this check because in imx-media, the ov5640 can be streaming
>> concurrently to multiple video capture devices, and each capture device
>> calls
>> media_pipeline_start() at stream on, which increments the entity stream
>> count.
>>
>> So if one capture device issues a stream off while others are still
>> streaming,
>> ov5640 should remain at stream on. So the entity stream count is being
>> used as a streaming usage counter. Is there a better way to do this? Should
>> I use a private stream use counter instead?
> 
> Different drivers may use media_pipeline_start() in different ways. Stream
> control shouldn't depend on that count. This could cause issues in using the
> driver with other ISP / receiver drivers.
> 
> I think it should be enough to move the check to the imx driver in this
> case.


I will remove this check.


>>>> +
>>>> +static int ov5640_remove(struct i2c_client *client)
>>>> +{
>>>> +	struct v4l2_subdev *sd = i2c_get_clientdata(client);
>>>> +	struct ov5640_dev *sensor = to_ov5640_dev(sd);
>>>> +
>>>> +	regulator_bulk_disable(OV5640_NUM_SUPPLIES, sensor->supplies);
>>> Ditto.
>>
>> I don't understand. regulator_bulk_disable() is still needed, am I missing
>> something?
> 
> You still need to enable it first. I don't see that being done in probe. As
> the driver implements the s_power() op, I don't see a need for powering the
> device on at probe time (and conversely off at remove time).

Oh you're right, it must have been left over from a previous revision
I guess. Yes, regulator_bulk_enable|disable() is only called in
ov5640_set_power(). I'll remove regulator_bulk_disable() from
probe/remove.

Steve


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-06-03 18:02 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-25  0:29 [PATCH v7 00/34] i.MX Media Driver Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 01/34] dt-bindings: Add bindings for video-multiplexer device Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 02/34] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 04/34] ARM: dts: imx6qdl: add multiplexer controls Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 05/34] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 06/34] ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 07/34] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 08/34] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 09/34] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 10/34] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 11/34] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 12/34] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 13/34] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 14/34] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 15/34] add mux and video interface bridge entity functions Steve Longerbeam
     [not found]   ` <1495672189-29164-16-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-05-29 13:37     ` Hans Verkuil
     [not found]       ` <3d3f0c9f-7315-69f0-877e-04b33c498c46-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2017-05-29 13:51         ` Philipp Zabel
     [not found]           ` <1496065877.17695.82.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-05-29 13:52             ` Hans Verkuil
2017-05-25  0:29 ` [PATCH v7 16/34] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-05-29 13:39   ` Hans Verkuil
2017-05-29 15:55   ` Sakari Ailus
2017-05-29 21:49     ` Steve Longerbeam
2017-05-29 21:50     ` Steve Longerbeam
2017-05-30  6:56       ` Sakari Ailus
     [not found]         ` <20170530065632.GK29527-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-06-03 18:02           ` Steve Longerbeam [this message]
2017-06-04 18:00             ` Steve Longerbeam
2017-06-07 12:31               ` Sakari Ailus
     [not found]   ` <1495672189-29164-17-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-05-31 19:58     ` Pavel Machek
2017-06-01  8:26       ` Sakari Ailus
2017-06-01  8:43         ` exposure vs. exposure_absolute was " Pavel Machek
     [not found]         ` <20170601082659.GJ1019-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-06-03 19:38           ` Steve Longerbeam
     [not found]             ` <755909bf-d1de-e0f3-1569-0d4b16e26817-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-03 19:51               ` Pavel Machek
2017-06-03 21:57                 ` Sakari Ailus
     [not found]                   ` <20170603215709.GU1019-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-06-03 22:17                     ` Pavel Machek
2017-06-04  4:46                     ` Steve Longerbeam
     [not found]                       ` <d51acbaa-0dc6-ce5c-5442-62c5c24ad6da-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-07 12:31                         ` Sakari Ailus
2017-05-25  0:29 ` [PATCH v7 18/34] platform: video-mux: include temporary mmio-mux support Steve Longerbeam
     [not found]   ` <1495672189-29164-19-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-05-25  7:51     ` kbuild test robot
2017-05-25  7:51   ` [PATCH] platform: video-mux: fix ptr_ret.cocci warnings kbuild test robot
2017-05-25  0:29 ` [PATCH v7 19/34] media: Add userspace header file for i.MX Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 20/34] media: Add i.MX media core driver Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 21/34] media: imx: Add Capture Device Interface Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 22/34] media: imx: Add CSI subdev driver Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 23/34] media: imx: Add VDIC " Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 25/34] media: imx: Add MIPI CSI-2 Receiver " Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 26/34] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 27/34] media: imx: csi: add support for bayer formats Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 28/34] media: imx: csi: increase burst size for YUV formats Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 29/34] media: imx: csi: add frame skipping support Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 30/34] media: imx: csi: add sink selection rectangles Steve Longerbeam
     [not found] ` <1495672189-29164-1-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2017-05-25  0:29   ` [PATCH v7 03/34] [media] dt/bindings: Add bindings for OV5640 Steve Longerbeam
2017-05-25  0:29   ` [PATCH v7 17/34] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-05-25  0:29   ` [PATCH v7 24/34] media: imx: Add IC subdev drivers Steve Longerbeam
2017-05-25  0:29   ` [PATCH v7 31/34] media: imx: csi: add frame size/interval enumeration Steve Longerbeam
2017-05-25  0:29   ` [PATCH v7 32/34] media: imx: capture: add frame sizes/interval enumeration Steve Longerbeam
2017-06-02  0:25   ` [PATCH v7 00/34] i.MX Media Driver Tim Harvey
2017-06-02  0:43     ` Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 33/34] media: imx: set and propagate default field, colorimetry Steve Longerbeam
2017-05-25  0:29 ` [PATCH v7 34/34] media: imx: Drop warning upon multiple S_STREAM disable calls Steve Longerbeam
2017-05-29 13:46 ` [PATCH v7 00/34] i.MX Media Driver Hans Verkuil
2017-05-29 15:36   ` Sakari Ailus
     [not found]     ` <20170529153637.GH29527-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-05-29 16:29       ` Hans Verkuil
2017-05-29 18:12     ` Steve Longerbeam
     [not found]       ` <08dcd6f6-e0ef-a6a0-cfc3-4fcd55624169-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-31 20:11         ` Pavel Machek
     [not found]   ` <dd82968a-4c0b-12a4-f43b-7e63a255812d-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2017-05-29 14:15     ` Philipp Zabel
     [not found]       ` <1496067346.17695.91.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-05-29 14:21         ` Hans Verkuil
     [not found]           ` <58c82482-d7d0-93cb-1e12-9749233bc5f3-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2017-05-29 15:24             ` Hans Verkuil
2017-05-29 17:23     ` Steve Longerbeam
     [not found]       ` <85c134d0-80f1-4313-2028-61bdad37903e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-29 17:29         ` Hans Verkuil

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=ab04379b-d005-1251-343b-5e490ee6e72d@gmail.com \
    --to=slongerbeam-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=bparrot-l0cyMroinI0@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=fabio.estevam-3arQi8VN3Tc@public.gmane.org \
    --cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org \
    --cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
    --cc=jean-christophe.trotin-qxv4g6HH51o@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=markus.heiser-O6JHGLzbNUwb1SvskN2V4Q@public.gmane.org \
    --cc=mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=nick-gcszYUEDH4VrovVCs/uTlw@public.gmane.org \
    --cc=niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org \
    --cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=pavel-+ZI9xUNit7I@public.gmane.org \
    --cc=robert.jarzmik-GANU6spQydw@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=sakari.ailus-X3B1VOXEql0@public.gmane.org \
    --cc=shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    /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).