mirror_ubuntu-kernels/drivers/gpu/drm/amd/display/dc
Michel Dänzer 8e1b45c578 Revert "drm/amd/display: Do not set drr on pipe commit"
This reverts commit 474f01015f.

Caused a regression:

Samsung Odyssey Neo G9, running at 5120x1440@240/VRR, connected to Navi
21 via DisplayPort, blanks and the GPU hangs while starting the Steam
game Assetto Corsa Competizione (via Proton 7.0).

Example dmesg excerpt:

 amdgpu 0000:0c:00.0: [drm] ERROR [CRTC:82:crtc-0] flip_done timed out
 NMI watchdog: Watchdog detected hard LOCKUP on cpu 6
 [...]
 RIP: 0010:amdgpu_device_rreg.part.0+0x2f/0xf0 [amdgpu]
 Code: 41 54 44 8d 24 b5 00 00 00 00 55 89 f5 53 48 89 fb 4c 3b a7 60 0b 00 00 73 6a 83 e2 02 74 29 4c 03 a3 68 0b 00 00 45 8b 24 24 <48> 8b 43 08 0f b7 70 3e 66 90 44 89 e0 5b 5d 41 5c 31 d2 31 c9 31
 RSP: 0000:ffffb39a119dfb88 EFLAGS: 00000086
 RAX: ffffffffc0eb96a0 RBX: ffff9e7963dc0000 RCX: 0000000000007fff
 RDX: 0000000000000000 RSI: 0000000000004ff6 RDI: ffff9e7963dc0000
 RBP: 0000000000004ff6 R08: ffffb39a119dfc40 R09: 0000000000000010
 R10: ffffb39a119dfc40 R11: ffffb39a119dfc44 R12: 00000000000e05ae
 R13: 0000000000000000 R14: ffff9e7963dc0010 R15: 0000000000000000
 FS:  000000001012f6c0(0000) GS:ffff9e805eb80000(0000) knlGS:000000007fd40000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00000000461ca000 CR3: 00000002a8a20000 CR4: 0000000000350ee0
 Call Trace:
  <TASK>
  dm_read_reg_func+0x37/0xc0 [amdgpu]
  generic_reg_get2+0x22/0x60 [amdgpu]
  optc1_get_crtc_scanoutpos+0x6a/0xc0 [amdgpu]
  dc_stream_get_scanoutpos+0x74/0x90 [amdgpu]
  dm_crtc_get_scanoutpos+0x82/0xf0 [amdgpu]
  amdgpu_display_get_crtc_scanoutpos+0x91/0x190 [amdgpu]
  ? dm_read_reg_func+0x37/0xc0 [amdgpu]
  amdgpu_get_vblank_counter_kms+0xb4/0x1a0 [amdgpu]
  dm_pflip_high_irq+0x213/0x2f0 [amdgpu]
  amdgpu_dm_irq_handler+0x8a/0x200 [amdgpu]
  amdgpu_irq_dispatch+0xd4/0x220 [amdgpu]
  amdgpu_ih_process+0x7f/0x110 [amdgpu]
  amdgpu_irq_handler+0x1f/0x70 [amdgpu]
  __handle_irq_event_percpu+0x46/0x1b0
  handle_irq_event+0x34/0x80
  handle_edge_irq+0x9f/0x240
  __common_interrupt+0x66/0x110
  common_interrupt+0x5c/0xd0
  asm_common_interrupt+0x22/0x40

Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-05-31 17:28:47 -04:00
..
basics drm/amd/display: Include scaling factor for SubVP command 2022-08-16 18:14:20 -04:00
bios drm/amd: Fix an out of bounds error in BIOS parser 2023-04-11 18:03:43 -04:00
clk_mgr drm/amd/display: Fixes for dcn32_clk_mgr implementation 2023-04-26 22:37:48 -04:00
core drm/amd/display: Fix hang when skipping modeset 2023-04-26 22:28:12 -04:00
dce drm/amd/display: Add 90Mhz to video_optimized_pixel_rates 2023-03-31 11:18:54 -04:00
dce60 drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings 2023-03-22 00:48:00 -04:00
dce80 drm/amd/display: prevent memory leak 2022-10-27 15:12:08 -04:00
dce100 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce110 drm/amd/display: Improvement for handling edp link training fails 2023-04-26 22:35:02 -04:00
dce112 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce120 drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN 2022-11-23 09:47:13 -05:00
dcn10 drm/amd/display: set variables aperture_default_system and context0_default_system storage-class-specifier to static 2023-04-11 18:03:44 -04:00
dcn20 Revert "drm/amd/display: Do not set drr on pipe commit" 2023-05-31 17:28:47 -04:00
dcn21 drm/amd/display: convert link.h functions to function pointer style 2023-03-14 15:35:03 -04:00
dcn30 Revert "drm/amd/display: Do not set drr on pipe commit" 2023-05-31 17:28:47 -04:00
dcn31 drm/amd/display: copy dmub caps to dc on dcn31 2023-04-26 22:27:43 -04:00
dcn32 drm/amd/display: filter out invalid bits in pipe_fuses 2023-05-03 23:10:02 -04:00
dcn201 drm/amd/display: remove legacy fields of dc_plane_cap struct 2023-03-08 14:05:31 -05:00
dcn301 drm/amd/display: Set MPC_SPLIT_DYNAMIC for DCN301 2023-03-22 01:00:19 -04:00
dcn302 drm/amd/display: convert link.h functions to function pointer style 2023-03-14 15:35:03 -04:00
dcn303 drm/amd/display: convert link.h functions to function pointer style 2023-03-14 15:35:03 -04:00
dcn314 drm/amd/display: Add symclk workaround during disable link output 2023-05-11 01:08:00 -04:00
dcn315 drm/amd/display: remove legacy fields of dc_plane_cap struct 2023-03-08 14:05:31 -05:00
dcn316 drm/amd/display: remove legacy fields of dc_plane_cap struct 2023-03-08 14:05:31 -05:00
dcn321 drm/amd/display: filter out invalid bits in pipe_fuses 2023-05-03 23:10:02 -04:00
dml drm/amd/display: Enforce 60us prefetch for 200Mhz DCFCLK modes 2023-05-11 01:08:25 -04:00
dsc drm/amd/display: convert link.h functions to function pointer style 2023-03-14 15:35:03 -04:00
gpio drm/amd/display: fix mapping to non-allocated address 2023-01-17 15:40:44 -05:00
hdcp drm/amd/display: Drop CONFIG_DRM_AMD_DC_HDCP 2023-03-07 14:22:39 -05:00
inc drm/amd/display: On clock init, maintain DISPCLK freq 2023-04-11 18:03:35 -04:00
irq drm/amd/display: Turn global functions into static 2023-02-15 22:24:30 -05:00
link drm/amd/display: enable dpia validate 2023-05-18 09:58:35 -04:00
virtual drm/amd/display: make virtual_disable_link_output static 2022-10-11 11:32:59 -04:00
dc_bios_types.h drm/amd/display: Skip backlight control delay on external powered links 2023-01-17 15:40:28 -05:00
dc_ddc_types.h drm/amd/display: move public dc link function implementation to dc_link_exports 2023-02-14 16:06:28 -05:00
dc_dmub_srv.c drm/amd/display: Add FPO + VActive support 2023-04-11 18:03:35 -04:00
dc_dmub_srv.h drm/amd/display: Use the same cursor info across features 2022-10-10 17:32:55 -04:00
dc_dp_types.h drm/amd/display: Add support for 6.75 GBps link rate 2023-03-31 11:18:54 -04:00
dc_dsc.h drm/amd/display: fix typo in dc_dsc_config_options structure 2023-03-07 14:22:39 -05:00
dc_edid_parser.c
dc_edid_parser.h
dc_hdmi_types.h drm/amd/display/dc/dc_hdmi_types: Move string definition to the only file it's used in 2023-03-22 00:47:59 -04:00
dc_helper.c
dc_hw_types.h drm/amd/display: Rename DCN config to FP 2023-03-07 14:22:40 -05:00
dc_stat.h
dc_stream.h drm/amd/display: Reduce SubVP + DRR stretch margin 2023-04-26 22:28:51 -04:00
dc_trace.h drm/amd/display: Add events log to trace OPTC lock and unlock 2022-10-24 14:36:06 -04:00
dc_types.h drm/amd/display: hpd rx irq not working with eDP interface 2023-03-15 18:45:13 -04:00
dc.h drm/amd/display: Apply correct panel mode when reinitializing hardware 2023-04-26 22:34:29 -04:00
dm_cp_psp.h
dm_event_log.h
dm_helpers.h drm/amd/display: Enable Freesync over PCon 2023-01-31 14:00:44 -05:00
dm_pp_smu.h
dm_services_types.h
dm_services.h
irq_types.h
Makefile drm/amd/display: Rename DCN config to FP 2023-03-07 14:22:40 -05:00
os_types.h drm/amd/display: Rename DCN config to FP 2023-03-07 14:22:40 -05:00