On Mon, Apr 8, 2024 at 5:28 AM Zack Rusin <zack.rusin@xxxxxxxxxxxx> wrote: > > Enable DMA mappings in vmwgfx after TTM has been fixed in commit > 3bf3710e3718 ("drm/ttm: Add a generic TTM memcpy move for page-based iomem") > > This enables full guest-backed memory support and in particular allows > usage of screen targets as the presentation mechanism. > > Signed-off-by: Zack Rusin <zack.rusin@xxxxxxxxxxxx> > Reported-by: Ye Li <ye.li@xxxxxxxxxxxx> > Tested-by: Ye Li <ye.li@xxxxxxxxxxxx> > Fixes: 3b0d6458c705 ("drm/vmwgfx: Refuse DMA operation when SEV encryption is active") > Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: <stable@xxxxxxxxxxxxxxx> # v6.6+ > --- > drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c > index 41ad13e45554..bdad93864b98 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c > @@ -667,11 +667,12 @@ static int vmw_dma_select_mode(struct vmw_private *dev_priv) > [vmw_dma_map_populate] = "Caching DMA mappings.", > [vmw_dma_map_bind] = "Giving up DMA mappings early."}; > > - /* TTM currently doesn't fully support SEV encryption. */ > - if (cc_platform_has(CC_ATTR_MEM_ENCRYPT)) > - return -EINVAL; > - > - if (vmw_force_coherent) > + /* > + * When running with SEV we always want dma mappings, because > + * otherwise ttm tt pool pages will bounce through swiotlb running > + * out of available space. > + */ > + if (vmw_force_coherent || cc_platform_has(CC_ATTR_MEM_ENCRYPT)) > dev_priv->map_mode = vmw_dma_alloc_coherent; > else if (vmw_restrict_iommu) > dev_priv->map_mode = vmw_dma_map_bind; > -- > 2.40.1 LGTM! Reviewed-by: Martin Krastev <martin.krastev@xxxxxxxxxxxx> Regards, Martin