From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Samson Tam <samson.tam@amd.com>, Alvin Lee <alvin.lee2@amd.com>,
Roman Li <roman.li@amd.com>,
Daniel Wheeler <daniel.wheeler@amd.com>,
Alex Deucher <alexander.deucher@amd.com>,
Sasha Levin <sashal@kernel.org>,
harry.wentland@amd.com, sunpeng.li@amd.com,
Rodrigo.Siqueira@amd.com, christian.koenig@amd.com,
Xinhui.Pan@amd.com, airlied@gmail.com, daniel@ffwll.ch,
Alvin.Lee2@amd.com, qingqing.zhuo@amd.com, jun.lei@amd.com,
wenjing.liu@amd.com, syedsaaem.rizvi@amd.com,
Dillon.Varone@amd.com, moadhuri@amd.com,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 6.5 31/37] drm/amd/display: fix num_ways overflow error
Date: Tue, 7 Nov 2023 07:21:42 -0500 [thread overview]
Message-ID: <20231107122407.3760584-31-sashal@kernel.org> (raw)
In-Reply-To: <20231107122407.3760584-1-sashal@kernel.org>
From: Samson Tam <samson.tam@amd.com>
[ Upstream commit 79f3f1b66753b3a3a269d73676bf50987921f267 ]
[Why]
Helper function calculates num_ways using 32-bit. But is
returned as 8-bit. If num_ways exceeds 8-bit, then it
reports back the incorrect num_ways and erroneously
uses MALL when it should not
[How]
Make returned value 32-bit and convert after it checks
against caps.cache_num_ways, which is under 8-bit
Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Acked-by: Roman Li <roman.li@amd.com>
Signed-off-by: Samson Tam <samson.tam@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>
---
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
index 5b3d0e5b90a3e..ccbcfd6bd6b85 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
@@ -216,7 +216,7 @@ static bool dcn32_check_no_memory_request_for_cab(struct dc *dc)
static uint32_t dcn32_calculate_cab_allocation(struct dc *dc, struct dc_state *ctx)
{
int i;
- uint8_t num_ways = 0;
+ uint32_t num_ways = 0;
uint32_t mall_ss_size_bytes = 0;
mall_ss_size_bytes = ctx->bw_ctx.bw.dcn.mall_ss_size_bytes;
@@ -246,7 +246,8 @@ static uint32_t dcn32_calculate_cab_allocation(struct dc *dc, struct dc_state *c
bool dcn32_apply_idle_power_optimizations(struct dc *dc, bool enable)
{
union dmub_rb_cmd cmd;
- uint8_t ways, i;
+ uint8_t i;
+ uint32_t ways;
int j;
bool mall_ss_unsupported = false;
struct dc_plane_state *plane = NULL;
@@ -306,7 +307,7 @@ bool dcn32_apply_idle_power_optimizations(struct dc *dc, bool enable)
cmd.cab.header.type = DMUB_CMD__CAB_FOR_SS;
cmd.cab.header.sub_type = DMUB_CMD__CAB_DCN_SS_FIT_IN_CAB;
cmd.cab.header.payload_bytes = sizeof(cmd.cab) - sizeof(cmd.cab.header);
- cmd.cab.cab_alloc_ways = ways;
+ cmd.cab.cab_alloc_ways = (uint8_t)ways;
dm_execute_dmub_cmd(dc->ctx, &cmd, DM_DMUB_WAIT_TYPE_NO_WAIT);
--
2.42.0
next prev parent reply other threads:[~2023-11-07 12:38 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-07 12:21 [PATCH AUTOSEL 6.5 01/37] drm/gma500: Fix call trace when psb_gem_mm_init() fails Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 02/37] drm/amdkfd: ratelimited SQ interrupt messages Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 03/37] drm/komeda: drop all currently held locks if deadlock happens Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 04/37] drm/amd/display: Blank phantom OTG before enabling Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 05/37] drm/amd/display: Don't lock phantom pipe on disabling Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 06/37] drm/amd/display: add seamless pipe topology transition check Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 07/37] drm/edid: Fixup h/vsync_end instead of h/vtotal Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 08/37] md: don't rely on 'mddev->pers' to be set in mddev_suspend() Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 09/37] drm/amdgpu: not to save bo in the case of RAS err_event_athub Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 10/37] drm/amdkfd: Fix a race condition of vram buffer unref in svm code Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 11/37] drm/amd: Update `update_pcie_parameters` functions to use uint8_t arguments Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 12/37] drm/amd/display: use full update for clip size increase of large plane source Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 13/37] string.h: add array-wrappers for (v)memdup_user() Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 14/37] kernel: kexec: copy user-array safely Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 15/37] kernel: watch_queue: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 16/37] drm_lease.c: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 17/37] drm: vmwgfx_surface.c: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 18/37] drm/msm/dp: skip validity check for DP CTS EDID checksum Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 19/37] drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 20/37] drm/radeon: Fix UBSAN array-index-out-of-bounds for Radeon HD 5430 Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 21/37] drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 22/37] drm/amdgpu: Fix potential null pointer derefernce Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 23/37] drm/panel: fix a possible null pointer dereference Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 24/37] drm/panel/panel-tpo-tpg110: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 25/37] drm/radeon: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 26/37] drm/amdgpu/vkms: " Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 27/37] drm/panel: st7703: Pick different reset sequence Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 28/37] drm/amdkfd: Fix shift out-of-bounds issue Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 29/37] drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 30/37] drm/amd: Disable PP_PCIE_DPM_MASK when dynamic speed switching not supported Sasha Levin
2023-11-07 12:21 ` Sasha Levin [this message]
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 32/37] drm/amd: check num of link levels when update pcie param Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 33/37] arm64: dts: renesas: r8a779f0: spider: Enable PCIe Host ch0 Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 34/37] arm64: dts: rockchip: add PCIe to rk3588s-indiedroid-nova Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 35/37] arm64: dts: rockchip: add USB2 to rk3588s-indiedroid Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 36/37] arm64: dts: ls208xa: use a pseudo-bus to constrain usb dma size Sasha Levin
2023-11-07 12:21 ` [PATCH AUTOSEL 6.5 37/37] selftests/efivarfs: create-read: fix a resource leak Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231107122407.3760584-31-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=Dillon.Varone@amd.com \
--cc=Rodrigo.Siqueira@amd.com \
--cc=Xinhui.Pan@amd.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=alvin.lee2@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=daniel.wheeler@amd.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=jun.lei@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=moadhuri@amd.com \
--cc=qingqing.zhuo@amd.com \
--cc=roman.li@amd.com \
--cc=samson.tam@amd.com \
--cc=stable@vger.kernel.org \
--cc=sunpeng.li@amd.com \
--cc=syedsaaem.rizvi@amd.com \
--cc=wenjing.liu@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox