On Fri, 22 Nov 2024, Louis Chauvet <louis.chau...@bootlin.com> wrote:
> As a CRTC will be a directory in ConfigFS, add the name configuration for
> CRTC name so we will be able to reflect the configfs directory name in the
> drm name.
>
> Signed-off-by: Louis Chauvet <louis.chau...@bootlin.com>
> ---
>  drivers/gpu/drm/vkms/vkms_config.c | 5 +++++
>  drivers/gpu/drm/vkms/vkms_config.h | 2 ++
>  drivers/gpu/drm/vkms/vkms_crtc.c   | 2 +-
>  3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/vkms/vkms_config.c 
> b/drivers/gpu/drm/vkms/vkms_config.c
> index 
> a2539fb56b602569b75748fdf9c4784f104b0bff..3252f657ce515c0193a8c0e709bfe861feba0aca
>  100644
> --- a/drivers/gpu/drm/vkms/vkms_config.c
> +++ b/drivers/gpu/drm/vkms/vkms_config.c
> @@ -37,6 +37,10 @@ struct vkms_config *vkms_config_alloc_default(bool 
> enable_writeback, bool enable
>       if (!crtc)
>               goto err_alloc;
>       crtc->writeback = enable_writeback;
> +     crtc->name = kzalloc(sizeof("Main CRTC"), GFP_KERNEL);
> +     if (!crtc->name)
> +             goto err_alloc;
> +     sprintf(crtc->name, "Main CRTC");

Ditto, kstrdup()

>  
>       encoder = vkms_config_create_encoder(vkms_config);
>       if (!encoder)
> @@ -219,6 +223,7 @@ void vkms_config_delete_crtc(struct vkms_config_crtc 
> *vkms_config_crtc,
>               }
>       }
>  
> +     kfree(vkms_config_crtc->name);
>       kfree(vkms_config_crtc);
>  }
>  
> diff --git a/drivers/gpu/drm/vkms/vkms_config.h 
> b/drivers/gpu/drm/vkms/vkms_config.h
> index 
> 4223edd94ec270915dd658c0b5efd489554d33a5..4a4c16dea7855cf36060986ef247be698974fafc
>  100644
> --- a/drivers/gpu/drm/vkms/vkms_config.h
> +++ b/drivers/gpu/drm/vkms/vkms_config.h
> @@ -29,6 +29,7 @@ struct vkms_config {
>   * struct vkms_config_crtc
>   *
>   * @link: Link to the others CRTCs
> + * @name: Name of the CRTC
>   * @possible_planes: List of planes that can be used with this CRTC
>   * @possible_encoders: List of encoders that can be used with this CRTC
>   * @crtc: Internal usage. This pointer should never be considered as valid. 
> It can be used to
> @@ -38,6 +39,7 @@ struct vkms_config {
>  struct vkms_config_crtc {
>       struct list_head link;
>  
> +     char *name;
>       bool writeback;
>       struct xarray possible_planes;
>       struct xarray possible_encoders;
> diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c 
> b/drivers/gpu/drm/vkms/vkms_crtc.c
> index 
> 3825fba57c012f84cbe67114e053dcd7fcfa283d..25a3d97a362afd0d40f3e023d9cce985d447a880
>  100644
> --- a/drivers/gpu/drm/vkms/vkms_crtc.c
> +++ b/drivers/gpu/drm/vkms/vkms_crtc.c
> @@ -292,7 +292,7 @@ struct vkms_crtc *vkms_crtc_init(struct vkms_device 
> *vkms_device,
>  
>       vkms_crtc = drmm_crtc_alloc_with_planes(dev, struct vkms_crtc, base,
>                                               primary, cursor,
> -                                             &vkms_crtc_funcs, NULL);
> +                                             &vkms_crtc_funcs, config->name);
>       if (IS_ERR(vkms_crtc)) {
>               DRM_DEV_ERROR(dev->dev, "Failed to init CRTC\n");
>               return vkms_crtc;

-- 
Jani Nikula, Intel

Reply via email to