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