PVR/SGX DDK 1.17 on JZ4780/CI20

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@letux:~# cat /etc/debian_version 
9.12
root@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@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@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@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@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@4948957 (release) omap_sgx
System Version String: None
root@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@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@letux:~# qemu-arm-static /usr/bin/pvrsrvctl --start --no-module
/lib/ld-linux-armhf.so.3: No such file or directory
root@letux:~# 







[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux