[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 18:11:03 CET 2019


> Am 09.11.2019 um 17:47 schrieb Tony Lindgren <tony at atomide.com>:
> 
> * H. Nikolaus Schaller <hns at goldelico.com> [191109 16:41]:
>>> Am 09.11.2019 um 17:25 schrieb Tony Lindgren <tony at atomide.com>:
>>> Then additionally omapdrm or tilcd needs to be enabled and
>>> looks like it needs to be done in the right order so the
>>> /dev/dri instances are 0 and 1, and not 0 and 2 or 1 and 2
>>> if modules are removed and probed multiple times.. What a
>>> flakey pile
>> 
>> Ok, good to know... Maybe this is the problem why I sometimes
>> have the BBB working and sometimes not?
>> 
>> Next time I am doing tests or see it not work, I'll look for it.
> 
> That seems to be related to the "Failed to open primary device"
> error below.
> 
>>> Now I get this trying to run the gles1test1 on am437x-sk-evm
>>> after patching it to probe:
>>> 
>>> PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
>> 
>> +++
>> 
>>> ...
>>> PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: Tc [0, ]
>>> PVR:(Error): LoadOGLES2AndGetFunctions: Wrong version. Got: 2, Expected 3 [0, ]
>>> 'eglCreateContext' returned egl error 'EGL_NOT_INITIALIZED' (0x3001)
>>> 
>>> And I guess these related to this in dmesg:
>>> 
>>> PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
>> 
>> Well this is quite similar to the best what I could get so far for the
>> not-officially supported devices. DM3730 says:
>> 
>> root at letux:~# pvrsrvctl --start --no-module
>> [   60.455566] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
>> root at letux:~# gles1test1 
>> [   71.083831] DoMapToUser: pfn=0004804a vmf_insert_mixed(vma=de2b8900, addr=b6f01000, pfn_t=4804a)  ret=00000100
>> [   71.094757] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
>> PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: Tg,P [0, ]
>> PVR:(Error): WSEGL_InitialiseDisplay: Failed to open primary device: No such file or directory [0, ]
>> 'eglInitialize' returned egl error 'EGL_NOT_INITIALIZED' (0x3001)
>> root at letux:~# 
> 
> The "Failed to open primary device" might be related to not
> having intialized omapdrm so you have console on the LCD?
> Or wrong /dev/dri/* instance numbering..
> 
>> BTW: I also see the vmf_insert_mixed failed on the am335x once even if
>> the gles1test1 is still working.
> 
> Oh OK nice.
> 
>> And the Mapping handle=0xf: Tc [0, ] sometimes prints chinese characters
>> which indicate a dangling string pointer for "%s".
>> 
>> All this indicates that the user-space seems to make some assumption
>> about the kernel which may be wrong.
> 
> OK I guess I need to try on am335x instead at some point. Maybe
> that then provides some more clues.

Yes, doing differential diagnosis gives the best hints.

BR,
Nikolaus



More information about the openpvrsgx-devgroup mailing list