[PATCH] drm/radeon: Prevent multiple error lines on suspend

Christian König christian.koenig at amd.com
Mon Dec 11 10:54:47 UTC 2023


Am 10.12.23 um 19:24 schrieb Woody Suwalski:
> Hello, it has been now over 2 weeks and I have not seen any response 
> to this patch.
> Has it been lost in the cracks of the wide internet ? :-(

Well your patch is malformed ("#" before each line in the commit 
message) and probably ended up being ignored because of that.

Apart from that it would probably be much easier to move the call to 
radeon_debugfs_ring_init() into the if (ring->ring_obj == NULL) check in 
the caller.

Regards,
Christian.

>
> Thanks, Woody
>
>
> Woody Suwalski wrote:
>> # Fix to avoid multiple error lines printed on every suspend by 
>> Radeon driver's debugfs.
>> #
>> # radeon_debugfs_init() calls debugfs_create_file() for every ring.
>> #
>> # This results in printing multiple error lines to the screen and 
>> dmesg similar to this:
>> # debugfs: File 'radeon_ring_vce2' in directory '0000:00:01.0' 
>> already present!
>> #
>> # The fix is to run lookup for the file before trying to (re)create 
>> that debug file.
>>
>> # Signed-off-by: Woody Suwalski <terraluna977 at gmail.com>
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_ring.c 
>> b/drivers/gpu/drm/radeon/radeon_ring.c
>> index e6534fa9f1fb..72b1d2d31295 100644
>> --- a/drivers/gpu/drm/radeon/radeon_ring.c
>> +++ b/drivers/gpu/drm/radeon/radeon_ring.c
>> @@ -549,10 +549,15 @@ static void radeon_debugfs_ring_init(struct 
>> radeon_device *rdev, struct radeon_r
>>  #if defined(CONFIG_DEBUG_FS)
>>      const char *ring_name = radeon_debugfs_ring_idx_to_name(ring->idx);
>>      struct dentry *root = rdev->ddev->primary->debugfs_root;
>> -
>> -    if (ring_name)
>> -        debugfs_create_file(ring_name, 0444, root, ring,
>> -                    &radeon_debugfs_ring_info_fops);
>> +    struct dentry *lookup;
>> +
>> +    if (ring_name) {
>> +        if ((lookup = debugfs_lookup(ring_name, root)) == NULL)
>> +            debugfs_create_file(ring_name, 0444, root, ring,
>> +                        &radeon_debugfs_ring_info_fops);
>> +        else
>> +            dput(lookup);
>> +    }
>>
>>  #endif
>>  }
>>
>



More information about the amd-gfx mailing list