Re: A hotplug bug in AMDGPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 3, 2021 at 11:40 AM Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote:
>
> Hi
>
> There's a bug with monitor hotplug starting with the kernel 5.7.
>
> I have Radeon RX 570. If I boot the system with the monitor unplugged and
> then plug the monitor via DVI, the kernel 5.6 and below will properly
> initialized graphics; the kernels 5.7+ will not initialize it - and the
> monitor reports no signal.
>
> I bisected the issue and it is caused by the patch
> 4fdda2e66de0b7d37aa27af3c1bbe25ecb2d5408 ("drm/amdgpu/runpm: enable runpm
> on baco capable VI+ asics")
>
> When I remove the code that sets adev->runpm on the kernel 5.12, monitor
> hotplug works correctly.

This isn't really a hotplug bug per se.  That patch enabled runtime
power management which powered down the GPU completely to save power.
Unfortunately when it's powered down, hotplug interrupts won't work
because the entire GPU is powered off.  Disabling runtime pm will
allow hotplug interrupts to work, but will cause the GPU to burn a lot
more power.  I'm not sure what the best solution is.  You can manually
wake the card via sysfs (either via the runtime pm controls in
/sys/class/drm/card0/device/power or by reading a sensor on the board
like temperature) then hotplut the monitor or via a direct request to
probe the displays via the display server.

Alex

>
> Mikulas
>
>
> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |    2 --
>  1 file changed, 2 deletions(-)
>
> Index: linux-5.12/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> ===================================================================
> --- linux-5.12.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c     2021-04-26 14:50:53.000000000 +0200
> +++ linux-5.12/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c  2021-05-03 16:19:54.000000000 +0200
> @@ -183,8 +183,6 @@ int amdgpu_driver_load_kms(struct amdgpu
>                                 adev->runpm = true;
>                         break;
>                 default:
> -                       /* enable runpm on CI+ */
> -                       adev->runpm = true;
>                         break;
>                 }
>                 if (adev->runpm)
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux