vivid: do not implement VIDIOC_S_PARM for output streams
Commit Message
v4l2_compliance gave a warning for the S_PARM test for output streams:
warn: v4l2-test-formats.cpp(1235): S_PARM is supported for buftype 2, but not for ENUM_FRAMEINTERVALS
The reason is that vivid mapped s_parm for output streams to g_parm. But if
S_PARM doesn't actually change anything, then it shouldn't be enabled at all.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
---
Comments
Le vendredi 11 janvier 2019 à 12:37 +0100, Hans Verkuil a écrit :
> v4l2_compliance gave a warning for the S_PARM test for output streams:
>
> warn: v4l2-test-formats.cpp(1235): S_PARM is supported for buftype 2, but not for ENUM_FRAMEINTERVALS
>
> The reason is that vivid mapped s_parm for output streams to g_parm. But if
> S_PARM doesn't actually change anything, then it shouldn't be enabled at all.
Though now, a vivid output reflect even less an output HW, for which I
would expect S_PARM to be used to configure the HW transmission clock.
>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> ---
> diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
> index c931f007e5b0..7da5720b47a2 100644
> --- a/drivers/media/platform/vivid/vivid-core.c
> +++ b/drivers/media/platform/vivid/vivid-core.c
> @@ -371,7 +371,7 @@ static int vidioc_s_parm(struct file *file, void *fh,
>
> if (vdev->vfl_dir == VFL_DIR_RX)
> return vivid_vid_cap_s_parm(file, fh, parm);
> - return vivid_vid_out_g_parm(file, fh, parm);
> + return -ENOTTY;
> }
>
> static int vidioc_log_status(struct file *file, void *fh)
On 1/11/19 9:13 PM, Nicolas Dufresne wrote:
> Le vendredi 11 janvier 2019 à 12:37 +0100, Hans Verkuil a écrit :
>> v4l2_compliance gave a warning for the S_PARM test for output streams:
>>
>> warn: v4l2-test-formats.cpp(1235): S_PARM is supported for buftype 2, but not for ENUM_FRAMEINTERVALS
>>
>> The reason is that vivid mapped s_parm for output streams to g_parm. But if
>> S_PARM doesn't actually change anything, then it shouldn't be enabled at all.
>
> Though now, a vivid output reflect even less an output HW, for which I
> would expect S_PARM to be used to configure the HW transmission clock.
That's done via VIDIOC_S_STD or VIDIOC_S_DV_TIMINGS, not via VIDIOC_S_PARM.
S_PARM for an output really makes no sense. At least, I can't think of any.
Regards,
Hans
>
>>
>> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
>> ---
>> diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
>> index c931f007e5b0..7da5720b47a2 100644
>> --- a/drivers/media/platform/vivid/vivid-core.c
>> +++ b/drivers/media/platform/vivid/vivid-core.c
>> @@ -371,7 +371,7 @@ static int vidioc_s_parm(struct file *file, void *fh,
>>
>> if (vdev->vfl_dir == VFL_DIR_RX)
>> return vivid_vid_cap_s_parm(file, fh, parm);
>> - return vivid_vid_out_g_parm(file, fh, parm);
>> + return -ENOTTY;
>> }
>>
>> static int vidioc_log_status(struct file *file, void *fh)
>
@@ -371,7 +371,7 @@ static int vidioc_s_parm(struct file *file, void *fh,
if (vdev->vfl_dir == VFL_DIR_RX)
return vivid_vid_cap_s_parm(file, fh, parm);
- return vivid_vid_out_g_parm(file, fh, parm);
+ return -ENOTTY;
}
static int vidioc_log_status(struct file *file, void *fh)