Re: [PATCH v2] drm/imagination: DRM_POWERVR should depend on ARCH_K3

From: Frank Binns
Date: Tue Mar 05 2024 - 11:43:17 EST


On Tue, 2024-03-05 at 07:47 -0600, Adam Ford wrote:
> On Tue, Mar 5, 2024 at 5:58 AM Frank Binns <Frank.Binns@xxxxxxxxxx> wrote:
> > Hi Adam,
> >
> > Sorry for not responding sooner. I've recently just returned from paternity
> > leave, so just catching up on everything.
>
> Congratulations!
>

Thanks!

> > On Thu, 2024-02-15 at 11:22 -0600, Adam Ford wrote:
> > > On Thu, Feb 15, 2024 at 11:10 AM Adam Ford <aford173@xxxxxxxxx> wrote:
> > > > On Thu, Feb 15, 2024 at 10:54 AM Geert Uytterhoeven
> > > > <geert@xxxxxxxxxxxxxx> wrote:
> > > > > Hi Maxime,
> > > > >
> > > > > On Thu, Feb 15, 2024 at 5:18 PM Maxime Ripard <mripard@xxxxxxxxxx> wrote:
> > > > > > On Thu, Feb 15, 2024 at 01:50:09PM +0100, Geert Uytterhoeven wrote:
> > > > > > > Using the Imagination Technologies PowerVR Series 6 GPU requires a
> > > > > > > proprietary firmware image, which is currently only available for Texas
> > > > > > > Instruments K3 AM62x SoCs. Hence add a dependency on ARCH_K3, to
> > > > > > > prevent asking the user about this driver when configuring a kernel
> > > > > > > without Texas Instruments K3 Multicore SoC support.
> > > > > >
> > > > > > This wasn't making sense the first time you sent it, and now that commit
> > > > > > log is just plain wrong. We have firmwares for the G6110, GX6250,
> > > > > > GX6650, BXE-4-32, and BXS-4-64 models, which can be found on (at least)
> > > > > > Renesas, Mediatek, Rockchip, TI and StarFive, so across three
> > > > >
> > > > > I am so happy to be proven wrong!
> > > > > Yeah, GX6650 is found on e.g. R-Car H3, and GX6250 on e.g. R-Car M3-W.
> > > > >
> > > > > > architectures and 5 platforms. In two months.
> > > > >
> > > > > That sounds like great progress, thanks a lot!
> > > > >
> > > > Geert,
> > > >
> > > > > Where can I find these firmwares? Linux-firmware[1] seems to lack all
> > > > > but the original K3 AM62x one.
> > > >
> > > > I think PowerVR has a repo [1], but the last time I checked it, the
> > > > BVNC for the firmware didn't match what was necessary for the GX6250
> > > > on the RZ/G2M. I can't remember what the corresponding R-Car3 model
> > > > is. I haven't tried recently because I was told more documentation
> > > > for firmware porting would be delayed until everything was pushed into
> > > > the kernel and Mesa. Maybe there is a better repo and/or newer
> > > > firmware somewhere else.
> > > >
> > > I should have doubled checked the repo contents before I sent my last
> > > e-mail , but it appears the firmware [2] for the RZ/G2M, might be
> > > present now. I don't know if there are driver updates necessary. I
> > > checked my e-mails, but I didn't see any notification, or I would have
> > > tried it earlier. Either way, thank you Frank for adding it. I'll
> > > try to test when I have some time.
> > >
> >
> > You may have noticed from one of Matt's emails that we now have a set of repos
> > (linux, linux-firmware and Mesa) in our own area on freedesktop.org GitLab:
> > https://gitlab.freedesktop.org/imagination/
> >
> > We'll be using this as a staging area for work that isn't ready to be upstreamed
> > yet (including firmware binaries).
> >
>
> I tried to play with these a little, but it seems like there is still
> a fair amount of work to be done on the 6XT series. I tried to add the
> device tree support for several Renesas boards, but the series was
> NAK'd due to an inability to test it.

I've not had a chance to properly read through that thread yet and I seem to
remember that, when I had a quick skim through the DT bindings patch, there was
some feedback I wanted to give. I'll try to get to that sooner rather than
later.

Anyway, in principle I don't think there should be an issue with upstreaming
device tree bindings. The thing that needs to be avoided is baking in the uapi
before sufficient testing has been done (passing the Vulkan conformance test
suite will give us enough confidence). As long as we don't add the compatibles
into the `struct of_device_id` table in the driver, we should be fine in this
regard.

Sorry if this conflicts with anything Matt already said. We're still very new to
working with the upstream kernel and are being cautious to avoid any mistakes
that may come back to bite us.

> > > > adam
> > > >
> > > > [1] https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr/powervr?ref_type=heads
> > >
> > > [2] - https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/commit/fecb3caebf29f37221fe0a20236e5e1415d39d0b
> > >
> >
> > This is now the place to get the firmware for devices that aren't yet supported
> > upstream:
> > https://gitlab.freedesktop.org/imagination/linux-firmware/-/commits/powervr/?ref_type=HEADS
> >
> I've been following several of these repos and checking for software
> updates in both the Firmware, driver and userspace layers.
>
> > With the firmware for the Renesas variant of GX6250 being found in this commit:
> > https://gitlab.freedesktop.org/imagination/linux-firmware/-/commit/fecb3caebf29f37221fe0a20236e5e1415d39d0b
> >
>
> If your group thinks they have stuff they want tested, I am willing to
> test them on the two platforms I have if I am CC'd on anything.
>

Thank you for the offer, that is very much appreciated!

Do you happen to know if those platforms (or ones with the same SoC in) are
available for purchase?

> Thanks for the work your group has done so far. It'll be nice to see the work.
>

No problem at all :)

Thanks
Frank

> adam
>
> > Thanks
> > Frank
> >
> > > > > Thanks again!
> > > > >
> > > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
> > > > >
> > > > > Gr{oetje,eeting}s,
> > > > >
> > > > > Geert
> > > > >
> > > > > --
> > > > > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
> > > > >
> > > > > In personal conversations with technical people, I call myself a hacker. But
> > > > > when I'm talking to journalists I just say "programmer" or something like that.
> > > > > -- Linus Torvalds