On 22.09.25 15:42, Melissa Wen wrote:
> On 22/09/2025 08:54, Thomas Zimmermann wrote:
>> Hi Melissa
>>
>> Am 19.09.25 um 17:54 schrieb Melissa Wen:
>>> Hi all,
>>>
>>> I just talked with Thomas that these two patches are preventing amdgpu
>>> driver to be unloaded:
>>>
>>> `modprobe: FATAL: Module amdgpu is in use.`
>>>
>>> and there is no process using the driver.
>>
>> What's the exact STR for this problem? After Christian's comments, I tried 
>> to reproduce the issue, but it works on my system. I do
>>
>> - boot up with amdgpu in text mode (multiuser.target)
>> - login by serial console
>> - 'rmmod amdgpu'
>>
>> That last step turns my test system's display off and unloads amdgpu. The 
>> kernel is a recent drm-tip at v6.17-rc6.
> 
> - I booted up in graphical.target;
> - Connected via ssh, dropped the graphical interface to text mode 
> (multiuser.target), and tried to remove the module with `modprobe -r amdgpu`
> 
> The issue happened in the latest 6.16 kernel version from Debian (I don't 
> have the machine with me atm to check the exact version), but also with 
> mainline kernel from last week.
> 
> I bisected kernel from 6.16 and 6.15 and IIRC git bisect pointed to 
> `drm/framebuffer: Acquire internal references on GEM handles`, but as it 
> triggers another trace and AFAIU fixes `drm/gem: Acquire references on GEM 
> handles for framebuffers`, I reverted both pacthes and amdgpu loaded/unloaded 
> as expected.
> 
> IGT amdgpu-specific tests for loading and unloading are also failing because 
> it's not able to unload the module.
> I didn't run the generic test.
> 
> I'm using an AMD Cezanne laptop with a touch-screen capable display (hp envy 
> x360 convertible) with Debian + Gnome.
> I looked for process using the modules, but I didn't find any.
> 
> BTW, I don't discard that this work uncovered a preexist problem, for example.
> Since those patches are addressing other issues, as mentioned by Maarten, 
> I'll debug the amdgpu driver further and check the points raised.

Well could it be that the graphics target left a CRTC running and a framebuffer 
being scanned out?

Regards,
Christian.

> 
> Best Regards,
> 
> Melissa
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> We agreed that the best approach now is to completely revert the work
>>> done for improving DMA bug handling to avoid any loose ends. With these
>>> reverts we are just back to the old behavior and amdgpu loading and
>>> unloading will return to normal.
>>>
>>> Best Regards,
>>>
>>> Melissa
>>>
>>> Melissa Wen (2):
>>>    Revert "drm/framebuffer: Acquire internal references on GEM handles"
>>>    Revert "drm/gem: Acquire references on GEM handles for framebuffers"
>>>
>>>   drivers/gpu/drm/drm_framebuffer.c | 31 +--------------
>>>   drivers/gpu/drm/drm_gem.c         | 64 +++++--------------------------
>>>   drivers/gpu/drm/drm_internal.h    |  2 -
>>>   include/drm/drm_framebuffer.h     |  7 ----
>>>   4 files changed, 11 insertions(+), 93 deletions(-)
>>>
>>
> 

Reply via email to