kernel_samsung_a53x/drivers/gpu/drm/msm
Abhinav Kumar ac68659c18 drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow
[ Upstream commit 95e681ca3b65e4ce3d2537b47672d787b7d30375 ]

_dpu_plane_calc_bw() uses integer variables to calculate the bandwidth
used during plane bandwidth calculations. However for high resolution
displays this overflows easily and leads to below errors

[dpu error]crtc83 failed performance check -7

Promote the intermediate variables to u64 to avoid overflow.

changes in v2:
	- change to u64 where actually needed in the math

Fixes: c33b7c0389e1 ("drm/msm/dpu: add support for clk and bw scaling for display")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reported-by: Nia Espera <nespera@igalia.com>
Closes: https://gitlab.freedesktop.org/drm/msm/-/issues/32
Tested-by: Nia Espera <nespera@igalia.com>
Patchwork: https://patchwork.freedesktop.org/patch/556288/
Link: https://lore.kernel.org/r/20230908012616.20654-1-quic_abhinavk@quicinc.com
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-08 11:25:44 +01:00
..
adreno Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
disp drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow 2024-11-08 11:25:44 +01:00
dp drm/msm/dp: do not reinitialize phy unless retry during link training 2024-11-08 11:25:44 +01:00
dsi drm/msm/dsi: skip the wait for video mode done if not applicable 2024-11-08 11:25:44 +01:00
edp Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hdmi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_atomic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_atomic_trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_atomic_tracepoints.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_debugfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_drv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_drv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_fb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_fbdev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_fence.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem_prime.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem_shrinker.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem_submit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gem_vma.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gpu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gpu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gpu_trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gpu_tracepoints.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_gpummu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_iommu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_kms.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_mmu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_perf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_rd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_ringbuffer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_ringbuffer.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_submitqueue.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NOTES Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00