Re: [PATCH v4 6/8] media: rcar-vin: initialize EDID data

2016-06-27 Thread Hans Verkuil
Hi Ulrich,

On 05/13/2016 10:36 AM, Hans Verkuil wrote:
> On 05/11/2016 04:02 PM, Ulrich Hecht wrote:
>> Initializes the decoder subdevice with a fixed EDID blob.
>>
>> Signed-off-by: Ulrich Hecht 
> 
> Nacked-by: Hans Verkuil 
> 
> Instead implement the g/s_edid ioctls.
> 
> You truly cannot default to an EDID. When an EDID is set the HPD will go high.
> But you don't know the EDID here, the contents of the EDID is something that
> only userspace will know depending on the type of device you're building.
> 
> In practice userspace will overwrite the EDID with the real one and so the HPD
> will go down and up again. And while transmitters are supposed to handle that
> cleanly, in reality this is a different story.
> 
> Just add the g/s_edid ioctls and you can use 'v4l2-ctl --set-edid=edid=hdmi' 
> to
> fill in a default EDID.
> 
> I won't accept this patch since I know from my own experience that this 
> doesn't
> work.

I haven't seen a follow-up on this. Can you do a v5? It's likely that will be 
the
last version and I can commit this.

Thanks!

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


Re: [PATCH v4 6/8] media: rcar-vin: initialize EDID data

2016-05-13 Thread Hans Verkuil
On 05/11/2016 04:02 PM, Ulrich Hecht wrote:
> Initializes the decoder subdevice with a fixed EDID blob.
> 
> Signed-off-by: Ulrich Hecht 

Nacked-by: Hans Verkuil 

Instead implement the g/s_edid ioctls.

You truly cannot default to an EDID. When an EDID is set the HPD will go high.
But you don't know the EDID here, the contents of the EDID is something that
only userspace will know depending on the type of device you're building.

In practice userspace will overwrite the EDID with the real one and so the HPD
will go down and up again. And while transmitters are supposed to handle that
cleanly, in reality this is a different story.

Just add the g/s_edid ioctls and you can use 'v4l2-ctl --set-edid=edid=hdmi' to
fill in a default EDID.

I won't accept this patch since I know from my own experience that this doesn't
work.

Regards,

Hans

> ---
>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 46 
> +
>  1 file changed, 46 insertions(+)
> 
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c 
> b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> index 10a5c10..5bb3c3b 100644
> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> @@ -765,6 +765,41 @@ static void rvin_notify(struct v4l2_subdev *sd,
>   }
>  }
>  
> +static u8 edid[256] = {
> + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
> + 0x48, 0xAE, 0x9C, 0x27, 0x00, 0x00, 0x00, 0x00,
> + 0x19, 0x12, 0x01, 0x03, 0x80, 0x00, 0x00, 0x78,
> + 0x0E, 0x00, 0xB2, 0xA0, 0x57, 0x49, 0x9B, 0x26,
> + 0x10, 0x48, 0x4F, 0x2F, 0xCF, 0x00, 0x31, 0x59,
> + 0x45, 0x59, 0x61, 0x59, 0x81, 0x99, 0x01, 0x01,
> + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3A,
> + 0x80, 0x18, 0x71, 0x38, 0x2D, 0x40, 0x58, 0x2C,
> + 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
> + 0x00, 0x00, 0x00, 0xFD, 0x00, 0x31, 0x55, 0x18,
> + 0x5E, 0x11, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20,
> + 0x20, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x43,
> + 0x20, 0x39, 0x30, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
> + 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x10,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68,
> + 0x02, 0x03, 0x1a, 0xc0, 0x48, 0xa2, 0x10, 0x04,
> + 0x02, 0x01, 0x21, 0x14, 0x13, 0x23, 0x09, 0x07,
> + 0x07, 0x65, 0x03, 0x0c, 0x00, 0x10, 0x00, 0xe2,
> + 0x00, 0x2a, 0x01, 0x1d, 0x00, 0x80, 0x51, 0xd0,
> + 0x1c, 0x20, 0x40, 0x80, 0x35, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x1e, 0x8c, 0x0a, 0xd0, 0x8a,
> + 0x20, 0xe0, 0x2d, 0x10, 0x10, 0x3e, 0x96, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7
> +};
> +
>  int rvin_v4l2_probe(struct rvin_dev *vin)
>  {
>   struct v4l2_subdev_format fmt = {
> @@ -870,5 +905,16 @@ int rvin_v4l2_probe(struct rvin_dev *vin)
>   v4l2_info(>v4l2_dev, "Device registered as %s\n",
> video_device_node_name(>vdev));
>  
> + {
> + struct v4l2_subdev_edid rvin_edid = {
> + .pad = 0,
> + .start_block = 0,
> + .blocks = 2,
> + .edid = edid,
> + };
> + v4l2_subdev_call(sd, pad, set_edid,
> + _edid);
> + }
> +
>   return ret;
>  }
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 6/8] media: rcar-vin: initialize EDID data

2016-05-11 Thread Ulrich Hecht
Initializes the decoder subdevice with a fixed EDID blob.

Signed-off-by: Ulrich Hecht 
---
 drivers/media/platform/rcar-vin/rcar-v4l2.c | 46 +
 1 file changed, 46 insertions(+)

diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c 
b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index 10a5c10..5bb3c3b 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -765,6 +765,41 @@ static void rvin_notify(struct v4l2_subdev *sd,
}
 }
 
+static u8 edid[256] = {
+   0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+   0x48, 0xAE, 0x9C, 0x27, 0x00, 0x00, 0x00, 0x00,
+   0x19, 0x12, 0x01, 0x03, 0x80, 0x00, 0x00, 0x78,
+   0x0E, 0x00, 0xB2, 0xA0, 0x57, 0x49, 0x9B, 0x26,
+   0x10, 0x48, 0x4F, 0x2F, 0xCF, 0x00, 0x31, 0x59,
+   0x45, 0x59, 0x61, 0x59, 0x81, 0x99, 0x01, 0x01,
+   0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3A,
+   0x80, 0x18, 0x71, 0x38, 0x2D, 0x40, 0x58, 0x2C,
+   0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
+   0x00, 0x00, 0x00, 0xFD, 0x00, 0x31, 0x55, 0x18,
+   0x5E, 0x11, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20,
+   0x20, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x43,
+   0x20, 0x39, 0x30, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
+   0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x10,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68,
+   0x02, 0x03, 0x1a, 0xc0, 0x48, 0xa2, 0x10, 0x04,
+   0x02, 0x01, 0x21, 0x14, 0x13, 0x23, 0x09, 0x07,
+   0x07, 0x65, 0x03, 0x0c, 0x00, 0x10, 0x00, 0xe2,
+   0x00, 0x2a, 0x01, 0x1d, 0x00, 0x80, 0x51, 0xd0,
+   0x1c, 0x20, 0x40, 0x80, 0x35, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x1e, 0x8c, 0x0a, 0xd0, 0x8a,
+   0x20, 0xe0, 0x2d, 0x10, 0x10, 0x3e, 0x96, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7
+};
+
 int rvin_v4l2_probe(struct rvin_dev *vin)
 {
struct v4l2_subdev_format fmt = {
@@ -870,5 +905,16 @@ int rvin_v4l2_probe(struct rvin_dev *vin)
v4l2_info(>v4l2_dev, "Device registered as %s\n",
  video_device_node_name(>vdev));
 
+   {
+   struct v4l2_subdev_edid rvin_edid = {
+   .pad = 0,
+   .start_block = 0,
+   .blocks = 2,
+   .edid = edid,
+   };
+   v4l2_subdev_call(sd, pad, set_edid,
+   _edid);
+   }
+
return ret;
 }
-- 
2.7.4

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