Re: [PATCH 5/9] drm/msm/dpu: check for the plane pitch overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 19, 2024 at 05:16:30PM -0700, Abhinav Kumar wrote:
> 
> 
> 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?

Yes. And also from DPU_MAX_IMG_WIDTH / MAX_IMG_WIDTH.

> 
> 	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>

-- 
With best wishes
Dmitry




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux