On 13.08.25 20:49, David Francis wrote:
> AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE is a flag that
> specifies that gem memory contains sensitive information and
> should be cleared to prevent snooping.
> 
> The COHERENT and UNCACHED gem create flags enable memory
> features related to sharing memory across devices.
> 
> These should be settable in GEM_CREATE_IOCTL but weren't.
> 
> Make a new define AMDGPU_GEM_CREATE_SETTABLE_MASK to
> track which gem flags can be used with gem create, and add
> these flags to it.
> 
> Signed-off-by: David Francis <david.fran...@amd.com>


Reviewed-by: Christian König <christian.koe...@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 10 +---------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h | 14 ++++++++++++++
>  2 files changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index e3f65977eeee..aefae3a9e6f4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -442,15 +442,7 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void 
> *data,
>       int r;
>  
>       /* reject invalid gem flags */
> -     if (flags & ~(AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> -                   AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
> -                   AMDGPU_GEM_CREATE_CPU_GTT_USWC |
> -                   AMDGPU_GEM_CREATE_VRAM_CLEARED |
> -                   AMDGPU_GEM_CREATE_VM_ALWAYS_VALID |
> -                   AMDGPU_GEM_CREATE_EXPLICIT_SYNC |
> -                   AMDGPU_GEM_CREATE_ENCRYPTED |
> -                   AMDGPU_GEM_CREATE_GFX12_DCC |
> -                   AMDGPU_GEM_CREATE_DISCARDABLE))
> +     if (flags & ~AMDGPU_GEM_CREATE_SETTABLE_MASK)
>               return -EINVAL;
>  
>       /* reject invalid gem domains */
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
> index b51e8f95ee86..b3047d73fe07 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h
> @@ -71,4 +71,18 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
>  int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
>                               struct drm_file *filp);
>  
> +#define AMDGPU_GEM_CREATE_SETTABLE_MASK      
> (AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED | \
> +     AMDGPU_GEM_CREATE_NO_CPU_ACCESS | \
> +     AMDGPU_GEM_CREATE_CPU_GTT_USWC | \
> +     AMDGPU_GEM_CREATE_VRAM_CLEARED | \
> +     AMDGPU_GEM_CREATE_VM_ALWAYS_VALID | \
> +     AMDGPU_GEM_CREATE_EXPLICIT_SYNC | \
> +     AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE | \
> +     AMDGPU_GEM_CREATE_ENCRYPTED | \
> +     AMDGPU_GEM_CREATE_GFX12_DCC | \
> +     AMDGPU_GEM_CREATE_DISCARDABLE | \
> +     AMDGPU_GEM_CREATE_COHERENT | \
> +     AMDGPU_GEM_CREATE_UNCACHED | \
> +     AMDGPU_GEM_CREATE_EXT_COHERENT)
> +
>  #endif

Reply via email to