[PATCH 1/2] drm/i2c/tda998x: Switch to atomic operations

Tommaso Merciai tomm.merciai at gmail.com
Sat Jan 15 23:23:06 UTC 2022


On Tue, Jan 11, 2022 at 09:21:51PM +0100, Tommaso Merciai wrote:
> On Sun, Jan 09, 2022 at 03:44:07PM -0300, Fabio Estevam wrote:
> > Hi Tommaso,
> > 
> > On Sat, Jan 8, 2022 at 4:17 PM Tommaso Merciai <tomm.merciai at gmail.com> wrote:
> > 
> > > Hi Fabio,
> > > If you need some test let me know. Whitch filesystem are you using?
> > 
> > I am using a rootfs generated by Buildroot.
> > 
> > The issue I see seems to be hotplug-related.
> > 
> > cat /sys/class/drm/card1-HDMI-A-1/status
> > 
> > not always match with the real state of the HDMI cable.
> > 
> > > In the next days I will investigate on this issue.
> > > Let me know.
> > 
> > Thanks
> 
> Hi Fabio,
> Got it, I'll try to reproduce the issue on my side and let you know.
> 
> Thanks,
> Tommaso

Hi Fabio,
I'm working on bring up urt,umsh-8596md-20t lvds kit panel, but after enable
following node I get the following error:

+       backlight_display: backlight-display {
+               compatible = "pwm-backlight";
+               pwms = <&pwm4 0 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <32>;
+       };
+
        leds {
                compatible = "gpio-leds";

@@ -70,6 +77,17 @@ reg_wlan: regulator-wlan {
                startup-delay-us = <70000>;
                enable-active-high;
        };
+
+       panel {
+               compatible = "urt,umsh-8596md-20t";
+               backlight = <&backlight_display>;
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&display_out>;
+                       };
+               };
+       };
 };

 &fec1 {
@@ -196,6 +214,12 @@ pinctrl_bt_reg: btreggrp {
                        <MX6SX_PAD_KEY_ROW2__GPIO2_IO_17        0x15059>;
        };

+       pinctrl_pwm4: pwm4grp-1 {
+               fsl,pins = <
+                       MX6SX_PAD_SD1_DATA1__PWM4_OUT 0x110b0
+               >;
+       };
+
        pinctrl_enet1: enet1grp {
                fsl,pins =
                        <MX6SX_PAD_ENET1_CRS__GPIO2_IO_1        0xa0b1>,
@@ -316,6 +340,40 @@ pinctrl_usdhc3: usdhc3grp {
                        <MX6SX_PAD_SD3_CLK__USDHC3_CLK          0x10069>,
                        <MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT     0x10059>;
        };
+
+       pinctrl_lcd: lcdgrp {
+                       fsl,pins = <
+                               MX6SX_PAD_LCD1_DATA00__LCDIF1_DATA_0 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA01__LCDIF1_DATA_1 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA02__LCDIF1_DATA_2 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA03__LCDIF1_DATA_3 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA04__LCDIF1_DATA_4 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA05__LCDIF1_DATA_5 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA06__LCDIF1_DATA_6 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA07__LCDIF1_DATA_7 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA08__LCDIF1_DATA_8 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA09__LCDIF1_DATA_9 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA10__LCDIF1_DATA_10 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA11__LCDIF1_DATA_11 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA12__LCDIF1_DATA_12 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA13__LCDIF1_DATA_13 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA14__LCDIF1_DATA_14 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA15__LCDIF1_DATA_15 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA16__LCDIF1_DATA_16 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA17__LCDIF1_DATA_17 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA18__LCDIF1_DATA_18 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA19__LCDIF1_DATA_19 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA20__LCDIF1_DATA_20 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA21__LCDIF1_DATA_21 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA22__LCDIF1_DATA_22 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA23__LCDIF1_DATA_23 0x4001b0b0
+                               MX6SX_PAD_LCD1_CLK__LCDIF1_CLK  0x4001b0b0
+                               MX6SX_PAD_LCD1_ENABLE__LCDIF1_ENABLE 0x4001b0b0
+                               MX6SX_PAD_LCD1_VSYNC__LCDIF1_VSYNC 0x4001b0b0
+                               MX6SX_PAD_LCD1_HSYNC__LCDIF1_HSYNC 0x4001b0b0
+                               MX6SX_PAD_LCD1_RESET__GPIO3_IO_27 0x4001b0b0
+                       >;
+               };
 };

 &uart1 {
@@ -408,3 +466,22 @@ wlcore: wlcore at 2 {
                tcxo-clock-frequency = <26000000>;
        };
 };
+
+&lcdif1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lcd>;
+       status = "okay";
+
+       port {
+               display_out: endpoint {
+                       remote-endpoint = <&panel_in>;
+               };
+       };
+};
+
+&pwm4 {
+       #pwm-cells = <2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm4>;
+       status = "okay";
+};


Error:

imx6qpdlsolox login: [   49.624735] ------------[ cut here ]------------
[   49.625348] WARNING: CPU: 0 PID: 324 at drivers/gpu/drm/drm_atomic_helper.c:1529 drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   49.625527] [CRTC:35:crtc-0] vblank wait timed out
[   49.625590] Modules linked in: imx_sdma
[   49.625755] CPU: 0 PID: 324 Comm: systemd-logind Not tainted 5.16.0-08197-gfeb7a43de5ef-dirty #62
[   49.625829] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[   49.625883]  unwind_backtrace from show_stack+0x10/0x14
[   49.625998]  show_stack from dump_stack_lvl+0x58/0x70
[   49.626093]  dump_stack_lvl from __warn+0xd4/0x154
[   49.626180]  __warn from warn_slowpath_fmt+0x74/0xa8
[   49.626286]  warn_slowpath_fmt from drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   49.626395]  drm_atomic_helper_wait_for_vblanks.part.0 from drm_atomic_helper_commit_tail_rpm+0x7c/0x8c
[   49.626498]  drm_atomic_helper_commit_tail_rpm from commit_tail+0x9c/0x184
[   49.626591]  commit_tail from drm_atomic_helper_commit+0x158/0x18c
[   49.626680]  drm_atomic_helper_commit from drm_client_modeset_commit_atomic+0x238/0x284
[   49.626784]  drm_client_modeset_commit_atomic from drm_client_modeset_commit_locked+0x60/0x1cc
[   49.626868]  drm_client_modeset_commit_locked from drm_fb_helper_pan_display+0x94/0x1c4
[   49.626970]  drm_fb_helper_pan_display from fb_pan_display+0x9c/0x114
[   49.627051]  fb_pan_display from bit_update_start+0x14/0x30
[   49.627146]  bit_update_start from fbcon_switch+0x2d4/0x45c
[   49.627236]  fbcon_switch from redraw_screen+0xd4/0x248
[   49.627338]  redraw_screen from fbcon_blank+0x1b0/0x258
[   49.627424]  fbcon_blank from do_unblank_screen+0x98/0x170
[   49.627509]  do_unblank_screen from vt_ioctl+0x960/0x1d78
[   49.627623]  vt_ioctl from tty_ioctl+0x3e0/0xe18
[   49.627709]  tty_ioctl from sys_ioctl+0x5a8/0xec4
[   49.627796]  sys_ioctl from ret_fast_syscall+0x0/0x1c
[   49.627874] Exception stack(0xc4767fa8 to 0xc4767ff0)
[   49.627943] 7fa0:                   021e1600 fffffffb 0000000a 00004b3a 00000000 00000134
[   49.628010] 7fc0: 021e1600 fffffffb 0000000a 00000036 be8479d8 00000000 00000000 021d43b8
[   49.628061] 7fe0: b6f0f978 be847914 b6e41d75 b6cbfc18
[   49.628114] irq event stamp: 52041
[   49.628170] hardirqs last  enabled at (52047): [<c019b5d0>] vprintk_emit+0x2dc/0x310
[   49.628285] hardirqs last disabled at (52052): [<c019b57c>] vprintk_emit+0x288/0x310
[   49.628377] softirqs last  enabled at (51264): [<c0101518>] __do_softirq+0x2f8/0x5b0
[   49.628466] softirqs last disabled at (51231): [<c012eda8>] __irq_exit_rcu+0x16c/0x1e0
[   49.628573] ---[ end trace 1572e4d782184e68 ]---

