[PATCH v3 2/2] drm/amd: Add power_saving_policy drm property to eDP connectors

Mario Limonciello mario.limonciello at amd.com
Tue Jul 2 19:19:39 UTC 2024


On 7/1/2024 17:34, Xaver Hugl wrote:
> Am Mo., 1. Juli 2024 um 21:02 Uhr schrieb Mario Limonciello
> <mario.limonciello at amd.com>:
>> Hmm I'm a bit surprised the IGT tests I did didn't catch this.
>>
>> Are you working on a system with two GPUs by chance (like a Framework
>> 16)?  If so; can you try the "other GPU"?
> 
> No, I tested on a Framework 13.
> 
>> As it seems your PR to span 3 projects and I've never built KDE before
>> can you spit out some artifacts somewhere that I can have a play with to
>> reproduce your result and find the kernel issue?  Arch pkgs would be
>> preferable for me, but some RPMs or DEBs are fine too.
> 
> Here you go: https://nx44777.your-storageshare.de/s/2j4Jy5anDwwzCtF
> and https://nx44777.your-storageshare.de/s/2rxJ4Tp2L8gdc8Y
> You can set the drm property to "Require color accuracy" with
> "kscreen-doctor output.1.allowColorPowerSaving.disallow" and to zero
> again with "kscreen-doctor output.1.allowColorPowerSaving.allow"

Thanks, I snagged the artifacts.  Of course when I tried to reproduce I 
hit a new issue where my series is causing problems with DSC on my panel.

X crashes and consequently SDDM doesn't come up so I don't even get to 
the point I can toggle the knob.

Mostly posting trace below in case root cause jumps out at anyone what 
actually went wrong.  It reproduces with amdgpu.abmlevel=0 on both 6.9.7 
and 6.10-rc6, but drop my patches and it's gone.

