On 3/19/2024 6:22 AM, Dmitry Baryshkov wrote:
Check that the plane pitch doesn't overflow the maximum pitch size
allowed by the hardware.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 2 ++
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
index b7dc52312c39..86b1defa5d21 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
@@ -12,6 +12,8 @@
struct dpu_hw_sspp;
+#define DPU_SSPP_MAX_PITCH_SIZE 0xffff
+
You obtained this value from below code right?
if (pipe->multirect_index == DPU_SSPP_RECT_0) {
487 ystride0 = (ystride0 & 0xFFFF0000) |
488 (layout->plane_pitch[0] & 0x0000FFFF);
489 ystride1 = (ystride1 & 0xFFFF0000)|
490 (layout->plane_pitch[2] & 0x0000FFFF);
491 } else {
492 ystride0 = (ystride0 & 0x0000FFFF) |
493 ((layout->plane_pitch[0] << 16) &
494 0xFFFF0000);
495 ystride1 = (ystride1 & 0x0000FFFF) |
496 ((layout->plane_pitch[2] << 16) &
497 0xFFFF0000);
498 }
Seems correct, but was just curious
Reviewed-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>