[Openpvrsgx-devgroup] PVR/SGX DDK 1.17 on JZ4780/CI20
H. Nikolaus Schaller
hns at goldelico.com
Sun Mar 29 16:58:00 CEST 2020
Hi,
I have managed to fix some minor issues of the DDK 1.17 source tree provided by
Texas Instruments (thanks!) which still contains sgx_jz4780 kernel module code.
Attached are first results which show that the driver module can now be successfully
built and loaded on the CI20 board.
Next complexity is that there is no MIPS build of the DDK 1.17 user-space libs and tools.
So I have installed the ti443x version which seems to support SGX540.
I have started to experiment with "qemu-arm-static pvrsrvctl" but it reports missing
ARM libraries which is of course to be expected on a MIPS setup...
But if we can make that work somehow it opens a new way to support other SoC as
well: A83, Poulsbo etc. by forward-porting their SoC specific drivers we have in some
1.14 trees to 1.17. Or alternatively by developing a really generic pvrsrvkm that becomes
SoC-independent.
Code hasn't been pushed to the project git repo since it is does not have a linear
history. I plan to push a new rebased release (including these fixes) with v5.7-rc1.
BR,
Nikolaus
root at letux:~# cat /etc/debian_version
9.12
root at letux:~# uname -a
Linux letux 5.6.0-rc7-letux-l400+ #2356 SMP PREEMPT Sun Mar 29 14:43:33 CEST 2020 mips GNU/Linux
root at letux:~# modprobe pvrsrvkm_jz4780_sgx540_120
[ 1485.329869] pvrsrvkm 13040000.gpu: Enabling quirks 00000000
[ 1485.353477] [drm] Initialized pvr 1.17.4948957 20110701 for 13040000.gpu on minor 1
root at letux:~# lsmod
Module Size Used by
pvrsrvkm_jz4780_sgx540_120 338691 0
g_ether 5373 0
usb_f_rndis 17648 1 g_ether
u_ether 13532 2 g_ether,usb_f_rndis
libcomposite 48008 2 g_ether,usb_f_rndis
configfs 32565 3 usb_f_rndis,libcomposite
dw_hdmi_jz4780 2103 0
ingenic_drm 9582 0
dw_hdmi 27893 1 dw_hdmi_jz4780
drm_kms_helper 195676 3 ingenic_drm,dw_hdmi
syscopyarea 2754 1 drm_kms_helper
sysfillrect 3338 1 drm_kms_helper
sysimgblt 2140 1 drm_kms_helper
fb_sys_fops 1803 1 drm_kms_helper
drm 485544 5 ingenic_drm,pvrsrvkm_jz4780_sgx540_120,dw_hdmi,drm_kms_helper
gpio_ir_recv 2798 0
gpio_keys 9881 0
dm9000 18156 0
rtc_pcf8563 7287 1
nvmem_jz4780_efuse 3248 0
mii 7162 1 dm9000
drm_panel_orientation_quirks 942 1 drm
ipv6 410154 24
autofs4 26479 9
root at letux:~# ls -l /proc/pvr/
total 0
-r--r--r-- 1 root root 0 Mar 29 14:17 nodes
-r--r--r-- 1 root root 0 Mar 29 14:17 queue
-r--r--r-- 1 root root 0 Mar 29 14:17 version
root at letux:~# cat /proc/pvr/*
Registered nodes
Addr Type Class Index Ref pvDev Size Res
e4186696 ?7 3D 0 1 da3ed53d 0 4ea4f1a1
Command Queues
Queue CmdPtr Pid Command Size DevInd DSC SSC #Data ...
Version SGX_DDK sgxddk 1.17 at 4948957 (release) omap_sgx
System Version String: None
root at letux:~# ls -l /dev/dri
total 0
crw-rw---- 1 root video 226, 0 Nov 3 2016 card0
crw-rw---- 1 root video 226, 1 Mar 29 14:15 card1
crw-rw---- 1 root video 226, 128 Mar 29 14:15 renderD128
root at letux:~# cat /proc/cpuinfo
system type : JZ4780
machine : img,ci20
processor : 0
cpu model : Ingenic XBurst V4.15 FPU V0.0
BogoMIPS : 1196.85
wait instruction : yes
microsecond timers : no
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 1, address/irw mask: [0x0fff]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented :
shadow register sets : 1
kscratch registers : 0
package : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
processor : 1
cpu model : Ingenic XBurst V4.15 FPU V0.0
BogoMIPS : 1202.58
wait instruction : yes
microsecond timers : no
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 1, address/irw mask: [0x0fff]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented :
shadow register sets : 1
kscratch registers : 0
package : 0
core : 1
VCED exceptions : not available
VCEI exceptions : not available
root at letux:~# qemu-arm-static /usr/bin/pvrsrvctl --start --no-module
/lib/ld-linux-armhf.so.3: No such file or directory
root at letux:~#
More information about the openpvrsgx-devgroup
mailing list