public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* S_CTRL must be called twice  to set volatile controls
@ 2015-04-29  7:33 Jacek Anaszewski
  2015-04-29  7:53 ` Hans Verkuil
  0 siblings, 1 reply; 5+ messages in thread
From: Jacek Anaszewski @ 2015-04-29  7:33 UTC (permalink / raw)
  To: linux-media; +Cc: Ricardo Ribalda Delgado, Hans Verkuil, Sakari Ailus

Hi,

After testing my v4l2-flash helpers patch [1] with the recent patches
for v4l2-ctrl.c ([2] and [3]) s_ctrl op isn't called despite setting
the value that should be aligned to the other step than default one.

This happens for V4L2_CID_FLASH_TORCH_INTENSITY control with
V4L2_CTRL_FLAG_VOLATILE flag.

The situation improves after setting V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
flag for the control. Is this flag required now for volatile controls
to be writable?

[1] http://www.spinics.net/lists/linux-media/msg89004.html
[2] 45f014c5 [media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls
[3] b08d8d26 [media] media/v4l2-ctrls: volatiles should not generate 
CH_VALUE
-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: S_CTRL must be called twice  to set volatile controls
  2015-04-29  7:33 S_CTRL must be called twice to set volatile controls Jacek Anaszewski
@ 2015-04-29  7:53 ` Hans Verkuil
  2015-04-29  8:58   ` Jacek Anaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Hans Verkuil @ 2015-04-29  7:53 UTC (permalink / raw)
  To: Jacek Anaszewski, linux-media
  Cc: Ricardo Ribalda Delgado, Hans Verkuil, Sakari Ailus

Hi Jacek,

On 04/29/15 09:33, Jacek Anaszewski wrote:
> Hi,
> 
> After testing my v4l2-flash helpers patch [1] with the recent patches
> for v4l2-ctrl.c ([2] and [3]) s_ctrl op isn't called despite setting
> the value that should be aligned to the other step than default one.
> 
> This happens for V4L2_CID_FLASH_TORCH_INTENSITY control with
> V4L2_CTRL_FLAG_VOLATILE flag.
> 
> The situation improves after setting V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
> flag for the control. Is this flag required now for volatile controls
> to be writable?

Yes, you need that if you want to be able to write to a volatile control.

It was added for exactly that purpose.

Why is V4L2_CID_FLASH_TORCH_INTENSITY volatile? Volatile typically only
makes sense if the hardware itself is modifying the value without the
software knowing about it.

Regards,

	Hans

> 
> [1] http://www.spinics.net/lists/linux-media/msg89004.html
> [2] 45f014c5 [media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls
> [3] b08d8d26 [media] media/v4l2-ctrls: volatiles should not generate CH_VALUE

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: S_CTRL must be called twice  to set volatile controls
  2015-04-29  7:53 ` Hans Verkuil
@ 2015-04-29  8:58   ` Jacek Anaszewski
  2015-04-29 12:01     ` Sakari Ailus
  0 siblings, 1 reply; 5+ messages in thread
From: Jacek Anaszewski @ 2015-04-29  8:58 UTC (permalink / raw)
  To: Hans Verkuil
  Cc: linux-media, Ricardo Ribalda Delgado, Hans Verkuil, Sakari Ailus

Hi Hans,

On 04/29/2015 09:53 AM, Hans Verkuil wrote:
> Hi Jacek,
>
> On 04/29/15 09:33, Jacek Anaszewski wrote:
>> Hi,
>>
>> After testing my v4l2-flash helpers patch [1] with the recent patches
>> for v4l2-ctrl.c ([2] and [3]) s_ctrl op isn't called despite setting
>> the value that should be aligned to the other step than default one.
>>
>> This happens for V4L2_CID_FLASH_TORCH_INTENSITY control with
>> V4L2_CTRL_FLAG_VOLATILE flag.
>>
>> The situation improves after setting V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
>> flag for the control. Is this flag required now for volatile controls
>> to be writable?
>
> Yes, you need that if you want to be able to write to a volatile control.
>
> It was added for exactly that purpose.

Thanks for the explanation.

> Why is V4L2_CID_FLASH_TORCH_INTENSITY volatile? Volatile typically only
> makes sense if the hardware itself is modifying the value without the
> software knowing about it.

This can be the case for the flash LED devices that can reduce torch
current when battery voltage level falls below predefined threshold.

