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

From: Javier Martinez Canillas
Date: Wed Nov 29 2023 - 03:45:59 EST


Maxime Ripard <mripard@xxxxxxxxxx> writes:

Hello Maxime,

> Hi,
>
> 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>
>> > > ---
>> >
>> > Indeed. Although I wonder what is the supposed policy since for example
>> > the DRM_PANFROST symbol only depends on ARM || ARM64 and others such as
>>
>> I think ARM Mali is sufficiently ubiquitous on ARM/ARM64 systems to
>> have just an ARM/ARM64 dependency...
>>
>> > DRM_ETNAVIV don't even have an SoC or architecture dependency.
>>
>> Vivante GPUs are found in DTS files on at least 4 architectures.
>> Might be worthwhile to add some dependencies, though...
>>
>> > 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.
>

Thanks for the clarification. Then the policy is to have a depends on
ARCH_$FOO if the IP block is tied to a particular SoC or SoC family ?

For example, DRM_V3D has:

depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST

If the IP block is generic and could be integrated with any SoC, then it
should not have a dependency as you said.

> GPUs supposed to be handled are spread across 4 architectures (x86,
> riscv, arm, arm64, mips?), and in arm/arm64 alone we have at least 5
> platforms that might use it (allwinner, ti, mediatek, renesas, rockchip)
>
> It didn't make sense for panfrost, or etnaviv. It doesn't make sense for
> that driver either. Especially for something that olddefconfig can
> handle just fine.
>

I think then that we should drop the arch and SoC dependency for these GPU
drivers and just leave the symbols they really depend on (e.g: DRM, MMU) ?

> Maxime

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat