summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAusef Yousof <Ausef.Yousof@amd.com>2024-11-26 15:26:01 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-02-17 10:04:46 +0100
commit0412bca906d598b0a60c0da837dadb036a95db84 (patch)
treec9f360f0415532ec5ffb4a526044177ab3415d1a /kernel
parentd25d5eb35905ade48b2ca657f30ea9b2e5804141 (diff)
downloadlinux-0412bca906d598b0a60c0da837dadb036a95db84.tar.gz
linux-0412bca906d598b0a60c0da837dadb036a95db84.tar.bz2
linux-0412bca906d598b0a60c0da837dadb036a95db84.zip
drm/amd/display: Overwriting dualDPP UBF values before usage
[ Upstream commit 24909d9ec7c3afa8da2f3c9afa312e7a4a61f250 ] [WHY] Right now in dml2 mode validation we are calculating UBF parameters for prefetch calculation for single and dual DPP scenarios. Data structure to store such values are just 1D arrays, the single DPP values are overwritten by the dualDPP values, and we end up using dualDPP for prefetch calculations twice (once in place of singleDPP support check and again for dual). This naturally leads to many problems, one of which validating a mode in "singleDPP" (when we used dual DPP parameters) and sending the singleDPP parameters to mode programming, if we cannot support then we observe the corruption as described in the ticket. [HOW] UBF values need to have 2d arrays to store values specific to single and dual DPP states to avoid single DPP values being overwritten. Other parameters are recorded on a per state basis such as prefetch UBF values but they are in the same loop used for calculation and at that point its fine to overwrite them, its not the case for plain UBF values. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Ausef Yousof <Ausef.Yousof@amd.com> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions