diff mbox

[v6,4/4] rcar-vin: implement EDID control ioctls

Message ID 1469178554-20719-5-git-send-email-ulrich.hecht+renesas@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ulrich Hecht July 22, 2016, 9:09 a.m. UTC
Adds G_EDID and S_EDID.

Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
---
 drivers/media/platform/rcar-vin/rcar-v4l2.c | 33 +++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

Comments

Hans Verkuil Aug. 13, 2016, 1:30 p.m. UTC | #1
On 07/22/2016 11:09 AM, Ulrich Hecht wrote:
> Adds G_EDID and S_EDID.
> 
> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
> ---
>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 33 +++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> index 396eabc..57e040c 100644
> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> @@ -661,6 +661,36 @@ static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
>  	return ret;
>  }
>  
> +static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
> +{
> +	struct rvin_dev *vin = video_drvdata(file);
> +	int input, ret;
> +
> +	input = edid->pad;
> +	edid->pad = vin->inputs[input].sink_idx;

There is no vin->inputs array. Are there some other patches that need to be merged
first?

Anyway, it would be good if you can post a rebased v7, I had to manually update
one or two other patches from this series as well to make them apply so a new patch
series would be helpful.

Regards,

	Hans

> +
> +	ret = rvin_subdev_call(vin, pad, get_edid, edid);
> +
> +	edid->pad = input;
> +
> +	return ret;
> +}
> +
> +static int rvin_s_edid(struct file *file, void *fh, struct v4l2_edid *edid)
> +{
> +	struct rvin_dev *vin = video_drvdata(file);
> +	int input, ret;
> +
> +	input = edid->pad;
> +	edid->pad = vin->inputs[input].sink_idx;
> +
> +	ret = rvin_subdev_call(vin, pad, set_edid, edid);
> +
> +	edid->pad = input;
> +
> +	return ret;
> +}
> +
>  static const struct v4l2_ioctl_ops rvin_ioctl_ops = {
>  	.vidioc_querycap		= rvin_querycap,
>  	.vidioc_try_fmt_vid_cap		= rvin_try_fmt_vid_cap,
> @@ -683,6 +713,9 @@ static const struct v4l2_ioctl_ops rvin_ioctl_ops = {
>  	.vidioc_s_dv_timings		= rvin_s_dv_timings,
>  	.vidioc_query_dv_timings	= rvin_query_dv_timings,
>  
> +	.vidioc_g_edid			= rvin_g_edid,
> +	.vidioc_s_edid			= rvin_s_edid,
> +
>  	.vidioc_querystd		= rvin_querystd,
>  	.vidioc_g_std			= rvin_g_std,
>  	.vidioc_s_std			= rvin_s_std,
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ulrich Hecht Aug. 15, 2016, 8:37 a.m. UTC | #2
On Sat, Aug 13, 2016 at 3:30 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
> On 07/22/2016 11:09 AM, Ulrich Hecht wrote:
>> Adds G_EDID and S_EDID.
>>
>> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
>> ---
>>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 33 +++++++++++++++++++++++++++++
>>  1 file changed, 33 insertions(+)
>>
>> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>> index 396eabc..57e040c 100644
>> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
>> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>> @@ -661,6 +661,36 @@ static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
>>       return ret;
>>  }
>>
>> +static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
>> +{
>> +     struct rvin_dev *vin = video_drvdata(file);
>> +     int input, ret;
>> +
>> +     input = edid->pad;
>> +     edid->pad = vin->inputs[input].sink_idx;
>
> There is no vin->inputs array. Are there some other patches that need to be merged
> first?

It depends on "[PATCHv2 12/16] [media] rcar-vin: allow subdevices to
be bound late" from "[PATCHv2 00/16] rcar-vin: Enable Gen3 support".
Does that series have a chance of getting merged any time soon?

CU
Uli
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hans Verkuil Aug. 15, 2016, 8:48 a.m. UTC | #3
On 08/15/2016 10:37 AM, Ulrich Hecht wrote:
> On Sat, Aug 13, 2016 at 3:30 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
>> On 07/22/2016 11:09 AM, Ulrich Hecht wrote:
>>> Adds G_EDID and S_EDID.
>>>
>>> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
>>> ---
>>>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 33 +++++++++++++++++++++++++++++
>>>  1 file changed, 33 insertions(+)
>>>
>>> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>> index 396eabc..57e040c 100644
>>> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>> @@ -661,6 +661,36 @@ static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
>>>       return ret;
>>>  }
>>>
>>> +static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
>>> +{
>>> +     struct rvin_dev *vin = video_drvdata(file);
>>> +     int input, ret;
>>> +
>>> +     input = edid->pad;
>>> +     edid->pad = vin->inputs[input].sink_idx;
>>
>> There is no vin->inputs array. Are there some other patches that need to be merged
>> first?
> 
> It depends on "[PATCHv2 12/16] [media] rcar-vin: allow subdevices to
> be bound late" from "[PATCHv2 00/16] rcar-vin: Enable Gen3 support".
> Does that series have a chance of getting merged any time soon?

I hope to review it today or Friday.

Can you repost anyway: the dts patches don't apply cleanly anymore, and
I prefer that you fix that. I want to avoid making a mistake when I fix them up.

Regards,

	Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ulrich Hecht Aug. 15, 2016, 9:16 a.m. UTC | #4
On Mon, Aug 15, 2016 at 10:48 AM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
> On 08/15/2016 10:37 AM, Ulrich Hecht wrote:
>> On Sat, Aug 13, 2016 at 3:30 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
>>> On 07/22/2016 11:09 AM, Ulrich Hecht wrote:
>>>> Adds G_EDID and S_EDID.
>>>>
>>>> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
>>>> ---
>>>>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 33 +++++++++++++++++++++++++++++
>>>>  1 file changed, 33 insertions(+)
>>>>
>>>> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>>> index 396eabc..57e040c 100644
>>>> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>>> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
>>>> @@ -661,6 +661,36 @@ static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
>>>>       return ret;
>>>>  }
>>>>
>>>> +static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
>>>> +{
>>>> +     struct rvin_dev *vin = video_drvdata(file);
>>>> +     int input, ret;
>>>> +
>>>> +     input = edid->pad;
>>>> +     edid->pad = vin->inputs[input].sink_idx;
>>>
>>> There is no vin->inputs array. Are there some other patches that need to be merged
>>> first?
>>
>> It depends on "[PATCHv2 12/16] [media] rcar-vin: allow subdevices to
>> be bound late" from "[PATCHv2 00/16] rcar-vin: Enable Gen3 support".
>> Does that series have a chance of getting merged any time soon?
>
> I hope to review it today or Friday.
>
> Can you repost anyway: the dts patches don't apply cleanly anymore, and
> I prefer that you fix that. I want to avoid making a mistake when I fix them up.

The patches are current, but they depend on changes in the
renesas-drivers tree not upstream yet.
Should we perhaps split this series into code and DT?

CU
Uli
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index 396eabc..57e040c 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -661,6 +661,36 @@  static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
 	return ret;
 }
 
+static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
+{
+	struct rvin_dev *vin = video_drvdata(file);
+	int input, ret;
+
+	input = edid->pad;
+	edid->pad = vin->inputs[input].sink_idx;
+
+	ret = rvin_subdev_call(vin, pad, get_edid, edid);
+
+	edid->pad = input;
+
+	return ret;
+}
+
+static int rvin_s_edid(struct file *file, void *fh, struct v4l2_edid *edid)
+{
+	struct rvin_dev *vin = video_drvdata(file);
+	int input, ret;
+
+	input = edid->pad;
+	edid->pad = vin->inputs[input].sink_idx;
+
+	ret = rvin_subdev_call(vin, pad, set_edid, edid);
+
+	edid->pad = input;
+
+	return ret;
+}
+
 static const struct v4l2_ioctl_ops rvin_ioctl_ops = {
 	.vidioc_querycap		= rvin_querycap,
 	.vidioc_try_fmt_vid_cap		= rvin_try_fmt_vid_cap,
@@ -683,6 +713,9 @@  static const struct v4l2_ioctl_ops rvin_ioctl_ops = {
 	.vidioc_s_dv_timings		= rvin_s_dv_timings,
 	.vidioc_query_dv_timings	= rvin_query_dv_timings,
 
+	.vidioc_g_edid			= rvin_g_edid,
+	.vidioc_s_edid			= rvin_s_edid,
+
 	.vidioc_querystd		= rvin_querystd,
 	.vidioc_g_std			= rvin_g_std,
 	.vidioc_s_std			= rvin_s_std,