linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PVR/SGX DDK 1.17 on JZ4780/CI20
@ 2020-03-29 14:58 H. Nikolaus Schaller
  0 siblings, 0 replies; 2+ messages in thread
From: H. Nikolaus Schaller @ 2020-03-29 14:58 UTC (permalink / raw)
  To: OpenPVRSGX Linux Driver Group
  Cc: Discussions about the Letux Kernel,
	MIPS Creator CI20 Development, linux-omap

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:~# 




^ permalink raw reply	[flat|nested] 2+ messages in thread

* PVR/SGX DDK 1.17 on JZ4780/CI20
@ 2020-03-29 14:35 H. Nikolaus Schaller
  0 siblings, 0 replies; 2+ messages in thread
From: H. Nikolaus Schaller @ 2020-03-29 14:35 UTC (permalink / raw)
  To: OpenPVRSGX Linux Driver Group
  Cc: Discussions about the Letux Kernel,
	MIPS Creator CI20 Development, linux-omap

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:~# 




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-03-29 15:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-29 14:58 PVR/SGX DDK 1.17 on JZ4780/CI20 H. Nikolaus Schaller
  -- strict thread matches above, loose matches on Subject: below --
2020-03-29 14:35 H. Nikolaus Schaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).