* 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