kernel_samsung_a53x/drivers/gpu/drm/msm/disp/dpu1
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
..
dpu_core_irq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_core_irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_core_perf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_core_perf.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_crtc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_crtc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_encoder.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_encoder.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_encoder_phys.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_encoder_phys_cmd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_encoder_phys_vid.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_formats.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_formats.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_blk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_blk.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_catalog.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_catalog.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_catalog_format.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_ctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_ctl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_dspp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_dspp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_interrupts.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_interrupts.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_intf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_intf.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_lm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_lm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_mdss.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_pingpong.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_pingpong.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_sspp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_sspp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_top.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_top.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_util.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_util.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_vbif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hw_vbif.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_hwio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_io_util.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_io_util.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_kms.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_kms.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_mdss.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_plane.c drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow 2024-11-08 11:25:44 +01:00
dpu_plane.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_rm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_rm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_vbif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dpu_vbif.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msm_media_info.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00