]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amdgpu: Add vbios attribute only if supported
authorLijo Lazar <lijo.lazar@amd.com>
Thu, 15 Jun 2023 08:43:23 +0000 (14:13 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 23 Jun 2023 19:35:26 +0000 (15:35 -0400)
Not all devices carry VBIOS version information. Add the device
attribute only if supported.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Le Ma <le.ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

index 9ba4817a91484eadf36159cb6102010a8afd17b4..f4e3c133a16ca0c56dd4e3b8d893d877aaf0928c 100644 (file)
@@ -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
  *
index 4153d520e2a369b796c660768ab6f72a0901b9c4..b639a80ee3fcaf113cc22332e57f3071163afd99 100644 (file)
@@ -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
index e25f085ee8867419605bcbe74f8ab869bf72b526..eda0a598722ea22bad472ed4723d52f8e37c3e5e 100644 (file)
@@ -4018,6 +4018,11 @@ fence_driver_init:
        /* 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);
index 3b711babd4e2e5e49e650952675e56e42c81e016..2483950d06ea18109f5093fcd49be03766a98846 100644 (file)
@@ -2899,12 +2899,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,
 };