-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: S_CTRL must be called twice  to set volatile controls
  2015-04-29  8:58   ` Jacek Anaszewski
@ 2015-04-29 12:01     ` Sakari Ailus
  2015-04-29 12:37       ` Jacek Anaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Sakari Ailus @ 2015-04-29 12:01 UTC (permalink / raw)
  To: Jacek Anaszewski
  Cc: Hans Verkuil, linux-media, Ricardo Ribalda Delgado, Hans Verkuil

Hi Jacek,

On Wed, Apr 29, 2015 at 10:58:20AM +0200, Jacek Anaszewski wrote:
> Hi Hans,
> 
> On 04/29/2015 09:53 AM, Hans Verkuil wrote:
> >Hi Jacek,
> >
> >On 04/29/15 09:33, Jacek Anaszewski wrote:
> >>Hi,
> >>
> >>After testing my v4l2-flash helpers patch [1] with the recent patches
> >>for v4l2-ctrl.c ([2] and [3]) s_ctrl op isn't called despite setting
> >>the value that should be aligned to the other step than default one.
> >>
> >>This happens for V4L2_CID_FLASH_TORCH_INTENSITY control with
> >>V4L2_CTRL_FLAG_VOLATILE flag.
> >>
> >>The situation improves after setting V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
> >>flag for the control. Is this flag required now for volatile controls
> >>to be writable?
> >
> >Yes, you need that if you want to be able to write to a volatile control.
> >
> >It was added for exactly that purpose.
> 
> Thanks for the explanation.
> 
> >Why is V4L2_CID_FLASH_TORCH_INTENSITY volatile? Volatile typically only
> >makes sense if the hardware itself is modifying the value without the
> >software knowing about it.
> 
> This can be the case for the flash LED devices that can reduce torch
> current when battery voltage level falls below predefined threshold.

Can the LED flash actually tell about this, other than reading this through
the faults? I don't know of a LED flash that could do this, so I wonder if
we could make these controls non-volatile, as the reason I originally though
why they were volatile (the V4L2 control framework being more or less just a
front-end) was not a valid one.

I guess this could be done later on on top of the patch you currently have.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: S_CTRL must be called twice  to set volatile controls
  2015-04-29 12:01     ` Sakari Ailus
@ 2015-04-29 12:37       ` Jacek Anaszewski
  0 siblings, 0 replies; 5+ messages in thread
From: Jacek Anaszewski @ 2015-04-29 12:37 UTC (permalink / raw)
  To: Sakari Ailus
  Cc: Hans Verkuil, linux-media, Ricardo Ribalda Delgado, Hans Verkuil

Hi Sakari,

On 04/29/2015 02:01 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> On Wed, Apr 29, 2015 at 10:58:20AM +0200, Jacek Anaszewski wrote:
>> Hi Hans,
>>
>> On 04/29/2015 09:53 AM, Hans Verkuil wrote:
>>> Hi Jacek,
>>>
>>> On 04/29/15 09:33, Jacek Anaszewski wrote:
>>>> Hi,
>>>>
>>>> After testing my v4l2-flash helpers patch [1] with the recent patches
>>>> for v4l2-ctrl.c ([2] and [3]) s_ctrl op isn't called despite setting
>>>> the value that should be aligned to the other step than default one.
>>>>
>>>> This happens for V4L2_CID_FLASH_TORCH_INTENSITY control with
>>>> V4L2_CTRL_FLAG_VOLATILE flag.
>>>>
>>>> The situation improves after setting V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
>>>> flag for the control. Is this flag required now for volatile controls
>>>> to be writable?
>>>
>>> Yes, you need that if you want to be able to write to a volatile control.
>>>
>>> It was added for exactly that purpose.
>>
>> Thanks for the explanation.
>>
>>> Why is V4L2_CID_FLASH_TORCH_INTENSITY volatile? Volatile typically only
>>> makes sense if the hardware itself is modifying the value without the
>>> software knowing about it.
>>
>> This can be the case for the flash LED devices that can reduce torch
>> current when battery voltage level falls below predefined threshold.
>
> Can the LED flash actually tell about this, other than reading this through
> the faults?

MAX77693-flash device supports this.

> I don't know of a LED flash that could do this, so I wonder if
> we could make these controls non-volatile, as the reason I originally though
> why they were volatile (the V4L2 control framework being more or less just a
> front-end) was not a valid one.

The other reason for keeping the controls volatile is the fact that
LED subsystem has brightness_get op, which can be implemented by
drivers to report the current level actually set.

> I guess this could be done later on on top of the patch you currently have.
>


-- 
Best Regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-04-29 12:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-29  7:33 S_CTRL must be called twice to set volatile controls Jacek Anaszewski
2015-04-29  7:53 ` Hans Verkuil
2015-04-29  8:58   ` Jacek Anaszewski
2015-04-29 12:01     ` Sakari Ailus
2015-04-29 12:37       ` Jacek Anaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox