Part Number: DRA726
I am working from home because of the Coronavirus, so I am using my home login instead of the one I use at ACTIA Corp.
That way I can see messages on my Mac. I cannot access the ACTIA Web mail from Safari.
I have created a yocto build using recipes from SDK 6 (Automotive) . Everything seems to work fine except weston.
I thought that I might have messed up with my Poky based yocto so I use the TI SDK to compile the kernel and u-boot.
I then created a boot disk with the TI rootfs with my u-boot and kernel. I got identical results as I got with my own yocto build.
My next try was to use the Industrial SGX code to see if I get different results. I had to do a few changes to match the handling of mesa since the new code now supports mesa.
The results are a little similar except for the use of mesa
/var/log/weston.log
Date: 2020-03-24 UTC
[16:57:34.627] weston 5.0.0
wayland.freedesktop.org
Bug reports to: gitlab.freedesktop.org/.../
Build: unknown (not built from git or tarball)
[16:57:34.627] Command line: weston --idle-time=0
[16:57:34.627] OS: Linux, 4.19.73-actia-g31275c05a1, #1 SMP PREEMPT Mon Mar 30 20:09:42 UTC 2020, armv7l
[16:57:34.633] Using config file '/etc//weston.ini'
[16:57:34.634] Output repaint window is 7 ms maximum.
[16:57:34.636] Loading module '/usr/lib/libweston-5/drm-backend.so'
[16:57:34.651] initializing drm backend
[16:57:34.685] using /dev/dri/card0
[16:57:34.685] DRM: supports universal planes
[16:57:34.685] DRM: supports atomic modesetting
[16:57:34.685] DRM: supports picture aspect ratio
[16:57:34.691] Loading module '/usr/lib/libweston-5/gl-renderer.so'
MESA-LOADER: failed to open kms_swrast (search paths /usr/lib/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast (search paths /usr/lib/dri)
failed to load swrast driver
[16:57:34.919] failed to initialize egl
[16:57:34.999] fatal: failed to create compositor backend
[16:57:34.999] Internal warning: debug scope 'drm-backend' has not been destroyed.
PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
PVR:(Error): Couldn't connect to services [0, ]
PVR:(Error): PVRDRIEGLGlobalDataInit: PVR Services initialisation failed [0, ]
PVR:(Error): PVRDRICreateScreenImpl: Couldn't create EGL global data [0, ]
I unloaded the module and reloaded it
root@actia-gd:/etc/init.d# ./rc.pvr stop
Unloaded PowerVR consumer services.
root@actia-gd:/etc/init.d# ./rc.pvr start
PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [0, ]
PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [0, ]
/usr/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_INIT_FAILURE)
As previously I see the module is loaded
root@actia-gd:/etc/init.d# lsmod | grep pvr
pvrsrvkm 401408 0
root@actia-gd:/etc/init.d# modinfo pvrsrvkm
filename: /lib/modules/4.19.73-actia-g31275c05a1/extra/pvrsrvkm.ko
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
srcversion: 533BB7E5866E52F63B9ACCB
alias: of:N*T*Cti,am3352-sgx530C*
alias: of:N*T*Cti,am3352-sgx530
alias: of:N*T*Cti,am4376-sgx530C*
alias: of:N*T*Cti,am4376-sgx530
alias: of:N*T*Cti,dra7-sgx544C*
alias: of:N*T*Cti,dra7-sgx544
alias: of:N*T*Cti,am654-sgx544C*
alias: of:N*T*Cti,am654-sgx544
depends:
name: pvrsrvkm
vermagic: 4.19.73-actia-g31275c05a1 SMP preempt mod_unload modversions ARMv7 p2v8
parm: gPVRDebugLevel:Sets the level of debug output (default 0x7) (uint)
kmstest works fine
root@actia-gd:/etc/init.d# kmstest
Connector 0/@54: DPI-1
Crtc 0/@55: 1920x720 93.689 1920/115/5/20/- 720/32/3/3/- 60 (60.00) 0xa 0x48
Plane 0/@35: 0,0-1920x720
Fb 60 1920x720-XR24
press enter to exit
modeprint modetest
root@actia-gd:/etc/init.d# modetest
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...done
Encoders:
id crtc type possible crtcs possible clones
53 55 TMDS 0x00000001 0x00000000
Connectors:
id encoder status name size (mm) modes encoders
54 53 connected DPI-1 1920x720 1 53
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
1920x720 60 1920 2035 2040 2060 720 752 755 758 93689 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
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0
6 non-desktop:
flags: immutable range
values: 0 1
value: 0
19 CRTC_ID:
flags: object
value: 55
CRTCs:
id fb pos size
55 58 (0,0) (1920x720)
1920x720 60 1920 2035 2040 2060 720 752 755 758 93689 flags: nhsync, nvsync; type: preferred, driver
props:
20 ACTIVE:
flags: range
values: 0 1
value: 1
21 MODE_ID:
flags: blob
blobs:
value:
f96d01008007f307f8070c080000d002
f002f302f60200003c0000000a000000
48000000313932307837323000000000
00000000000000000000000000000000
00000000
18 OUT_FENCE_PTR:
flags: range
values: 0 18446744073709551615
value: 0
24 CTM:
flags: blob
blobs:
value:
25 GAMMA_LUT:
flags: blob
blobs:
value:
26 GAMMA_LUT_SIZE:
flags: immutable range
values: 0 4294967295
value: 256
31 background:
flags: range
values: 0 16777215
value: 0
32 trans-key-mode:
flags: enum
enums: disable=0 gfx-dst=1 vid-src=2
value: 0
33 trans-key:
flags: range
values: 0 16777215
value: 0
34 alpha_blender:
flags: range
values: 0 1
value: 0
36 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
28 zorder:
flags: range
values: 0 3
value: 0
Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
35 55 58 0,0 0,0 0 0x00000001
formats: RX12 AR12 RG16 XR24 RG24 AR24 RA24 RX24 AR15 XR12 RA12 XR15
props:
7 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
16 FB_ID:
flags: object
value: 58
17 IN_FENCE_FD:
flags: signed range
values: -1 2147483647
value: -1
19 CRTC_ID:
flags: object
value: 55
12 CRTC_X:
flags: signed range
values: -2147483648 2147483647
value: 0
13 CRTC_Y:
flags: signed range
values: -2147483648 2147483647
value: 0
14 CRTC_W:
flags: range
values: 0 2147483647
value: 1920
15 CRTC_H:
flags: range
values: 0 2147483647
value: 720
8 SRC_X:
flags: range
values: 0 4294967295
value: 0
9 SRC_Y:
flags: range
values: 0 4294967295
value: 0
10 SRC_W:
flags: range
values: 0 4294967295
value: 125829120
11 SRC_H:
flags: range
values: 0 4294967295
value: 47185920
36 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
28 zorder:
flags: range
values: 0 3
value: 0
37 zpos:
flags: range
values: 0 3
value: 0
29 global_alpha:
flags: range
values: 0 255
value: 255
30 pre_mult_alpha:
flags: range
values: 0 1
value: 0
38 0 0 0,0 0,0 0 0x00000001
formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
props:
7 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
16 FB_ID:
flags: object
value: 0
17 IN_FENCE_FD:
flags: signed range
values: -1 2147483647
value: -1
19 CRTC_ID:
flags: object
value: 0
12 CRTC_X:
flags: signed range
values: -2147483648 2147483647
value: 0
13 CRTC_Y:
flags: signed range
values: -2147483648 2147483647
value: 0
14 CRTC_W:
flags: range
values: 0 2147483647
value: 0
15 CRTC_H:
flags: range
values: 0 2147483647
value: 0
8 SRC_X:
flags: range
values: 0 4294967295
value: 0
9 SRC_Y:
flags: range
values: 0 4294967295
value: 0
10 SRC_W:
flags: range
values: 0 4294967295
value: 0
11 SRC_H:
flags: range
values: 0 4294967295
value: 0
39 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
28 zorder:
flags: range
values: 0 3
value: 1
40 zpos:
flags: range
values: 0 3
value: 1
41 COLOR_ENCODING:
flags: enum
enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
value: 0
42 COLOR_RANGE:
flags: enum
enums: YCbCr limited range=0 YCbCr full range=1
value: 1
29 global_alpha:
flags: range
values: 0 255
value: 255
30 pre_mult_alpha:
flags: range
values: 0 1
value: 0
43 0 0 0,0 0,0 0 0x00000001
formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
props:
7 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
16 FB_ID:
flags: object
value: 0
17 IN_FENCE_FD:
flags: signed range
values: -1 2147483647
value: -1
19 CRTC_ID:
flags: object
value: 0
12 CRTC_X:
flags: signed range
values: -2147483648 2147483647
value: 0
13 CRTC_Y:
flags: signed range
values: -2147483648 2147483647
value: 0
14 CRTC_W:
flags: range
values: 0 2147483647
value: 0
15 CRTC_H:
flags: range
values: 0 2147483647
value: 0
8 SRC_X:
flags: range
values: 0 4294967295
value: 0
9 SRC_Y:
flags: range
values: 0 4294967295
value: 0
10 SRC_W:
flags: range
values: 0 4294967295
value: 0
11 SRC_H:
flags: range
values: 0 4294967295
value: 0
44 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
28 zorder:
flags: range
values: 0 3
value: 2
45 zpos:
flags: range
values: 0 3
value: 2
46 COLOR_ENCODING:
flags: enum
enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
value: 0
47 COLOR_RANGE:
flags: enum
enums: YCbCr limited range=0 YCbCr full range=1
value: 1
29 global_alpha:
flags: range
values: 0 255
value: 255
30 pre_mult_alpha:
flags: range
values: 0 1
value: 0
48 0 0 0,0 0,0 0 0x00000001
formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
props:
7 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 0
16 FB_ID:
flags: object
value: 0
17 IN_FENCE_FD:
flags: signed range
values: -1 2147483647
value: -1
19 CRTC_ID:
flags: object
value: 0
12 CRTC_X:
flags: signed range
values: -2147483648 2147483647
value: 0
13 CRTC_Y:
flags: signed range
values: -2147483648 2147483647
value: 0
14 CRTC_W:
flags: range
values: 0 2147483647
value: 0
15 CRTC_H:
flags: range
values: 0 2147483647
value: 0
8 SRC_X:
flags: range
values: 0 4294967295
value: 0
9 SRC_Y:
flags: range
values: 0 4294967295
value: 0
10 SRC_W:
flags: range
values: 0 4294967295
value: 0
11 SRC_H:
flags: range
values: 0 4294967295
value: 0
49 rotation:
flags: bitmask
values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
value: 1
28 zorder:
flags: range
values: 0 3
value: 3
50 zpos:
flags: range
values: 0 3
value: 3
51 COLOR_ENCODING:
flags: enum
enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
value: 0
52 COLOR_RANGE:
flags: enum
enums: YCbCr limited range=0 YCbCr full range=1
value: 1
29 global_alpha:
flags: range
values: 0 255
value: 255
30 pre_mult_alpha:
flags: range
values: 0 1
value: 0
Frame buffers:
id size pitch
Entry in devicetree for the 12 inch display
lcd0: display {
status = "okay";
compatible = "actiagd,gd12inch", "panel-dpi";
label = "lcd0";
backlight = <&lcd_bl>;
panel-timing {
clock-frequency = <93688800>;
hactive = <1920>;
vactive = <720>;
hfront-porch = <115>;
hback-porch = <20>;
hsync-len = <5>;
vback-porch = <3>;
vfront-porch = <32>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
port {
lcd_in: endpoint {
remote-endpoint = <&dpi_lcd_out>;
};
};
};
7 inch display
lcd0: display {
status = "okay";
compatible = "actiagd,gd7inch","panel-dpi";
label = "lcd0";
backlight = <&lcd_bl>;
panel-timing {
clock-frequency = <66800000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <51>;
hback-porch = <10>;
hsync-len = <3>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
port {
lcd_in: endpoint {
remote-endpoint = <&dpi_lcd_out>;
};
};
};
In panel-simple.c
static const struct drm_display_mode actiagd_gd7inch_mode = {
.clock = 66770,
.hdisplay = 800,
.hsync_start = 800 + 51,
.hsync_end = 800 + 51 + 3,
.htotal = 800 + 51 + 3 + 10,
.vdisplay = 1280,
.vsync_start = 1280 + 4,
.vsync_end = 1280 + 4 + 2,
.vtotal = 1280 + 4 + 2 + 2,
.vrefresh = 60,
.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};
static const struct panel_desc actiagd_gd7inch = {
.modes = &actiagd_gd7inch_mode,
.num_modes = 1,
.bpc = 8,
.size = {
.width = 800,
.height = 1280,
},
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
};
static const struct drm_display_mode actiagd_gd12inch_mode = {
.clock = 93689,
.hdisplay = 1920,
.hsync_start = 1920 + 115,
.hsync_end = 1920 + 115 + 5,
.htotal = 1920 + 115 + 5 + 20,
.vdisplay = 720,
.vsync_start = 720 + 32,
.vsync_end = 720 + 32 + 3,
.vtotal = 720 + 32 + 3 + 3,
.vrefresh = 60,
.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
};
static const struct panel_desc actiagd_gd12inch = {
.modes = &actiagd_gd12inch_mode,
.num_modes = 1,
.bpc = 8,
.size = {
.width = 1920,
.height = 720,
},
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
};
static const struct of_device_id platform_of_match[] = {
{
.compatible = "actiagd,gd7inch",
.data = &actiagd_gd7inch,
}, {
.compatible = "actiagd,gd12inch",
.data = &actiagd_gd12inch,
}, {
What could be wrong?
Michel Catudal
ACTIA Corp