imx6qpdlsolox login: root
[   60.016074] mxsfb 2220000.lcdif: [drm] *ERROR* flip_done timed out
[   60.016455] mxsfb 2220000.lcdif: [drm] *ERROR* [CRTC:35:crtc-0] commit wait timed out
[   70.256588] mxsfb 2220000.lcdif: [drm] *ERROR* flip_done timed out
[   70.256695] mxsfb 2220000.lcdif: [drm] *ERROR* [CONNECTOR:37:DPI-1] commit wait timed out
[   80.495783] mxsfb 2220000.lcdif: [drm] *ERROR* flip_done timed out
[   80.495889] mxsfb 2220000.lcdif: [drm] *ERROR* [PLANE:31:plane-0] commit wait timed out
[   80.606207] ------------[ cut here ]------------
[   80.606257] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_atomic_helper.c:1529 drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   80.606350] [CRTC:35:crtc-0] vblank wait timed out
[   80.606386] Modules linked in: imx_sdma
[   80.606484] CPU: 0 PID: 1 Comm: systemd Tainted: G        W         5.16.0-08197-gfeb7a43de5ef-dirty #62
[   80.606520] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[   80.606551]  unwind_backtrace from show_stack+0x10/0x14
[   80.606614]  show_stack from dump_stack_lvl+0x58/0x70
[   80.606665]  dump_stack_lvl from __warn+0xd4/0x154
[   80.606710]  __warn from warn_slowpath_fmt+0x74/0xa8
[   80.606769]  warn_slowpath_fmt from drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   80.606829]  drm_atomic_helper_wait_for_vblanks.part.0 from drm_atomic_helper_commit_tail_rpm+0x7c/0x8c
[   80.606884]  drm_atomic_helper_commit_tail_rpm from commit_tail+0x9c/0x184
[   80.606933]  commit_tail from drm_atomic_helper_commit+0x158/0x18c
[   80.606979]  drm_atomic_helper_commit from drm_client_modeset_commit_atomic+0x238/0x284
[   80.607034]  drm_client_modeset_commit_atomic from drm_client_modeset_commit_locked+0x60/0x1cc
[   80.607078]  drm_client_modeset_commit_locked from drm_fb_helper_pan_display+0x94/0x1c4
[   80.607131]  drm_fb_helper_pan_display from fb_pan_display+0x9c/0x114
[   80.607176]  fb_pan_display from bit_update_start+0x14/0x30
[   80.607225]  bit_update_start from fbcon_switch+0x2d4/0x45c
[   80.607270]  fbcon_switch from csi_J+0x278/0x298
[   80.607323]  csi_J from do_con_write+0x1f10/0x20e8
[   80.607371]  do_con_write from con_write+0xc/0x20
[   80.607419]  con_write from n_tty_write+0x1e4/0x4cc
[   80.607467]  n_tty_write from file_tty_write.constprop.0+0x148/0x2c4
[   80.607527]  file_tty_write.constprop.0 from vfs_write+0x2ec/0x57c
[   80.607594]  vfs_write from ksys_write+0x60/0xec
[   80.607643]  ksys_write from ret_fast_syscall+0x0/0x1c
[   80.607688] Exception stack(0xc40d5fa8 to 0xc40d5ff0)
[   80.607724] 5fa0:                   0000000a b6f62404 00000017 b6f62404 0000000a 00000000
[   80.607758] 5fc0: 0000000a b6f62404 b6aa1a60 00000004 00000004 00989cc8 0096f040 00000000
[   80.607786] 5fe0: 00000004 be81b9a0 b6d371ff b6d39096
[   80.607816] irq event stamp: 629899
[   80.607850] hardirqs last  enabled at (629905): [<c019b5d0>] vprintk_emit+0x2dc/0x310
[   80.607913] hardirqs last disabled at (629910): [<c019b57c>] vprintk_emit+0x288/0x310
[   80.607964] softirqs last  enabled at (629482): [<c0101518>] __do_softirq+0x2f8/0x5b0
[   80.608015] softirqs last disabled at (629431): [<c012eda8>] __irq_exit_rcu+0x16c/0x1e0
[   80.608077] ---[ end trace 1572e4d782184e69 ]---

I'm working using NXP fs, from 5.10.72 2.2.0 release.
Any suggestion? Maybe some problem on lcdif node?
I take as reference imx6sx-sdb.dtsi

Let me know.

Thanks,
Tommaso



More information about the dri-devel mailing list