Re: [PATCH v5.10] drm/amd/display: Wake DMCUB before executing GPINT commands

From: Greg KH
Date: Tue Apr 16 2024 - 00:49:06 EST


On Tue, Apr 16, 2024 at 02:43:47AM +0000, Zhu Wang wrote:
> From: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx>
>
> stable inclusion
> from stable-v6.7.3
> commit 2ef98c6d753a7 ("drm/amd/display: Wake DMCUB before executing GPINT commands")
> category: bugfix
> bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9BV4C
> CVE: CVE-2023-52624
>
> Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2ef98c6d753a744e333b7e34b9cf687040fba57d
>
> --------------------------------
>
> [ Upstream commit e5ffd1263dd5b ("drm/amd/display: Wake DMCUB before executing GPINT commands") ]
>
> [Why]
> DMCUB can be in idle when we attempt to interface with the HW through
> the GPINT mailbox resulting in a system hang.
>
> [How]
> Add dc_wake_and_execute_gpint() to wrap the wake, execute, sleep
> sequence.
>
> If the GPINT executes successfully then DMCUB will be put back into
> sleep after the optional response is returned.
>
> It functions similar to the inbox command interface.
>
> Cc: Mario Limonciello <mario.limonciello@xxxxxxx>
> Cc: Alex Deucher <alexander.deucher@xxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Reviewed-by: Hansen Dsouza <hansen.dsouza@xxxxxxx>
> Acked-by: Wayne Lin <wayne.lin@xxxxxxx>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx>
> Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
>
> This patch comes from following commits:
>
> 115c7e7f0501 ("drm/amd/display: Add psr get_state call")
> 1d496907f1c5 ("drm/amd/display: Engage PSR synchronously")
> 34ba432c946d ("drm/amd/display: [FW Promotion] Release 0.0.44")
> 672251b223c1 ("drm/amd/display: [FW Promotion] Release 0.0.40")
> 04f3c88f0955 ("drm/amd/display: Retry getting PSR state if command times out")
> b30eda8d416c ("drm/amd/display: Add ETW log to dmub_psr_get_state")
> f59a66c1915e ("drm/amd/display: use do-while-0 for DC_TRACE_LEVEL_MESSAGE()")
> e97cc04fe0fb ("drm/amd/display: refactor dmub commands into single function")
> 522b9a5d5852 ("drm/amd/display: drain dmub inbox if queue is full")
> 9dce8c2a5f1b ("drm/amd/display: [FW Promotion] Release 0.0.161.0")
> 276641775848 ("drm/amd/display: [FW Promotion] Release 0.0.162.0")
> 8774029f76b9 ("drm/amd/display: Add DCN35 CLK_MGR")
> 65138eb72e1f ("drm/amd/display: Add DCN35 DMUB")
> dc01c4b79bfe ("drm/amd/display: Update driver and IPS interop")
> 5b7954272ae9 ("drm/amd/display: [FW Promotion] Release 0.0.183.0")
> da2d16fcdda3 ("drm/amd/display: Fix IPS handshake for idle optimizations")
> 5e8a0d3598b4 ("drm/amd/display: Negate IPS allow and commit bits")
> 820c3870c491 ("drm/amd/display: Refactor DMCUB enter/exit idle interface")
> 2ef98c6d753a ("drm/amd/display: Wake DMCUB before executing GPINT commands")
>
> Signed-off-by: Zhu Wang <wangzhu9@xxxxxxxxxx>

I'm confused, what are we supposed to do with this?

greg k-h