[PATCH] imx-drm: fix hdmi hotplug detection initial state

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Apr 24 15:07:33 PDT 2014


On Thu, Apr 24, 2014 at 02:00:49PM -0700, Tim Harvey wrote:
> I'm still seeing issues with HDMI detect on powerup, at least on my
> Gateworks Ventana boards (which have no voltage devider or anything
> else on the HPD line to the IMX6 other than a TVS). I'm currently
> using your latest imx-drm-staging branch and have applied this patch
> on top of it. When I enable debug in imx-hdmi.c I see the following:

So it's a similar setup to the Cubox-i.

> on powerup with HDMI attached:
> [    6.291082] imx-ipuv3 2400000.ipu: IPUv3H probed
> [    6.298370] imx-ipuv3 2800000.ipu: IPUv3H probed
> [    6.310356] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    6.317087] [drm] No driver support for vblank timestamp query.
> [    6.324249] imx-drm display-subsystem.11: bound imx-ipuv3-crtc.0
> (ops ipu_crtc_ops)
> [    6.332475] imx-drm display-subsystem.11: bound imx-ipuv3-crtc.1
> (ops ipu_crtc_ops)
> [    6.340616] imx-drm display-subsystem.11: bound imx-ipuv3-crtc.2
> (ops ipu_crtc_ops)
> [    6.349221] imx-drm display-subsystem.11: bound imx-ipuv3-crtc.3
> (ops ipu_crtc_ops)
> [    6.358098] imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
> [    6.365366] hdmi_compute_cts: freq: 48000 pixel_clk: 74250000 ratio: 100
> [    6.372169] imx-hdmi 120000.hdmi: hdmi_set_clk_regenerator:
> samplerate=48000  ratio=100  pixelclk=74250000  N=6144 cts=74250
> [    6.383971] imx-drm display-subsystem.11: bound 120000.hdmi (ops hdmi_ops)
> [    6.383998] imx-hdmi 120000.hdmi: EVENT=plugin
> [    6.384011] imx-hdmi 120000.hdmi: imx_hdmi_poweron
> [    6.384022] imx-hdmi 120000.hdmi: imx_hdmi_setup vic=0
> [    6.384031] imx-hdmi 120000.hdmi: Non-CEA mode used in HDMI
> [    6.384038] imx-hdmi 120000.hdmi: final pixclk = 0
> [    6.402148] imx-hdmi 120000.hdmi: imx_hdmi_setup DVI mode
> [    6.428804] imx-drm display-subsystem.11: bound ldb.10 (ops imx_ldb_ops)
> [    6.490101] imx-hdmi 120000.hdmi: got edid: width[70] x height[39]
> [    6.506191] imx-drm display-subsystem.11: fb0:  frame buffer device
> [    6.512596] imx-drm display-subsystem.11: registered panic notifier
> [    6.518947] [drm] Initialized imx-drm 1.0.0 20120507 on minor 0

So at boot, I see this:

[    1.282549] imx-ipuv3 2400000.ipu: IPUv3H probed
[    1.295494] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.302197] [drm] No driver support for vblank timestamp query.
[    1.308315] imx-drm display-subsystem.10: bound imx-ipuv3-crtc.0 (ops ipu_crtc_ops)
[    1.326728] imx-drm display-subsystem.10: bound imx-ipuv3-crtc.1 (ops ipu_crtc_ops)
[    1.336741] imx-hdmi 120000.hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
[    1.346109] hdmi_compute_cts: freq: 48000 pixel_clk: 74250000 ratio: 100
[    1.346128] imx-hdmi 120000.hdmi: hdmi_set_clk_regenerator: samplerate=48000  ratio=100  pixelclk=74250000  N=6144 cts=74250
[    1.346276] imx-hdmi 120000.hdmi: EVENT=plugin
[    1.346291] imx-hdmi 120000.hdmi: Non-CEA mode used in HDMI
[    1.346301] imx-hdmi 120000.hdmi: final pixclk = 0
[    1.364422] imx-hdmi 120000.hdmi: imx_hdmi_setup DVI mode
[    1.365896] imx-drm display-subsystem.10: bound 120000.hdmi (ops hdmi_ops)
[    1.428629] imx-hdmi 120000.hdmi: got edid: width[128] x height[72]
[    1.435752] imx-hdmi 120000.hdmi: CEA mode used vic=31
[    1.435761] imx-hdmi 120000.hdmi: final pixclk = 148500000
[    1.453879] imx-hdmi 120000.hdmi: imx_hdmi_setup CEA mode
[    1.453886] hdmi_compute_cts: freq: 48000 pixel_clk: 148500000 ratio: 100
[    1.453896] imx-hdmi 120000.hdmi: hdmi_set_clk_regenerator: samplerate=48000  ratio=100  pixelclk=148500000  N=6144 cts=148500
[    1.454549] imx-hdmi 120000.hdmi: CEA mode used vic=31
[    1.454555] imx-hdmi 120000.hdmi: final pixclk = 148500000
[    1.472685] imx-hdmi 120000.hdmi: imx_hdmi_setup CEA mode
[    1.472691] hdmi_compute_cts: freq: 48000 pixel_clk: 148500000 ratio: 100
[    1.472702] imx-hdmi 120000.hdmi: hdmi_set_clk_regenerator: samplerate=48000  ratio=100  pixelclk=148500000  N=6144 cts=148500
[    1.489418] Console: switching to colour frame buffer device 240x67
[    1.511370] imx-drm display-subsystem.10: fb0:  frame buffer device
[    1.517770] imx-drm display-subsystem.10: registered panic notifier
[    1.524160] [drm] Initialized imx-drm 1.0.0 20120507 on minor 0

which is only with imx-hdmi bound, no ldb.  The difference you will
notice is that there's the "Console: switching ..." line, which is
there because I have fbcon enabled.

Therefore, I suspect that it is working as it should - if you enable
fbcon, it should automatically initialise.  If you don't have fbcon
enabled, then it'll probably wait for a userspace DRM driver to bring
it up.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.



More information about the linux-arm-kernel mailing list