Re: [PATCH v2 79/91] drm/vc4: hdmi: Deal with multiple debugfs files

From: Maxime Ripard
Date: Tue Apr 28 2020 - 11:57:26 EST


Hi Stefan,

On Sat, Apr 25, 2020 at 11:26:31PM +0200, Stefan Wahren wrote:
> Am 24.04.20 um 17:35 schrieb Maxime Ripard:
> > The HDMI driver was registering a single debugfs file so far with the name
> > hdmi_regs.
> >
> > Obviously, this is not going to work anymore when will have multiple HDMI
> > controllers since we will end up trying to register two files with the same
> > name.
> >
> > Let's use the ID to avoid that name conflict.
>
> even with this patch there is a name conflict in debugfs using Linux
> 5.7-rc1. Dave Stevenson addressed this by using different card names
> [1]. Since this patch won't apply anymore here is my suggestion:
>
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
> index 29287ab..7209397 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
> @@ -1181,9 +1181,14 @@ static int vc4_hdmi_audio_init(struct vc4_hdmi
> *vc4_hdmi)
>  
>      card->dai_link = dai_link;
>      card->num_links = 1;
> -    card->name = "vc4-hdmi";
>      card->dev = dev;
>  
> +    if (vc4_hdmi->variant->encoder_type == VC4_ENCODER_TYPE_HDMI1) {
> +        card->name = "vc4-hdmi1";
> +    } else {
> +        card->name = "vc4-hdmi";
> +    }
> +

Thinking about this some more, we don't really need VC4_ENCODER_TYPE_HDMI0 and
HDMI1, and it can all work with the same encoder type for both, so I'll drop
them.

To address this issue though, we can add a card name string to the variant, like
I did for debugfs. Is that alright for you?

Maxime

Attachment: signature.asc
Description: PGP signature