drm_do_probe_ddc_edid ENXIO check too aggressive?

2014-01-06 Thread Sean Paul
On Wed, Dec 18, 2013 at 5:07 PM, Daniel Drake wrote: > On Wed, Dec 18, 2013 at 2:18 PM, Daniel Drake wrote: >> Yes, this looks very similar to the approach I tried earlier. I guess >> the patch was written for the same reasons as well. >> Sean, any objections to me taking your patch and sending

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-19 Thread Daniel Kurtz
On Tue, Dec 17, 2013 at 11:12 PM, Daniel Drake wrote: > > On Mon, Dec 16, 2013 at 5:40 PM, Daniel Vetter wrote: > > Have a bit of logic in the exynos ->detect function to re-try a 2nd > > round of edid probing after each hdp interrupt if the first one > > returns an -ENXIO. Only tricky part is

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-18 Thread Daniel Vetter
On Wed, Dec 18, 2013 at 10:28:37AM -0600, Daniel Drake wrote: > On Wed, Dec 18, 2013 at 2:43 AM, Daniel Vetter wrote: > > I think we can do it simpler. When you get a hpd interrupt you eventually > > call drm_helper_hpd_irq_event which will update all the state and poke > > connectors. I'd just

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-18 Thread Daniel Drake
On Wed, Dec 18, 2013 at 2:18 PM, Daniel Drake wrote: > Yes, this looks very similar to the approach I tried earlier. I guess > the patch was written for the same reasons as well. > Sean, any objections to me taking your patch and sending it upstream? > >

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-18 Thread Daniel Drake
On Wed, Dec 18, 2013 at 1:58 PM, Daniel Kurtz wrote: > +seanpaul > > I think the problem is that the hdmi irq is really just an undebounced > gpio interrupt, and thus, it is firing way too soon. > The chromium kernel adds an excplicit 1.1 second timer to debounce hpd > between the hdmi hpd-gpio

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-18 Thread Daniel Drake
On Wed, Dec 18, 2013 at 2:43 AM, Daniel Vetter wrote: > I think we can do it simpler. When you get a hpd interrupt you eventually > call drm_helper_hpd_irq_event which will update all the state and poke > connectors. I'd just create a delay_work which you launch from > hdmi_irq_thread with a 1

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-18 Thread Daniel Vetter
On Tue, Dec 17, 2013 at 09:12:42AM -0600, Daniel Drake wrote: > On Mon, Dec 16, 2013 at 5:40 PM, Daniel Vetter wrote: > > Have a bit of logic in the exynos ->detect function to re-try a 2nd > > round of edid probing after each hdp interrupt if the first one > > returns an -ENXIO. Only tricky part

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-17 Thread Daniel Drake
On Mon, Dec 16, 2013 at 5:40 PM, Daniel Vetter wrote: > Have a bit of logic in the exynos ->detect function to re-try a 2nd > round of edid probing after each hdp interrupt if the first one > returns an -ENXIO. Only tricky part is to be careful with edge > detection so that userspace gets all the

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-17 Thread Daniel Vetter
On Mon, Dec 16, 2013 at 11:55 PM, Daniel Drake wrote: > On Mon, Dec 16, 2013 at 4:19 PM, Daniel Vetter wrote: >> This usually happens if the hpd isn't properly recessed and we start >> the i2c transaction while the physical connection hasn't been >> established properly yet. If you're _really_

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-16 Thread Daniel Vetter
On Mon, Dec 16, 2013 at 10:47 PM, Daniel Drake wrote: > I'm using exynos_drm on Exynos4412 to output to a Sony HDMI TV. > > When I disconnect and then re-plug the TV, Exynos detects this event > and tries to read the EDID from the DDC over I2C. > > The DDC does not provide an ACK at this point,

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-16 Thread Daniel Drake
On Mon, Dec 16, 2013 at 4:19 PM, Daniel Vetter wrote: > This usually happens if the hpd isn't properly recessed and we start > the i2c transaction while the physical connection hasn't been > established properly yet. If you're _really_ slow and careful you can > probably even break your current

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-16 Thread Daniel Drake
Resend with correct addresses for Eugeni and Chris... On Mon, Dec 16, 2013 at 3:47 PM, Daniel Drake wrote: > Hi, > > I'm using exynos_drm on Exynos4412 to output to a Sony HDMI TV. > > When I disconnect and then re-plug the TV, Exynos detects this event > and tries to read the EDID from the DDC

drm_do_probe_ddc_edid ENXIO check too aggressive?

2013-12-16 Thread Daniel Drake
Hi, I'm using exynos_drm on Exynos4412 to output to a Sony HDMI TV. When I disconnect and then re-plug the TV, Exynos detects this event and tries to read the EDID from the DDC over I2C. The DDC does not provide an ACK at this point, so the i2c-s3c2410 driver reports ENXIO, which seems to agree