Message ID | 20240425200700.24403-1-ian.forbes@broadcom.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vmwgfx: Fix Legacy Display Unit | expand |
On Thu, Apr 25, 2024 at 4:07 PM Ian Forbes <ian.forbes@broadcom.com> wrote: > > Legacy DU was broken by the referenced fixes commit because the placement > and the busy_placement no longer pointed to the same object. This was later > fixed indirectly by commit a78a8da51b36c7a0c0c16233f91d60aac03a5a49 > ("drm/ttm: replace busy placement with flags v6") in v6.9. > > Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection") > Signed-off-by: Ian Forbes <ian.forbes@broadcom.com> > Cc: <stable@vger.kernel.org> # v6.4+ > --- > drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > index 2bfac3aad7b7..98e73eb0ccf1 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > @@ -204,6 +204,7 @@ int vmw_bo_pin_in_start_of_vram(struct vmw_private *dev_priv, > VMW_BO_DOMAIN_VRAM, > VMW_BO_DOMAIN_VRAM); > buf->places[0].lpfn = PFN_UP(bo->resource->size); > + buf->busy_places[0].lpfn = PFN_UP(bo->resource->size); > ret = ttm_bo_validate(bo, &buf->placement, &ctx); > > /* For some reason we didn't end up at the start of vram */ Looks great. I'll push it through drm-misc-fixes. Reviewed-by: Zack Rusin <zack.rusin@broadcom.com> z
Good catch! Reviewed-by: Martin Krastev <martin.krastev@broadcom.com> Regards, Martin On Thu, Apr 25, 2024 at 11:07 PM Ian Forbes <ian.forbes@broadcom.com> wrote: > > Legacy DU was broken by the referenced fixes commit because the placement > and the busy_placement no longer pointed to the same object. This was later > fixed indirectly by commit a78a8da51b36c7a0c0c16233f91d60aac03a5a49 > ("drm/ttm: replace busy placement with flags v6") in v6.9. > > Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection") > Signed-off-by: Ian Forbes <ian.forbes@broadcom.com> > Cc: <stable@vger.kernel.org> # v6.4+ > --- > drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > index 2bfac3aad7b7..98e73eb0ccf1 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > @@ -204,6 +204,7 @@ int vmw_bo_pin_in_start_of_vram(struct vmw_private *dev_priv, > VMW_BO_DOMAIN_VRAM, > VMW_BO_DOMAIN_VRAM); > buf->places[0].lpfn = PFN_UP(bo->resource->size); > + buf->busy_places[0].lpfn = PFN_UP(bo->resource->size); > ret = ttm_bo_validate(bo, &buf->placement, &ctx); > > /* For some reason we didn't end up at the start of vram */ > -- > 2.34.1 >
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c index 2bfac3aad7b7..98e73eb0ccf1 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c @@ -204,6 +204,7 @@ int vmw_bo_pin_in_start_of_vram(struct vmw_private *dev_priv, VMW_BO_DOMAIN_VRAM, VMW_BO_DOMAIN_VRAM); buf->places[0].lpfn = PFN_UP(bo->resource->size); + buf->busy_places[0].lpfn = PFN_UP(bo->resource->size); ret = ttm_bo_validate(bo, &buf->placement, &ctx); /* For some reason we didn't end up at the start of vram */
Legacy DU was broken by the referenced fixes commit because the placement and the busy_placement no longer pointed to the same object. This was later fixed indirectly by commit a78a8da51b36c7a0c0c16233f91d60aac03a5a49 ("drm/ttm: replace busy placement with flags v6") in v6.9. Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection") Signed-off-by: Ian Forbes <ian.forbes@broadcom.com> Cc: <stable@vger.kernel.org> # v6.4+ --- drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 1 + 1 file changed, 1 insertion(+)