Hi, Here's another issue with imxdrm. I got this while trying to reproduce Dan's problem by enabling the lvds output using the patch below originally from Fabio, but updated a bit. This doesn't occur if I leave LVDS disabled. The taint is due to the IMX capture modules from Steve, who chose to put his code in drivers/staging/media rather than drivers/media. However, the last module to make the capture stuff active (imx-csi) which interfaces the drivers/gpu/ipu-v3 code with the capture code has not been loaded. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1049 at /home/rmk/git/linux-rmk/drivers/gpu/drm/drm_atomic_helper.c:1149 drm_atomic_helper_wait_for_vblanks+0x218/0x224 [CRTC:29] vblank wait timed out Modules linked in: imx_camif(C) imx_ic(C) imx_smfc(C) caam_jr uvcvideo snd_soc_imx_sgtl5000 snd_soc_fsl_asoc_card snd_soc_imx_spdif imx_media(C) snd_soc_imx_audmux imx_mipi_csi2(C) imx_media_core(C) snd_soc_sgtl5000 imx219 caam imx_sdma video_multiplexer imx2_wdt coda v4l2_mem2mem videobuf2_v4l2 videobuf2_dma_contig snd_soc_fsl_spdif videobuf2_core snd_soc_fsl_ssi imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal nfsd rc_pinnacle_pctv_hd dw_hdmi_cec dw_hdmi_ahb_audio imx_ldb etnaviv CPU: 1 PID: 1049 Comm: Xorg Tainted: G C 4.10.0-rc7+ #2106 Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) Backtrace: [<c0013ba4>] (dump_backtrace) from [<c0013de4>] (show_stack+0x18/0x1c) r6:600f0013 r5:ffffffff r4:00000000 r3:00000000 [<c0013dcc>] (show_stack) from [<c0333668>] (dump_stack+0xa4/0xdc) [<c03335c4>] (dump_stack) from [<c0033250>] (__warn+0xdc/0x108) r6:c08db088 r5:00000000 r4:ee9a5c98 r3:d039ee40 [<c0033174>] (__warn) from [<c0033334>] (warn_slowpath_fmt+0x40/0x48) r10:d01d5018 r8:000000b0 r7:d01d4000 r6:eea7d000 r5:eaab4480 r4:00000001 [<c00332f8>] (warn_slowpath_fmt) from [<c03d9a78>] (drm_atomic_helper_wait_for_vblanks+0x218/0x224) r3:0000001d r2:c08db1b4 [<c03d9860>] (drm_atomic_helper_wait_for_vblanks) from [<c04041dc>] (imx_drm_atomic_commit_tail+0x50/0x60) r10:d02be400 r9:eaab4a00 r8:00000000 r7:d01d4000 r6:00000000 r5:d01d4000 r4:eaab4480 [<c040418c>] (imx_drm_atomic_commit_tail) from [<c03daea0>] (commit_tail+0x48/0x94) r5:c0a456a4 r4:eaab4480 [<c03dae58>] (commit_tail) from [<c03dafc8>] (drm_atomic_helper_commit+0xc4/0x150) r5:00000000 r4:eaab4480 [<c03daf04>] (drm_atomic_helper_commit) from [<c03f8d04>] (drm_atomic_commit+0x4c/0x60) r8:ed57f000 r7:ee9a5dd8 r6:d01d4000 r5:00000000 r4:eaab4480 r3:c03daf04 [<c03f8cb8>] (drm_atomic_commit) from [<c03db568>] (drm_atomic_helper_set_config+0x80/0xd0) r6:d01d5018 r5:00000000 r4:eaab4480 r3:00000004 [<c03db4e8>] (drm_atomic_helper_set_config) from [<c03ed0b0>] (drm_mode_set_config_internal+0x60/0xe4) r7:d01d5018 r6:d01d4000 r5:eaab4a00 r4:ed57f000 [<c03ed050>] (drm_mode_set_config_internal) from [<c03eda08>] (drm_mode_setcrtc+0xdc/0x47c) r7:00000001 r6:d01d4000 r5:eaab4a00 r4:ee9a5e58 [<c03ed92c>] (drm_mode_setcrtc) from [<c03e5ae4>] (drm_ioctl+0x204/0x41c) r10:c06864a2 r9:d01d4000 r8:c07495a0 r7:ee9a5e58 r6:d03e3400 r5:00000068 r4:00000000 [<c03e58e0>] (drm_ioctl) from [<c0188cd8>] (do_vfs_ioctl+0x98/0x9a0) r10:ed4ba068 r9:ee9a4000 r8:be9fa5c0 r7:00000008 r6:00000008 r5:ee1a4500 r4:c018961c [<c0188c40>] (do_vfs_ioctl) from [<c018961c>] (SyS_ioctl+0x3c/0x60) r10:00000000 r9:ee9a4000 r8:be9fa5c0 r7:00000008 r6:c06864a2 r5:ee1a4500 r4:ee1a4500 [<c01895e0>] (SyS_ioctl) from [<c000fd60>] (ret_fast_syscall+0x0/0x1c) r8:c000ff04 r7:00000036 r6:c06864a2 r5:be9fa5c0 r4:b6c4ace8 r3:00000001 ---[ end trace e9cdd5f49e5cc87f ]--- diff --git a/arch/arm/boot/dts/imx6dl-hummingboard.dts b/arch/arm/boot/dts/imx6dl-hummingboard.dts index d5c966031962..9f605d14c50f 100644 --- a/arch/arm/boot/dts/imx6dl-hummingboard.dts +++ b/arch/arm/boot/dts/imx6dl-hummingboard.dts @@ -48,3 +48,10 @@ model = "SolidRun HummingBoard Solo/DualLite"; compatible = "solidrun,hummingboard/dl", "fsl,imx6dl"; }; + +&clks { + assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, + <&clks IMX6QDL_CLK_LDB_DI1_SEL>; + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, + <&clks IMX6QDL_CLK_PLL3_USB_OTG>; +}; diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi index d6c2358ffad4..258107246d64 100644 --- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi @@ -302,3 +302,28 @@ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; status = "okay"; }; + +&ldb { + status = "okay"; + + lvds-channel@1 { + fsl,data-mapping = "spwg"; + fsl,data-width = <18>; + status = "okay"; + + display-timings { + native-mode = <&timing0>; + timing0: hsd100pxn1 { + clock-frequency = <65000000>; + hactive = <1024>; + vactive = <768>; + hback-porch = <220>; + hfront-porch = <40>; + vback-porch = <21>; + vfront-porch = <7>; + hsync-len = <60>; + vsync-len = <10>; + }; + }; + }; +}; diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c index 45bf9e330eca..bb0cf4cd3370 100644 --- a/drivers/clk/imx/clk-imx6q.c +++ b/drivers/clk/imx/clk-imx6q.c @@ -864,7 +864,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_SEL], clk[IMX6QDL_CLK_IPU2_DI0_PRE]); clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_SEL], clk[IMX6QDL_CLK_IPU2_DI1_PRE]); - if (cpu_is_imx6dl()) + if (clk_on_imx6dl()) clk_set_parent(clk[IMX6QDL_CLK_IPU1_SEL], clk[IMX6QDL_CLK_PLL3_PFD1_540M]); /* -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel