[PATCH v3 00/17] Imagination Technologies PowerVR DRM driver

H. Nikolaus Schaller hns at goldelico.com
Fri Jun 16 14:06:45 UTC 2023


Hi Linus,
thanks for sharing this conversation with me.

> Am 16.06.2023 um 14:29 schrieb Linus Walleij <linus.walleij at linaro.org>:
> 
> Hi Sarah,
> 
> thanks for starting this long awaited work!
> 
> On Tue, Jun 13, 2023 at 5:20 PM Sarah Walker <sarah.walker at imgtec.com> wrote:
> 
>> This patch series adds the initial DRM driver for Imagination Technologies PowerVR
>> GPUs, starting with those based on our Rogue architecture. It's worth pointing
>> out that this is a new driver, written from the ground up, rather than a
>> refactored version of our existing downstream driver (pvrsrvkm).

Great!

> 
> This seems to be a fairly good starting point, a bit of trade-off
> between latest-and-greatest
> and recent enough devices that need aftermarket support.
> 
> I assume you are aware of the community existing around Series 5
> (should be the immediate
> predecessor to Rogue?):
> https://github.com/openpvrsgx-devgroup/linux_openpvrsgx
> 
> I don't know how active those people are these days, but I can see that a branch

Well, there hasn't been much progress due to lack of documentation and compatibility
issues of user-space code. Just keeping the code compatible to latest upstream kernels.

But at least for OMAP3 and OMAP5 processors people are actively using this work.

There is even a gaming console (www.pyra-handheld.com) in active production
with a strong need for an up-to-date SGX544 driver running on OMAP5.

> was updated for v6.4-rc3 just three weeks ago.
> https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/tree/pvrsrvkm-6.4-rc3
> 
> I think it would be good for community building to make sure that you get these
> people involved in reviewing, especially neutral stuff like device tree bindings
> but also to make sure no architectural choices are done that will make it hard
> to retrofit a proper driver for the older engines if this community
> decide to work
> on it.

Some questions to the author of the new driver:
- are there plans to support SGX5 (the predecessor of Rogue6)?
- will this be able to run the existing firmware and user-space code of pvrsrvkm?
- or will it have new firmware and user-space code for these older chips?
- or will there be open user-space code for SGX (and Rogue)?

> 
> Specifically I would ask that the DT bindings include all old and new PowerVR
> hardware in one go, unless they have very specific hardware definition needs,
> which I doubt.

Our current bindings for all SoC with a SGX5 GPU inside and which have at least
some official Linux support are here:

https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/blob/letux/omap-pvr-soc-glue-v8/Documentation/devicetree/bindings/gpu/img%2Cpvrsgx.yaml

There was an attempt to upstream at least this plus glue code (i.e. device tree
sources) some years ago but there was no consensus about the number and names of
clocks that should be included in such a bindings document.

> 
> Also I think they could use your help to get the proper firmware for the older
> hardware licensed properly from Imagination and included into linux-firmware
> so they do not need to ship files on the side.

Indeed, this and some "universal" user-space code would help a lot. Currently
we have collected a lot of binaries for several architectures (e.g. Intel, OMAP, JZ4780),
but all from different DDK versions and very different assumptions about system
library versions.

> 
> Yours,
> Linus Walleij

Best regards,
Nikolaus Schaller



More information about the dri-devel mailing list