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

From: Javier Martinez Canillas
Date: Wed Nov 29 2023 - 04:13:51 EST


Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:

Hello Geert,

> Hi Maxime,
>
> On Wed, Nov 29, 2023 at 9:35 AM Maxime Ripard <mripard@xxxxxxxxxx> wrote:
>> On Tue, Nov 28, 2023 at 08:16:18PM +0100, Geert Uytterhoeven wrote:
>> > On Tue, Nov 28, 2023 at 8:03 PM Javier Martinez Canillas
>> > <javierm@xxxxxxxxxx> wrote:
>> > > Geert Uytterhoeven <geert+renesas@xxxxxxxxx> writes:
>> > > > The Imagination Technologies PowerVR Series 6 GPU is currently only
>> > > > supported on 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.
>> > > >
>> > > > Fixes: 4babef0708656c54 ("drm/imagination: Add skeleton PowerVR driver")
>> > > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
>> > > In any case, I agree with you that restricting to only K3 makes sense.
>> >
>> > I am looking forward to adding || SOC_AM33XX || ARCH_RENESAS || ...,
>> > eventually ;-)
>>
>> I disagree. This is to handle a generic IP, just like panfrost, lima, or
>> etnaviv, and we certaintly don't want to maintain the Kconfig list of
>> every possible architecture and SoC family it might or might not be
>> found.
>
> While PowerVR is a generic IP, I believe it needs a non-generic
> firmware, which is currently only available for AM62x SoCs.
> Once it becomes truly generic, I'm happy to drop all platform
> dependencies. Until then, there is no point in asking everyone who
> configures an arm64 kernel about this driver, unless they also enabled
> K3 support.
>

That's true but it will require a Kconfig patch every time that there is a
design with a different SoC using this generic IP.

So when should be added? Once there's an upstream DTS that has a GPU device?
Once there's a firmware for it in linux-firmware?

I like the guideline of not having a depends on for generic IP and only have
for IP that can only be used in designs with a SoC from the same vendor.

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat