drm/amd/display: Turn global functions into static functionsTurn previously global functions into static functions to avoid-Wmissing-prototype warnings, such as:drivers/gpu/drm/amd/amdgpu/../dis
drm/amd/display: Turn global functions into static functionsTurn previously global functions into static functions to avoid-Wmissing-prototype warnings, such as:drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn30/irq_service_dcn30.c:50:20:warning: no previous prototype for function 'to_dal_irq_source_dcn30'[-Wmissing-prototypes]enum dc_irq_source to_dal_irq_source_dcn30( ^drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn30/irq_service_dcn30.c:50:1:note: declare 'static' if the function is not intended to be used outsideof this translation unitenum dc_irq_source to_dal_irq_source_dcn30(^static1 warning generated.drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c:488:6:warning: no previous prototype for function'dcn316_clk_mgr_helper_populate_bw_params' [-Wmissing-prototypes]void dcn316_clk_mgr_helper_populate_bw_params( ^drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c:488:1:note: declare 'static' if the function is not intended to be used outsideof this translation unitvoid dcn316_clk_mgr_helper_populate_bw_params(^static1 warning generated.v2: drop is_timing_changed hunk (Alex)Signed-off-by: Maíra Canal <maira.canal@usp.br>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
show more ...
drm/amd/display: Revert W/A for hard hangs on DCN20/DCN21The WA from commit 2a50edbf10c8 ("drm/amd/display: Apply w/a for hard hangon HPD") and commit 1bd3bc745e7f ("drm/amd/display: Extend w/a fo
drm/amd/display: Revert W/A for hard hangs on DCN20/DCN21The WA from commit 2a50edbf10c8 ("drm/amd/display: Apply w/a for hard hangon HPD") and commit 1bd3bc745e7f ("drm/amd/display: Extend w/a for hardhang on HPD to dcn20") causes a regression in s0ix where the system willfail to resume properly on many laptops. Pull the workarounds out toavoid that s0ix regression in the common case. This HPD hang happens withan external device in special circumstances and a new W/A will need to bedeveloped for this in the future.Cc: stable@vger.kernel.orgCc: Qingqing Zhuo <qingqing.zhuo@amd.com>Reported-by: Scott Bruce <smbruce@gmail.com>Reported-by: Chris Hixon <linux-kernel-bugs@hixontech.com>Reported-by: spasswolf@web.deLink: https://bugzilla.kernel.org/show_bug.cgi?id=215436Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1821Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1852Fixes: 2a50edbf10c8 ("drm/amd/display: Apply w/a for hard hang on HPD")Fixes: 1bd3bc745e7f ("drm/amd/display: Extend w/a for hard hang on HPD to dcn20")Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Replace referral of dal with dc[Why]DC should be used in place of DAL inupstream.[How]Replace dal with dc in function names.Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@a
drm/amd/display: Replace referral of dal with dc[Why]DC should be used in place of DAL inupstream.[How]Replace dal with dc in function names.Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>Acked-by: Anson Jacob <Anson.Jacob@amd.com>Signed-off-by: Qingqing Zhuo <Qingqing.Zhuo@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Extend w/a for hard hang on HPD to dcn20[Why]HPD disable and enable sequences are not mutually exclusive on Linux.For HPDs that spans under 1s (i.e. HPD low = 1s), part of the di
drm/amd/display: Extend w/a for hard hang on HPD to dcn20[Why]HPD disable and enable sequences are not mutually exclusive on Linux.For HPDs that spans under 1s (i.e. HPD low = 1s), part of the disablesequence (specifically, a request to SMU to lower refclk) could comeright before the call to PHY enablement, causing DMUB to access anirresponsive PHY and thus a hard hang on the system.[How]Disable 48mhz refclk off when there is any HPD status in connected statefor dcn20.Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Support vertical interrupt 0 for all dcn ASIC[Why]When CONFIG_DRM_AMD_SECURE_DISPLAY is enabled, it will tryto register vertical interrupt 0 for specific task.Currently, only d
drm/amd/display: Support vertical interrupt 0 for all dcn ASIC[Why]When CONFIG_DRM_AMD_SECURE_DISPLAY is enabled, it will tryto register vertical interrupt 0 for specific task.Currently, only dcn10 have defined relevant info for vertical interrupt0. If we enable CONFIG_DRM_AMD_SECURE_DISPLAY for other dcn ASIC, willget DC_IRQ_SOURCE_INVALID while calling dc_interrupt_to_irq_source() andcause pointer errors.[How]Add support of vertical interrupt 0 for all dcn ASIC.v2: squash in build fix (Alex)Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>Acked-by: Solomon Chiu <solomon.chiu@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Add missing pflip irq for dcn2.0If we have more than 4 displays we will runinto dummy irq calls or flip timout issues.Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.c
drm/amd/display: Add missing pflip irq for dcn2.0If we have more than 4 displays we will runinto dummy irq calls or flip timout issues.Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>Cc: stable@vger.kernel.org
drm/amd/display: cleanup of construct and destruct funcs[Why]Too many construct functions which makes searchingdifficult, especially on some debuggers.[How]Append all construct and destruct fu
drm/amd/display: cleanup of construct and destruct funcs[Why]Too many construct functions which makes searchingdifficult, especially on some debuggers.[How]Append all construct and destruct functions with dcnnumber and object type to make each construct functionname uniqueSigned-off-by: Anthony Koo <Anthony.Koo@amd.com>Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Register VUPDATE_NO_LOCK interrupts for DCN2[Why]These are needed to send back DRM vblank events in the case where VRRis on. Without the interrupt enabled we're deferring the eve
drm/amd/display: Register VUPDATE_NO_LOCK interrupts for DCN2[Why]These are needed to send back DRM vblank events in the case where VRRis on. Without the interrupt enabled we're deferring the events into thevblank queue and userspace is left waiting forever to get back theevents they need.Found using igt@kms_vrr - the test fails immediately due to vblanktimeout.[How]Register them the same way we're handling it for DCN1.This fixes igt@kms_vrr for DCN2.Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>Reviewed-by: David Francis <David.Francis@amd.com>Acked-by: Leo Li <sunpeng.li@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Merge branch 'drm-next' into drm-next-5.3Backmerge drm-next and fix up conflicts due to drmP.h removal.Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Add vupdate interrupt sources to NV10[WHY] linux upstream already has interrupt vupdate for freesyncin dcn10. dcn20 interrupt shares the same source code as dcn10.but dcn20 inter
drm/amd/display: Add vupdate interrupt sources to NV10[WHY] linux upstream already has interrupt vupdate for freesyncin dcn10. dcn20 interrupt shares the same source code as dcn10.but dcn20 interrupt translator does not add vupdate interrupt.this cause index of vupdate aarray be negative which causescrash.[HOW] add vupdate into dc interrupt transltorSigned-off-by: hersen wu <hersenxs.wu@amd.com>Reviewed-by: Leo Li <sunpeng.li@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Add DCN2 IRQ handlingAdd support to program DCN2 IRQ handlingSigned-off-by: Harry Wentland <harry.wentland@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>