[Letux-kernel] Lay common foundation to make PVR/SGX work without hacks on OMAP34xx, OMAP36xx, AM335x and potentially OMAP4, OMAP5

H. Nikolaus Schaller hns at goldelico.com
Tue Jan 23 18:15:45 CET 2018


> Am 23.01.2018 um 17:41 schrieb Tomi Valkeinen <tomi.valkeinen at ti.com>:
> 
> On 23/01/18 18:18, H. Nikolaus Schaller wrote:
> 
>>> The community cannot provide patches for the libraries as they are
>>> closed source.
>> 
>> That is not the goal of the project.
> 
> Yep, I was replying to the above comment about "community providing
> patches to the SGX library" from Adam. Or maybe I misunderstood what he
> said.

Ah, ok. The confusion is that you see the library as the "real" driver here
while we refer with "driver" to the kernel module only.

> 
>>>> Secondly, Nikolaus and Tony have done a great job in trying to get the
>>>> hwmods and reset stuff working (mostly) for the omap36 and to some
>>>> extent the am33x.    Would it be possible to get some TI assistance in
>>>> determining what work is left to re-integrate compatibility into
>>>> either the DRM of FB drivers?  The SGX drivers appear to have been
>>>> broken for years and mostly abandoned by TI. I know the OMAP3, OMAP4
>>>> and AM33 are older architectures, but having TI provide the remaining
>>>> assistance would go a long way in showing they still care about their
>>>> products.
>>> 
>>> My guess is that the old SGX driver and libraries are quite incompatible
>>> with the latest ones, so (in my personal opinion) I doubt TI can give
>>> any support for the old ones.
>> 
>> The key problem is that it is more broken that it needs to be as the
> 
> Is something ever as broken as it needs to be? =)

there was a typo

	s/more broken that it needs/more broken than it needs/

> 
>> demonstrator patch set shows. There is only one piece missing to make
>> blobs + kernel driver work on 4.15-rc9 again.
>> 
>> And if we don't do the first step, we will never be able to improve it.
> 
> I'm not quite sure I understand what you're trying here. You said that
> you want this work based on the latest SGX kernel driver from TI. That
> driver is for the latest userspace libraries.

What is the problem of using the matching user space libraries?

> I don't think it will ever
> work with the old libraries.

AFAIK, nobody wants to achieve that. It is about using the latest libs for each SoC.
Those are not the same, but it appears according to my analyses that this does
not influence the driver code. The older and newer driver versions are not very different.
They just add more and more #ifdefs for kernel API changes and SGX errata.

As written in another mail, SGX firmware and user-space libs are sort of
"application" for the SGX. Those must match of course. If you take old firmware
and old libs they should work. If you take new libs and firmware they should
work as well. With the same driver.

If in the future someone manages to reverse engineer the SGX and writes a
new firmware + user-space that should also work with the same driver.

The kernel driver just makes sure that the user-space can communicate with
the SGX, i.e. can load firmware and exchange shaders, images etc.

So to summarize: the sgx530 user-space binaries already run on dm3730 and
am335x and the sgx544 should run on omap5.

BR,
Nikolaus



More information about the Letux-kernel mailing list