[Openpvrsgx-devgroup] [PATCH] staging: pvr: Add a simplified pvr-drv.c as replacement for messy pvr_drm.c

H. Nikolaus Schaller hns at goldelico.com
Sat Nov 9 09:07:46 CET 2019


Hi Tony,

> Am 08.11.2019 um 22:16 schrieb Tony Lindgren <tony at atomide.com>:
> 
> * H. Nikolaus Schaller <hns at goldelico.com> [191108 07:31]:
>> Hi Tony,
>> 
>>> Am 07.11.2019 um 17:55 schrieb Tony Lindgren <tony at atomide.com>:
>>> 
>>> 
>>>>> So now we could remove the old files to avoid confusion:
>>>>> 
>>>>> drivers/staging/pvr/1.14.3699939/eurasia_km/services4/srvkm/env/linux/pvr_drm.c
>>>>> drivers/staging/pvr/1.14.3699939/eurasia_km/services4/srvkm/env/linux/module.c
>> 
>> removing them and removing services4/srvkm/env/linux/module.o from the Makefile seems to lead to build errors for a clean make:
>> 
>>  Building modules, stage 2.
>>  MODPOST 666 modules - due to target is PHONY
>> WARNING: modpost: missing MODULE_LICENSE() in drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_omap3_sgx530_121.o
> 
> Oh OK thanks for checking. It might be worth waiting for
> v2 of the $subject patch if you did not apply it yet.

I already have and I have fixed the ti,am335x -> ti,am3352 compatible.

I havejust pushed. It includes:
* your v1
* fix for ti,am3352
* drivers/staging/pvr/omap3 renamed to drivers/staging/pvr/1.9
* drivers/staging/pvr/omap5 renamed to drivers/staging/pvr/1.10

BTW: I have found 1.17 on the TI git but have a strange problem that
git remote update fails with some reject message.

iMac:master hns$ git remote show ti-sgx544
* remote ti-sgx544
  Fetch URL: git://git.ti.com/graphics/omap5-sgx-ddk-linux.git
  Push  URL: git://git.ti.com/graphics/omap5-sgx-ddk-linux.git
  HEAD branch: master
  Remote branches:
    am4/k3.14                     new (next fetch will store in remotes/ti-sgx544)
    am4/k4.1                      new (next fetch will store in remotes/ti-sgx544)
    dra7/experimental             new (next fetch will store in remotes/ti-sgx544)
    dra7/k3.12                    new (next fetch will store in remotes/ti-sgx544)
    dra7/k3.14                    new (next fetch will store in remotes/ti-sgx544)
    dra7/k3.8                     new (next fetch will store in remotes/ti-sgx544)
    dra7/k4.1                     new (next fetch will store in remotes/ti-sgx544)
    img-sgx                       new (next fetch will store in remotes/ti-sgx544)
    master                        new (next fetch will store in remotes/ti-sgx544)
    next                          new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.14.3699939/k4.1  new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.14.3699939/k4.14 new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.14.3699939/k4.4  new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.14.3699939/k4.9  new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.17.4948957/k4.14 new (next fetch will store in remotes/ti-sgx544)
    ti-img-sgx/1.17.4948957/k4.19 new (next fetch will store in remotes/ti-sgx544)
iMac:master hns$ git remote update ti-sgx544
Fetching ti-sgx544
fatal: read error: Connection reset by peer
error: Could not fetch ti-sgx544
iMac:master hns$ 

Adding the same remote to a different repo works:

iMac:omap5-sgx-ddk hns$ git remote show ti-sgx544
* remote ti-sgx544
  Fetch URL: git://git.ti.com/graphics/omap5-sgx-ddk-linux.git
  Push  URL: git://git.ti.com/graphics/omap5-sgx-ddk-linux.git
  HEAD branch: master
  Remote branches:
    am4/k3.14                     tracked
    am4/k4.1                      tracked
    dra7/experimental             tracked
    dra7/k3.12                    tracked
    dra7/k3.14                    tracked
    dra7/k3.8                     tracked
    dra7/k4.1                     tracked
    img-sgx                       tracked
    master                        tracked
    next                          tracked
    ti-img-sgx/1.14.3699939/k4.1  tracked
    ti-img-sgx/1.14.3699939/k4.14 tracked
    ti-img-sgx/1.14.3699939/k4.4  tracked
    ti-img-sgx/1.14.3699939/k4.9  tracked
    ti-img-sgx/1.17.4948957/k4.14 tracked
    ti-img-sgx/1.17.4948957/k4.19 tracked
iMac:omap5-sgx-ddk hns$ git remote update ti-sgx544
Fetching ti-sgx544
iMac:omap5-sgx-ddk hns$ 

Maybe the "master" is in conflict.

So I was not yet able to pull it into my kernel tree. Maybe I have to do a local
transfer...

> I also noticed a new PM runtime warning that I need to
> track down. And I missed adding the postclose call.
> 
> This probably is fixed by adding the standard
> MODULE_LICENSE() to pvr-drv.c.

Looks like...

> 
>> ERROR: "PVRSRVOpen" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "gui32ReleasePID" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "PVRCore_Init" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "PVRSRVDriverShutdown" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "PVRSRVDriverResume" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "PVRCore_Cleanup" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "gPVRSRVLock" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
>> ERROR: "PVRSRVDriverSuspend" [drivers/staging/pvr/1.14.3699939/eurasia_km/pvrsrvkm_dra7_sgx544_116.ko] undefined!
> 
> Hmm OK I'll take a look, those should be all already
> added to pvr-drv.h.
> 
>> I haven't digged into the code what is missing.
>> 
>> Maybe we need to export something? Or the Makefile does not properly handle
>> 
>> $(TARGET) += \
>> 	../../pvr-drv.o \
>> 
>> for modules?
>> 
>> BTW: another candidate for removal could be:
>> 
>> drivers/staging/pvr/1.14.3699939//eurasia_km/services4/srvkm/env/linux/pvr_drm.h
>> 
>> but it is used in more places:
> 
> Yeah we should be able to drop that too. And anything
> else related to a typical Linux driver.
> 
> BTW, I still have had no luck with seeing the demos working..
> 
> Trying with am335x or am437x (after patching it) I get
> these kind of errors when trying to run the demos after
> running pvrsrvctl --start --no-module:
> 
> libEGL warning: DRI2: xcb_connect failed
> ...
> 
> Any idea what I might be missing?

Well, there is something wrong with X11 (xcb) user space (I use Debian Stretch 9.9). I have to uninstall it.

According to my analyses the problem is libx11-xcb1 which becomes installed by either of
libegl1-mesa
libegl1-mesa-drivers
libwayland-egl1-mesa
and they also seem to depend on each other so that you can't easily uninstall one of them.

So it is a little difficult to get rid of this flu :)

BR,
Nikolaus



More information about the openpvrsgx-devgroup mailing list