All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active
@ 2022-12-01 17:53 Zack Rusin
  2022-12-01 19:05 ` Martin Krastev (VMware)
  2022-12-01 22:46 ` "Maaz Mombasawala (VMware)
  0 siblings, 2 replies; 3+ messages in thread
From: Zack Rusin @ 2022-12-01 17:53 UTC (permalink / raw)
  To: dri-devel; +Cc: krastevm, Nicholas Hunt, banackm, mombasawalam

From: Zack Rusin <zackr@vmware.com>

When SEV is enabled gmr's and mob's are explicitly disabled because
the encrypted system memory can not be used by the hypervisor.

The driver was disabling GMR's but the presentation code, which depends
on GMR's, wasn't honoring it which lead to black screen on hosts
with SEV enabled.

Make sure screen objects presentation is not used when guest memory
regions have been disabled to fix presentation on SEV enabled hosts.

Fixes: 3b0d6458c705 ("drm/vmwgfx: Refuse DMA operation when SEV encryption is active")
Cc: <stable@vger.kernel.org> # v5.7+
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reported-by: Nicholas Hunt <nhunt@vmware.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
index 8db61c541a80..e1f36a09c59c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
@@ -926,6 +926,10 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
 	struct drm_device *dev = &dev_priv->drm;
 	int i;
 
+	/* Screen objects won't work if GMR's aren't available */
+	if (!dev_priv->has_gmr)
+		return -ENOSYS;
+
 	if (!(dev_priv->capabilities & SVGA_CAP_SCREEN_OBJECT_2)) {
 		return -ENOSYS;
 	}
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active
  2022-12-01 17:53 [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active Zack Rusin
@ 2022-12-01 19:05 ` Martin Krastev (VMware)
  2022-12-01 22:46 ` "Maaz Mombasawala (VMware)
  1 sibling, 0 replies; 3+ messages in thread
From: Martin Krastev (VMware) @ 2022-12-01 19:05 UTC (permalink / raw)
  To: Zack Rusin, dri-devel; +Cc: krastevm, mombasawalam, banackm, Nicholas Hunt

From: Martin Krastev <krastevm@vmware.com>


LGTM!


Reviewed-by: Martin Krastev <krastevm@vmware.com>


Regards,

Martin


On 1.12.22 г. 19:53 ч., Zack Rusin wrote:
> From: Zack Rusin <zackr@vmware.com>
>
> When SEV is enabled gmr's and mob's are explicitly disabled because
> the encrypted system memory can not be used by the hypervisor.
>
> The driver was disabling GMR's but the presentation code, which depends
> on GMR's, wasn't honoring it which lead to black screen on hosts
> with SEV enabled.
>
> Make sure screen objects presentation is not used when guest memory
> regions have been disabled to fix presentation on SEV enabled hosts.
>
> Fixes: 3b0d6458c705 ("drm/vmwgfx: Refuse DMA operation when SEV encryption is active")
> Cc: <stable@vger.kernel.org> # v5.7+
> Signed-off-by: Zack Rusin <zackr@vmware.com>
> Reported-by: Nicholas Hunt <nhunt@vmware.com>
> ---
>   drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> index 8db61c541a80..e1f36a09c59c 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> @@ -926,6 +926,10 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
>   	struct drm_device *dev = &dev_priv->drm;
>   	int i;
>   
> +	/* Screen objects won't work if GMR's aren't available */
> +	if (!dev_priv->has_gmr)
> +		return -ENOSYS;
> +
>   	if (!(dev_priv->capabilities & SVGA_CAP_SCREEN_OBJECT_2)) {
>   		return -ENOSYS;
>   	}

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active
  2022-12-01 17:53 [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active Zack Rusin
  2022-12-01 19:05 ` Martin Krastev (VMware)
@ 2022-12-01 22:46 ` "Maaz Mombasawala (VMware)
  1 sibling, 0 replies; 3+ messages in thread
From: "Maaz Mombasawala (VMware) @ 2022-12-01 22:46 UTC (permalink / raw)
  To: Zack Rusin, dri-devel; +Cc: krastevm, mombasawalam, banackm, Nicholas Hunt

On 12/1/22 09:53, Zack Rusin wrote:
> From: Zack Rusin <zackr@vmware.com>
> 
> When SEV is enabled gmr's and mob's are explicitly disabled because
> the encrypted system memory can not be used by the hypervisor.
> 
> The driver was disabling GMR's but the presentation code, which depends
> on GMR's, wasn't honoring it which lead to black screen on hosts
> with SEV enabled.
> 
> Make sure screen objects presentation is not used when guest memory
> regions have been disabled to fix presentation on SEV enabled hosts.
> 
> Fixes: 3b0d6458c705 ("drm/vmwgfx: Refuse DMA operation when SEV encryption is active")
> Cc: <stable@vger.kernel.org> # v5.7+
> Signed-off-by: Zack Rusin <zackr@vmware.com>
> Reported-by: Nicholas Hunt <nhunt@vmware.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> index 8db61c541a80..e1f36a09c59c 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> @@ -926,6 +926,10 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
>  	struct drm_device *dev = &dev_priv->drm;
>  	int i;
>  
> +	/* Screen objects won't work if GMR's aren't available */
> +	if (!dev_priv->has_gmr)
> +		return -ENOSYS;
> +
>  	if (!(dev_priv->capabilities & SVGA_CAP_SCREEN_OBJECT_2)) {
>  		return -ENOSYS;
>  	}

LGTM

-- 
Maaz Mombasawala (VMware) <maazm@fastmail.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-01 22:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-01 17:53 [PATCH] drm/vmwgfx: Don't use screen objects when SEV is active Zack Rusin
2022-12-01 19:05 ` Martin Krastev (VMware)
2022-12-01 22:46 ` "Maaz Mombasawala (VMware)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.