[drm] DSC precompute is not needed.
------------[ cut here ]------------
WARNING: CPU: 7 PID: 321 at 
drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dcn20/dcn20_dsc.c:272 
dsc2_disable+0xec/0x170 [amdgpu]
Modules linked in: amdgpu(+) amdxcp i2c_algo_bit drm_ttm_helper ttm 
drm_exec gpu_sched drm_suballoc_helper drm_buddy drm_display_helper 
drm_kms_helper drm drm_panel_orientation_quirks nvme serio_raw nvme_core 
video
CPU: 7 PID: 321 Comm: (udev-worker) Not tainted 
6.9.7-00002-gde664ea69218 #241
Hardware name: Framework Laptop 13 (AMD Ryzen 7040Series)/FRANMDCP05, 
BIOS 03.05 03/29/2024
RIP: 0010:dsc2_disable+0xec/0x170 [amdgpu]
Code: 4c 24 0c 44 8b 43 10 48 8b 40 10 48 8b 30 48 85 f6 74 04 48 8b 76 
08 48 c7 c1 98 71 49 c1 ba 08 00 00 00 31 ff e8 84 53 7d ff <0f> 0b 48 
8b 53 20 48 8b 43 28 45 31 c9 48 8b 7b 08 0f b6 8a b4 00
RSP: 0018:ffffb96f80a46e80 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff95a144c19000 RCX: ffffffffc1497198
RDX: 0000000000000008 RSI: ffff95a141d8b0c8 RDI: 0000000000000000
RBP: ffff95a1552002d8 R08: 0000000000000000 R09: 0000000000000000
R10: 000000000000014b R11: 0000000000000000 R12: ffff95a14f41d680
R13: 0000000000000001 R14: ffff95a151338000 R15: ffff95a151338000
FS:  00007f3e17557880(0000) GS:ffff95a4ae780000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ab019b1288 CR3: 000000010bb2c000 CR4: 0000000000f50ef0
PKRU: 55555554
Call Trace:
  <TASK>
  ? dsc2_disable+0xec/0x170 [amdgpu]
  ? __warn.cold+0x8e/0xe8
  ? dsc2_disable+0xec/0x170 [amdgpu]
  ? report_bug+0xef/0x1d0
  ? handle_bug+0x3c/0x80
  ? exc_invalid_op+0x13/0x60
  ? asm_exc_invalid_op+0x16/0x20
  ? dsc2_disable+0xec/0x170 [amdgpu]
  link_set_dsc_on_stream+0x3f2/0x470 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? dm_helpers_dp_write_dsc_enable+0x286/0x720 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? disable_link+0x1e1/0x210 [amdgpu]
  link_set_dsc_enable+0x7f/0x90 [amdgpu]
  link_set_dpms_off+0x1ad/0x990 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? dmub_srv_get_fw_boot_status+0x43/0x60 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? dm_read_reg_func+0x57/0xc0 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  dc_commit_state_no_check+0x878/0x1990 [amdgpu]
  dc_commit_streams+0x29d/0x580 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  amdgpu_dm_atomic_commit_tail+0x686/0x44c0 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? dcn314_validate_bandwidth+0x181/0x3f0 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? dma_resv_get_fences+0xb7/0x310
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? amdgpu_dm_plane_helper_prepare_fb+0x1a0/0x2b0 [amdgpu]
  commit_tail+0xbf/0x170 [drm_kms_helper]
  drm_atomic_helper_commit+0x116/0x140 [drm_kms_helper]
  drm_atomic_commit+0x99/0xd0 [drm]
  ? __pfx___drm_printfn_info+0x10/0x10 [drm]
  drm_client_modeset_commit_atomic+0x1e2/0x220 [drm]
  drm_client_modeset_commit_locked+0x56/0x160 [drm]
  ? srso_alias_return_thunk+0x5/0xfbef5
  drm_client_modeset_commit+0x21/0x40 [drm]
  __drm_fb_helper_restore_fbdev_mode_unlocked+0xae/0xf0 [drm_kms_helper]
  drm_fb_helper_set_par+0x2c/0x40 [drm_kms_helper]
  fbcon_init+0x2d6/0x670
  visual_init+0xea/0x180
  do_bind_con_driver.isra.0+0x241/0x390
  ? fbcon_startup+0x1fe/0x2e0
  do_take_over_console+0x177/0x1f0
  ? kmalloc_trace+0x246/0x2f0
  do_fbcon_takeover+0x72/0x130
  fbcon_fb_registered+0x33/0x80
  register_framebuffer+0x192/0x2b0
  __drm_fb_helper_initial_config_and_unlock+0x389/0x450 [drm_kms_helper]
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? amdgpu_driver_open_kms+0xcd/0x260 [amdgpu]
  drm_fbdev_generic_client_hotplug+0x67/0xa0 [drm_kms_helper]
  ? srso_alias_return_thunk+0x5/0xfbef5
  drm_client_register+0x72/0xb0 [drm]
  amdgpu_pci_probe+0x441/0x4c0 [amdgpu]
  ? srso_alias_return_thunk+0x5/0xfbef5
  local_pci_probe+0x3e/0x80
  pci_device_probe+0xbd/0x2a0
  really_probe+0xeb/0x350
  ? pm_runtime_barrier+0x50/0x90
  __driver_probe_device+0x87/0x130
  driver_probe_device+0x1f/0xc0
  __driver_attach+0xcb/0x1f0
  ? __pfx___driver_attach+0x10/0x10
  bus_for_each_dev+0x77/0xd0
  bus_add_driver+0x10e/0x200
  driver_register+0x6e/0xc0
  ? __pfx_amdgpu_init+0x10/0x10 [amdgpu]
  do_one_initcall+0x3f/0x2f0
  ? do_init_module+0x22/0x230
  do_init_module+0x60/0x230
  init_module_from_file+0x86/0xc0
  idempotent_init_module+0x10b/0x2a0
  __x64_sys_finit_module+0x5a/0xb0
  do_syscall_64+0x80/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? vfs_fstatat+0x90/0xb0
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? __do_sys_newfstatat+0x25/0x60
  ? do_syscall_64+0x8d/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? vfs_read+0x1f9/0x330
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? syscall_exit_to_user_mode+0x71/0x210
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? do_syscall_64+0x8d/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? syscall_exit_to_user_mode+0x71/0x210
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? do_syscall_64+0x8d/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? do_sys_openat2+0x82/0xc0
  ? do_syscall_64+0x8d/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? syscall_exit_to_user_mode+0x71/0x210
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? do_syscall_64+0x8d/0x180
  ? srso_alias_return_thunk+0x5/0xfbef5
  entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f3e17db6f9d
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 
f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d 5b 6d 0c 00 f7 d8 64 89 01 48
RSP: 002b:00007ffd4f93b6c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 000055ab019a43d0 RCX: 00007f3e17db6f9d
RDX: 0000000000000000 RSI: 000055ab019a85b0 RDI: 0000000000000021
RBP: 000055ab019a85b0 R08: 0000000000000040 R09: 000055ab0199158f
R10: fffffffffffffec0 R11: 0000000000000246 R12: 0000000000020000
R13: 000055ab019a6300 R14: 000055ab019aae70 R15: 000055ab019aaa90
  </TASK>
---[ end trace 0000000000000000 ]---


More information about the amd-gfx mailing list