[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <38f3c90a-9f11-43ba-8657-336486607a4f@amd.com>
Date: Mon, 11 Dec 2023 11:54:47 +0100
From: Christian König <christian.koenig@....com>
To: Woody Suwalski <terraluna977@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
amd-gfx@...ts.freedesktop.org
Cc: "Deucher, Alexander" <alexander.deucher@....com>
Subject: Re: [PATCH] drm/radeon: Prevent multiple error lines on suspend
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@...il.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
>> }
>>
>
Powered by blists - more mailing lists