From: Marek Olšák <marek.ol...@amd.com>

---
 include/drm/amdgpu_drm.h | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h
index 015bd9f4..bbdad866 100644
--- a/include/drm/amdgpu_drm.h
+++ b/include/drm/amdgpu_drm.h
@@ -121,20 +121,24 @@ extern "C" {
 /* Flag that allocating the BO should use linear VRAM */
 #define AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS      (1 << 5)
 /* Flag that BO is always valid in this VM */
 #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID      (1 << 6)
 /* Flag that BO sharing will be explicitly synchronized */
 #define AMDGPU_GEM_CREATE_EXPLICIT_SYNC                (1 << 7)
 /* Flag that indicates allocating MQD gart on GFX9, where the mtype
  * for the second page onward should be set to NC.
  */
 #define AMDGPU_GEM_CREATE_MQD_GFX9             (1 << 8)
+/* Flag that BO may contain sensitive data that must be wiped before
+ * releasing the memory
+ */
+#define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE (1 << 9)
 
 struct drm_amdgpu_gem_create_in  {
        /** the requested memory size */
        __u64 bo_size;
        /** physical start_addr alignment in bytes for some HW requirements */
        __u64 alignment;
        /** the requested memory domains */
        __u64 domains;
        /** allocation flags */
        __u64 domain_flags;
@@ -197,45 +201,49 @@ union drm_amdgpu_bo_list {
 
 /* GPU reset status */
 #define AMDGPU_CTX_NO_RESET            0
 /* this the context caused it */
 #define AMDGPU_CTX_GUILTY_RESET                1
 /* some other context caused it */
 #define AMDGPU_CTX_INNOCENT_RESET      2
 /* unknown cause */
 #define AMDGPU_CTX_UNKNOWN_RESET       3
 
-/* indicate gpu reset occurred after ctx created */
+/* indicate gpu reset occured after ctx created */
 #define AMDGPU_CTX_QUERY2_FLAGS_RESET    (1<<0)
-/* indicate vram lost occurred after ctx created */
+/* indicate vram lost occured after ctx created */
 #define AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST (1<<1)
 /* indicate some job from this context once cause gpu hang */
 #define AMDGPU_CTX_QUERY2_FLAGS_GUILTY   (1<<2)
 /* indicate some errors are detected by RAS */
 #define AMDGPU_CTX_QUERY2_FLAGS_RAS_CE   (1<<3)
 #define AMDGPU_CTX_QUERY2_FLAGS_RAS_UE   (1<<4)
 
 /* Context priority level */
 #define AMDGPU_CTX_PRIORITY_UNSET       -2048
 #define AMDGPU_CTX_PRIORITY_VERY_LOW    -1023
 #define AMDGPU_CTX_PRIORITY_LOW         -512
 #define AMDGPU_CTX_PRIORITY_NORMAL      0
-/* Selecting a priority above NORMAL requires CAP_SYS_NICE or DRM_MASTER */
+/*
+ * When used in struct drm_amdgpu_ctx_in, a priority above NORMAL requires
+ * CAP_SYS_NICE or DRM_MASTER
+*/
 #define AMDGPU_CTX_PRIORITY_HIGH        512
 #define AMDGPU_CTX_PRIORITY_VERY_HIGH   1023
 
 struct drm_amdgpu_ctx_in {
        /** AMDGPU_CTX_OP_* */
        __u32   op;
        /** For future use, no flags defined so far */
        __u32   flags;
        __u32   ctx_id;
+       /** AMDGPU_CTX_PRIORITY_* */
        __s32   priority;
 };
 
 union drm_amdgpu_ctx_out {
                struct {
                        __u32   ctx_id;
                        __u32   _pad;
                } alloc;
 
                struct {
@@ -274,20 +282,21 @@ union drm_amdgpu_vm {
 };
 
 /* sched ioctl */
 #define AMDGPU_SCHED_OP_PROCESS_PRIORITY_OVERRIDE      1
 #define AMDGPU_SCHED_OP_CONTEXT_PRIORITY_OVERRIDE      2
 
 struct drm_amdgpu_sched_in {
        /* AMDGPU_SCHED_OP_* */
        __u32   op;
        __u32   fd;
+       /** AMDGPU_CTX_PRIORITY_* */
        __s32   priority;
        __u32   ctx_id;
 };
 
 union drm_amdgpu_sched {
        struct drm_amdgpu_sched_in in;
 };
 
 /*
  * This is not a reliable API and you should expect it to fail for any
@@ -484,20 +493,22 @@ struct drm_amdgpu_gem_op {
 /* Default MTYPE. Pre-AI must use this.  Recommended for newer ASICs. */
 #define AMDGPU_VM_MTYPE_DEFAULT                (0 << 5)
 /* Use NC MTYPE instead of default MTYPE */
 #define AMDGPU_VM_MTYPE_NC             (1 << 5)
 /* Use WC MTYPE instead of default MTYPE */
 #define AMDGPU_VM_MTYPE_WC             (2 << 5)
 /* Use CC MTYPE instead of default MTYPE */
 #define AMDGPU_VM_MTYPE_CC             (3 << 5)
 /* Use UC MTYPE instead of default MTYPE */
 #define AMDGPU_VM_MTYPE_UC             (4 << 5)
+/* Use RW MTYPE instead of default MTYPE */
+#define AMDGPU_VM_MTYPE_RW             (5 << 5)
 
 struct drm_amdgpu_gem_va {
        /** GEM object handle */
        __u32 handle;
        __u32 _pad;
        /** AMDGPU_VA_OP_* */
        __u32 operation;
        /** AMDGPU_VM_PAGE_* */
        __u32 flags;
        /** va address to assign . Must be correctly aligned.*/
@@ -604,26 +615,25 @@ struct drm_amdgpu_cs_chunk_dep {
 struct drm_amdgpu_cs_chunk_fence {
        __u32 handle;
        __u32 offset;
 };
 
 struct drm_amdgpu_cs_chunk_sem {
        __u32 handle;
 };
 
 struct drm_amdgpu_cs_chunk_syncobj {
-       __u32 handle;
-       __u32 flags;
-       __u64 point;
+       __u32 handle;
+       __u32 flags;
+       __u64 point;
 };
 
-
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ     0
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD  1
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD        2
 
 union drm_amdgpu_fence_to_handle {
        struct {
                struct drm_amdgpu_fence fence;
                __u32 what;
                __u32 pad;
        } in;
@@ -988,20 +998,22 @@ struct drm_amdgpu_info_device {
        __u32 max_gs_waves_per_vgt;
        __u32 _pad1;
        /* always on cu bitmap */
        __u32 cu_ao_bitmap[4][4];
        /** Starting high virtual address for UMDs. */
        __u64 high_va_offset;
        /** The maximum high virtual address */
        __u64 high_va_max;
        /* gfx10 pa_sc_tile_steering_override */
        __u32 pa_sc_tile_steering_override;
+       /* disabled TCCs */
+       __u64 tcc_disabled_mask;
 };
 
 struct drm_amdgpu_info_hw_ip {
        /** Version of h/w IP */
        __u32  hw_ip_version_major;
        __u32  hw_ip_version_minor;
        /** Capabilities */
        __u64  capabilities_flags;
        /** command buffer address start alignment*/
        __u32  ib_start_alignment;
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to