[PATCH] drm/amdgpu: Add vbios attribute only if supported

Ma, Le Le.Ma at amd.com
Thu Jun 15 09:37:58 UTC 2023


[AMD Official Use Only - General]

Reviewed-by: Le Ma <le.ma at amd.com>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Lijo
> Lazar
> Sent: Thursday, June 15, 2023 4:56 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Ma, Le
> <Le.Ma at amd.com>; Kamal, Asad <Asad.Kamal at amd.com>; Zhang, Hawking
> <Hawking.Zhang at amd.com>
> Subject: [PATCH] drm/amdgpu: Add vbios attribute only if supported
>
> Not all devices carry VBIOS version information. Add the device attribute only if
> supported.
>
> Signed-off-by: Lijo Lazar <lijo.lazar at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 9 +++++++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c   | 5 +++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c      | 2 --
>  4 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> index 9ba4817a9148..f4e3c133a16c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
> @@ -1791,6 +1791,15 @@ const struct attribute_group
> amdgpu_vbios_version_attr_group = {
>       .attrs = amdgpu_vbios_version_attrs
>  };
>
> +int amdgpu_atombios_sysfs_init(struct amdgpu_device *adev) {
> +     if (adev->mode_info.atom_context)
> +             return devm_device_add_group(adev->dev,
> +
> &amdgpu_vbios_version_attr_group);
> +
> +     return 0;
> +}
> +
>  /**
>   * amdgpu_atombios_fini - free the driver info and callbacks for atombios
>   *
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> index 4153d520e2a3..b639a80ee3fc 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
> @@ -217,5 +217,6 @@ int amdgpu_atombios_get_data_table(struct
> amdgpu_device *adev,
>
>  void amdgpu_atombios_fini(struct amdgpu_device *adev);  int
> amdgpu_atombios_init(struct amdgpu_device *adev);
> +int amdgpu_atombios_sysfs_init(struct amdgpu_device *adev);
>
>  #endif
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index e25f085ee886..eda0a598722e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4018,6 +4018,11 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>       /* Get a log2 for easy divisions. */
>       adev->mm_stats.log2_max_MBps = ilog2(max(1u, max_MBps));
>
> +     r = amdgpu_atombios_sysfs_init(adev);
> +     if (r)
> +             drm_err(&adev->ddev,
> +                     "registering atombios sysfs failed (%d).\n", r);
> +
>       r = amdgpu_pm_sysfs_init(adev);
>       if (r)
>               DRM_ERROR("registering pm sysfs failed (%d).\n", r); diff --git
> a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 999d008b6b48..70455b00c36e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -2896,12 +2896,10 @@ static struct pci_error_handlers
> amdgpu_pci_err_handler = {
>
>  extern const struct attribute_group amdgpu_vram_mgr_attr_group;  extern
> const struct attribute_group amdgpu_gtt_mgr_attr_group; -extern const struct
> attribute_group amdgpu_vbios_version_attr_group;
>
>  static const struct attribute_group *amdgpu_sysfs_groups[] = {
>       &amdgpu_vram_mgr_attr_group,
>       &amdgpu_gtt_mgr_attr_group,
> -     &amdgpu_vbios_version_attr_group,
>       NULL,
>  };
>
> --
> 2.25.1



More information about the amd-gfx mailing list