This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Capture & display in AM5728

Other Parts Discussed in Thread: AM5728

Hi experts,

I tried the built-in demo application capturevpedisplay in AM5728 EVM, but got an error as:

root@am57xx-evm:~# capturevpedisplay 1920 1080 yuyv 1920 1080 uyvy 0 1 -s 26:1920x1080

vpe:/dev/video0 open success!!!

vip open success!!!

using 1 connectors, 1920x1080 display, multiplanar: 1

vip: G_FMT(start): width = 1920, height = 1080, 4cc = YUYV

vpe i/p: G_FMT: width = 1920, height = 1080, 4cc = YUYV

vpe o/p: G_FMT: width = 1920, height = 1080, 4cc = UYVY

streaming started...

ERROR:post_vid_buffer:418: failed to enable plane 33: Invalid argument

disp post vid buf failed

I have added video=HDMI-A-1:1920x1080@60" in bootargs under uboot and confirm in kernel as below

root@am57xx-evm:~# cat /proc/cmdline
console=ttyO2,115200n8 video=HDMI-A-1:1920x1080@60 root=PARTUUID=00058541-02 rw rootfstype=ext4 rootwait

And I check modetest as below

root@am57xx-evm:~# modetest
trying to open device 'i915'...failed.
trying to open device 'radeon'...failed.
trying to open device 'nouveau'...failed.
trying to open device 'vmwgfx'...failed.
trying to open device 'omapdrm'...success.
Encoders:
id crtc type possible crtcs possible clones
25 28 TMDS 0x00000001 0x00000000
29 32 TMDS 0x00000002 0x00000000

Connectors:
id encoder status type size (mm) modes encoders
26 25 connected HDMI-A 930x520 21 25 ==> why this is always 930x520 ???? 
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver
1920x1080 60 1920 2040 2248 2576 1080 1081 1084 1118 flags: nhsync, pvsync; type: userdef
1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 flags: phsync, pvsync; type: driver
1600x900 60 1600 1696 1864 2128 900 901 904 932 flags: nhsync, pvsync; type:
1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 flags: phsync, pvsync; type: driver
1280x720 60 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
1280x720 60 1280 1390 1430 1650 720 725 730 750 flags: phsync, pvsync; type: driver
1280x720 30 1280 3040 3080 3300 720 725 730 750 flags: phsync, pvsync; type: driver
1280x720 30 1280 3040 3080 3300 720 725 730 750 flags: phsync, pvsync; type: driver
1280x720 24 1280 3040 3080 3300 720 725 730 750 flags: phsync, pvsync; type: driver
1280x720 24 1280 3040 3080 3300 720 725 730 750 flags: phsync, pvsync; type: driver
1024x768 60 1024 1048 1184 1344 768 771 777 806 flags: nhsync, nvsync; type: driver
800x600 60 800 840 968 1056 600 601 605 628 flags: phsync, pvsync; type: driver
720x480 60 720 736 798 858 480 489 495 525 flags: nhsync, nvsync; type: driver
720x480 60 720 736 798 858 480 489 495 525 flags: nhsync, nvsync; type: driver
640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync; type: driver
640x480 60 640 656 752 800 480 490 492 525 flags: nhsync, nvsync; type: driver
props:
1 EDID:
flags: immutable blob
blobs:

value:
00ffffffffffff004dd9034c01010101
01180103805d34780a0dc9a057479827
12484c2108008180a9c0010101010101
010101010101023a801871382d40582c
4500a20b3200001e011d007251d01e20
6e285500a20b3200001e000000fc0053
4f4e592054560a2020202020000000fd
003a3e0e460f000a20202020202001e2
020328f04c10050420223c3e03070206
01260d0707150750830f000068030c00
1000b82d0fe200fb8c0ad08a20e02d10
103e9600a20b32000018011d8018711c
1620582c2500a20b3200009e00000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000071
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
30 29 connected unknown 0x0 1 29
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
800x480 60 800 1010 1040 1056 480 502 515 525 flags: nhsync, nvsync; type: preferred, driver
props:
1 EDID:
flags: immutable blob
blobs:

value:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0

CRTCs:
id fb pos size
28 47 (0,0) (1920x1080)
1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver
props:
21 trans-key-mode:
flags: enum
enums: disable=0 gfx-dst=1 vid-src=2
value: 0

.....

Any ideas??

Thanks in advance !

Regards,

  • Hi,

    I will ask the video experts to comment.
  • Can you exit wayland and try again? To exit wayland, type following command on target consol cmd prompt-
    #/etc/init.d/weston stop

    Make sure you have exited matrix launch before exiting Weston.
  • Hi manisha,

    Thanks for your reply.

    I have stopped both weston and matrix already before my test.

    This problem is strange, I did the same test on two different monitors (CHIMEI TL-42S400T, Sony KDL-42W700B),

    but results are different also.

    capturevpedisplay 1920 1080 yuyv 1920 1080 uyvy 0 1 -s 26:1920x1080

    Result:

    CHIMEI >>  Invalid argument problem, as mentioned before.

    Sony >> It works, but wrong display, as the figure shown below.

    Regards,

  • Hi experts,

    I found that the problem is occurred from drm driver, so turn on the drm.debug message as shown below, please give some comment.

    Added [CRTC:28] ed492800 state to d1df0340

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907194] [drm:drm_atomic_set_crtc_for_plane] Link plane state d1de9400 to [CRTC:28]

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907200] [drm:drm_framebuffer_reference] ed93ad00: FB ID: 55 (2)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907207] [drm:drm_atomic_set_fb_for_plane] Set [FB:55] for plane state d1de9400

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907214] [drm:drm_atomic_check_only] checking d1df0340

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907226] [drm:drm_atomic_helper_check_planes] [PLANE:33] atomic driver check failed

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907232] [drm:drm_atomic_state_clear] Clearing atomic state d1df0340

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907240] [drm:drm_framebuffer_unreference] ed93ad00: FB ID: 55 (3)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907246] [drm:drm_atomic_state_free] Freeing atomic state d1df0340

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907255] [drm:drm_framebuffer_unreference] ed93ad00: FB ID: 55 (2)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.907264] [drm:drm_ioctl] ret = -22

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.921069] [drm:drm_vm_close_locked] 0xb5bcd000,0x003f5000

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.921957] [drm:drm_release] open_count = 1

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.921966] [drm:dev_preclose] preclose: dev=ed945000

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922008] [drm:drm_release] pid = 1242, device = 0xe200, open_count = 1

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922019] [drm:drm_framebuffer_unreference] ed542c00: FB ID: 0 (1)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922027] [drm:omap_framebuffer_destroy] destroy: FB ID: 0 (ed542c00)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922036] [drm:drm_framebuffer_unreference] ed93af00: FB ID: 0 (1)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922042] [drm:omap_framebuffer_destroy] destroy: FB ID: 0 (ed93af00)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922050] [drm:drm_framebuffer_unreference] ed93ab00: FB ID: 0 (1)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922056] [drm:omap_framebuffer_destroy] destroy: FB ID: 0 (ed93ab00)

    Jan  9 06:39:13 am57xx-evm user.debug kernel: [  618.922063]