[Openpvrsgx-devgroup] New branch and tree structure
H. Nikolaus Schaller
hns at goldelico.com
Sat Nov 16 13:20:53 CET 2019
Hi,
after our discussion about staging or gpu/drm I have reworked our
branches and tree structure.
Files are now all residing in
drivers/gpu/drm/pvrsgx
On top level we have the Kconfig and Makefile and initial patches
by Tony going towards a generic driver.
And we have subdirectories for different DDK versions I have collected.
This leads to the following source tree structure:
iMac:master hns$ ls -l drivers/gpu/drm/pvrsgx/
total 392
drwxr-xr-x 4 hns staff 238 Nov 16 09:48 1.10.2359475
drwx------@ 3 hns staff 238 Nov 16 09:47 1.13.3341330
drwxr-xr-x 3 hns staff 102 Nov 15 18:19 1.14.3699939
drwx------@ 3 hns staff 238 Nov 16 09:47 1.14.3759903
drwxr-xr-x 3 hns staff 102 Nov 16 08:52 1.14.3841212
drwxr-xr-x 3 hns staff 102 Nov 16 09:52 1.15.4564147
drwxr-xr-x 3 hns staff 102 Nov 15 17:37 1.17.4948957
drwxr-xr-x 4 hns staff 272 Nov 16 09:47 1.9.2253347
-rw-r--r-- 1 hns staff 2037 Nov 16 09:47 Kconfig
-rw-r--r-- 1 hns staff 8259 Nov 16 09:47 Makefile
-rw-r--r-- 1 hns staff 3277 Nov 16 09:47 TODO
-rw-r--r-- 1 hns staff 7958 Nov 16 09:47 pvr-drv.c
-rw-r--r-- 1 hns staff 3207 Nov 16 09:47 pvr-drv.h
iMac:master hns$
I hope piling up all these DDK versions will allow to compare
them and learn somethings, towards developing a common and
generic driver picking the best from all.
If you have pointers to other DDK releases, please let me know.
To cope with these multiple DDK variants, I have added a choice
selector to Kconfig. This replaces the older CONFIG_SGX_114 flag:
CONFIG_SGX=y
# CONFIG_PVRSGX_1_9_2253347 is not set
# CONFIG_PVRSGX_1_10_2359475 is not set
# CONFIG_PVRSGX_1_13_3341330 is not set
CONFIG_PVRSGX_1_14_3699939=y
# CONFIG_PVRSGX_1_14_3759903 is not set
# CONFIG_PVRSGX_1_14_3841212 is not set
# CONFIG_PVRSGX_1_15_4564147 is not set
# CONFIG_PVRSGX_1_17_4948957 is not set
# CONFIG_SGX_DEBUG is not set
CONFIG_SGX_DRM=y
CONFIG_SGX_OMAP=m
# CONFIG_SGX_GENERIC is not set
Adding a new DDK variant isn't very difficult. It must be
tree-filtered to the right location and we have to modify
Kconfig and the Makefile to add another choice option.
Note that these DDK branches are based on linus/master and will
be rebased regularly. And another note: some of the DDKs have
an eurasia_km subdirectory. I have kept that intact since it
only influences the SUBPATH in the Makefile.
About the branch structure it now looks as follows:
letux/omap-sysc-prm-gfx OMAP related clock, reset infrastructure additions
almost in linux-next or soon (5.5-rc1) in mainline
letux/omap-pvr-soc-glue mainly bindings and DTS additions for OMAP (and JZ4780)
letux/pvrsrvkm Kconfig, Makefile, and new generic driver code
letux/pvrsrvkm-1.9.2253347 individual DDK versions
letux/pvrsrvkm-1.10.2359475
letux/pvrsrvkm-1.13.3341330
letux/pvrsrvkm-1.14.3699939
letux/pvrsrvkm-1.14.3759903
letux/pvrsrvkm-1.14.3841212
letux/pvrsrvkm-1.15.4564147
letux/pvrsrvkm-1.17.4948957
letux/pvr-demo gpu-demo and sgxdump scripts
All this is merged together into the branch
https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/commits/letux-pvrsrvkm
after adding CONFIGs for omap2plus_defconfig and ci20_defconfig.
So you should find an almost current mainline+pvrsgx kernel here.
This structure is IMHO now mature and allows to add further
components (e.g. DDK versions, code clean up) without breaking
the overall structure.
BR,
Nikolaus
PS: latest video: https://youtu.be/G_QGU6e3eyA
More information about the openpvrsgx-devgroup
mailing list