diff mbox series

drm/msm: Fix fb plane offset calculation

Message ID 20220510165216.3577068-1-robdclark@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/msm: Fix fb plane offset calculation | expand

Commit Message

Rob Clark May 10, 2022, 4:52 p.m. UTC
From: Rob Clark <robdclark@chromium.org>

The offset got dropped by accident.

Fixes: d413e6f97134 ("drm/msm: Drop msm_gem_iova()")
Signed-off-by: Rob Clark <robdclark@chromium.org>
---
 drivers/gpu/drm/msm/msm_fb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Abhinav Kumar May 10, 2022, 5:39 p.m. UTC | #1
On 5/10/2022 9:52 AM, Rob Clark wrote:
> From: Rob Clark <robdclark@chromium.org>
> 
> The offset got dropped by accident.
> 
> Fixes: d413e6f97134 ("drm/msm: Drop msm_gem_iova()")
> Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> ---
>   drivers/gpu/drm/msm/msm_fb.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
> index 362775ae50af..4269da268a4a 100644
> --- a/drivers/gpu/drm/msm/msm_fb.c
> +++ b/drivers/gpu/drm/msm/msm_fb.c
> @@ -118,7 +118,7 @@ uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb,
>   		struct msm_gem_address_space *aspace, int plane)
>   {
>   	struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
> -	return msm_fb->iova[plane];
> +	return msm_fb->iova[plane] + fb->offsets[plane];
>   }
>   
>   struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane)
Dmitry Baryshkov May 10, 2022, 5:45 p.m. UTC | #2
On Tue, 10 May 2022 at 19:52, Rob Clark <robdclark@gmail.com> wrote:
>
> From: Rob Clark <robdclark@chromium.org>
>
> The offset got dropped by accident.
>
> Fixes: d413e6f97134 ("drm/msm: Drop msm_gem_iova()")
> Signed-off-by: Rob Clark <robdclark@chromium.org>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

> ---
>  drivers/gpu/drm/msm/msm_fb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
> index 362775ae50af..4269da268a4a 100644
> --- a/drivers/gpu/drm/msm/msm_fb.c
> +++ b/drivers/gpu/drm/msm/msm_fb.c
> @@ -118,7 +118,7 @@ uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb,
>                 struct msm_gem_address_space *aspace, int plane)
>  {
>         struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
> -       return msm_fb->iova[plane];
> +       return msm_fb->iova[plane] + fb->offsets[plane];

Nit: can we push fb->offsets handling into msm_framebuffer_prepare()
instead? Then the msm_framebuffer_iova() would become trivial?

>  }
>
>  struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane)
> --
> 2.35.1
>
Rob Clark May 10, 2022, 5:54 p.m. UTC | #3
On Tue, May 10, 2022 at 10:46 AM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Tue, 10 May 2022 at 19:52, Rob Clark <robdclark@gmail.com> wrote:
> >
> > From: Rob Clark <robdclark@chromium.org>
> >
> > The offset got dropped by accident.
> >
> > Fixes: d413e6f97134 ("drm/msm: Drop msm_gem_iova()")
> > Signed-off-by: Rob Clark <robdclark@chromium.org>
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>
> > ---
> >  drivers/gpu/drm/msm/msm_fb.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
> > index 362775ae50af..4269da268a4a 100644
> > --- a/drivers/gpu/drm/msm/msm_fb.c
> > +++ b/drivers/gpu/drm/msm/msm_fb.c
> > @@ -118,7 +118,7 @@ uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb,
> >                 struct msm_gem_address_space *aspace, int plane)
> >  {
> >         struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
> > -       return msm_fb->iova[plane];
> > +       return msm_fb->iova[plane] + fb->offsets[plane];
>
> Nit: can we push fb->offsets handling into msm_framebuffer_prepare()
> instead? Then the msm_framebuffer_iova() would become trivial?

I'd briefly considered it, but ended up putting it here simply because
that is where the offset addition was prior to d413e6f97134.  Whether
that is a good reason or not, idk.  (Prior to d413e6f97134 it needed
to be here, now it doesn't)

BR,
-R

> >  }
> >
> >  struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane)
> > --
> > 2.35.1
> >
>
>
> --
> With best wishes
> Dmitry
Stephen Boyd May 10, 2022, 6:08 p.m. UTC | #4
Quoting Rob Clark (2022-05-10 09:52:16)
> From: Rob Clark <robdclark@chromium.org>
>
> The offset got dropped by accident.
>
> Fixes: d413e6f97134 ("drm/msm: Drop msm_gem_iova()")
> Signed-off-by: Rob Clark <robdclark@chromium.org>
> ---

Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Stephen Boyd <swboyd@chromium.org> # CoachZ
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
index 362775ae50af..4269da268a4a 100644
--- a/drivers/gpu/drm/msm/msm_fb.c
+++ b/drivers/gpu/drm/msm/msm_fb.c
@@ -118,7 +118,7 @@  uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb,
 		struct msm_gem_address_space *aspace, int plane)
 {
 	struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
-	return msm_fb->iova[plane];
+	return msm_fb->iova[plane] + fb->offsets[plane];
 }
 
 struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane)