openpvrsgx-devgroup / linux_openpvrsgx

This is about shaping existing GPL Linux kernel drivers for the PVR/SGX5 architecture so that they can become accepted into drivers/staging. It is NOT about reverse engineering or user-space components (firmware and libraries). Just the device driver. There may also be some glue code here for interfacing to the processor of the SoC (OMAP, Sunxi, Poulsbo, Cedarview, jz4780).
Other
42 stars 19 forks source link

can it run for s5pv210? #7

Closed LazyCat-xiao closed 2 years ago

LazyCat-xiao commented 2 years ago

i have a s5pv210 board, want to work with 3d gpu

goldelico commented 2 years ago

Hi,

Am 17.12.2021 um 15:25 schrieb LazyCat-xiao @.***>:

i have a s5pv210 board, want to work with 3d gpu

it is basically supported. But unknown if it works...

There is a patch for the s5pv210 device tree included through branch letux/omap-pvr-soc-glue-v8

See: https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/commit/b5ef4e5a58074eefdc1af836476caac3b2fa4806

What may be missing are some flags and tweaks in the Makefiles. Please help to debug.

Maybe the ddk 1.17 can be made working if you choose omap4460/70 (which also has an sgx540) for the user-space.

In any case it will be adventurous, but any help or even reports of attempts are really welcome!

BR, Nikolaus Schaller

xc-racer99 commented 2 years ago

Yes, it can run with the OMAP userspace - you will need to hexedit the blobs so that it finds the correct DRM device. Basically replace instances of omapdrm with exynos (or you can modify the DRM device name in the exynos driver to omapdrm, it's just a simple string check).

It's been a bit since I tried it, but it should work just fine with the patch I sent here, although I think I used my own private trees for testing...

LazyCat-xiao commented 2 years ago

i try build it and run,thank you

LazyCat-xiao commented 2 years ago

i try build it, but i cant insmod success.i find omap4460 have diff with s5pv210.

LazyCat-xiao commented 2 years ago

Yes, it can run with the OMAP userspace - you will need to hexedit the blobs so that it finds the correct DRM device. Basically replace instances of omapdrm with exynos (or you can modify the DRM device name in the exynos driver to omapdrm, it's just a simple string check).

It's been a bit since I tried it, but it should work just fine with the patch I sent here, although I think I used my own private trees for testing...

can you show me your code, i dont know how your code can work. it should need something fix

xc-racer99 commented 2 years ago

can you show me your code, i dont know how your code can work. it should need something fix

Check out https://github.com/xc-racer99/linux/commits/v5.5.1-all-devices/drivers/gpu/drm - the S5PV210 patches can be added. Also need the DTS changes - https://github.com/xc-racer99/linux/commit/7159c91246c8d9c03f1cd1134605e9cb82f2dfd7#diff-d9a889696b367a484322e3667ee72b5ebd92bae3d9aa9d2595fba7a99c8b3e2a - note that you'll probably want to drop the power domain is it is enabled by default and that patch isn't upstream. For userspace, can hexedit the file as per https://github.com/PabloPL/linux/issues/18#issuecomment-593186458 or https://github.com/PabloPL/linux/issues/18#issuecomment-721435095

LazyCat-xiao commented 2 years ago

can you show me your code, i dont know how your code can work. it should need something fix

Check out https://github.com/xc-racer99/linux/commits/v5.5.1-all-devices/drivers/gpu/drm - the S5PV210 patches can be added. Also need the DTS changes - xc-racer99/linux@7159c91#diff-d9a889696b367a484322e3667ee72b5ebd92bae3d9aa9d2595fba7a99c8b3e2a - note that you'll probably want to drop the power domain is it is enabled by default and that patch isn't upstream. For userspace, can hexedit the file as per PabloPL/linux#18 (comment) or PabloPL/linux#18 (comment)

i check out your code in v5.5.1-all-devices but i cant find sgx540 probe info. i build use s5pv210_defconfig and enable serial driver.

xc-racer99 commented 2 years ago

You need the following enabled at a minimum. Note that

CONFIG_SGX=y
CONFIG_PVRSGX_1_17_4948957=y
CONFIG_SGX_DRM=y
CONFIG_SGX_S5PV210=m

It's very important that S5PV210 one is set as a module - otherwise it won't build properly. You can also check out https://github.com/xc-racer99/linux/commits/v5.9-all-devices as another option with a slightly newer kernel.

LazyCat-xiao commented 2 years ago

You need the following enabled at a minimum. Note that

CONFIG_SGX=y
CONFIG_PVRSGX_1_17_4948957=y
CONFIG_SGX_DRM=y
CONFIG_SGX_S5PV210=m

It's very important that S5PV210 one is set as a module - otherwise it won't build properly. You can also check out https://github.com/xc-racer99/linux/commits/v5.9-all-devices as another option with a slightly newer kernel.

thank,i can insmod it.