<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#0000FF;margin:5pt;font-style:normal;font-weight:normal;text-decoration:none;" align="Left">
[AMD Official Use Only - General]<br>
</p>
<br>
<div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Reviewed-by: Alex Deucher <alexander.deucher@amd.com></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Min, Frank <Frank.Min@amd.com><br>
<b>Sent:</b> Friday, April 12, 2024 8:06 AM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org><br>
<b>Cc:</b> Gao, Likun <Likun.Gao@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com><br>
<b>Subject:</b> [PATCH] drm/amdgpu: replace tmz flag into buffer flag</font>
<div> </div>
</div>
<div class="BodyFragment"><font face="Times New Roman" size="3"><span style="font-size:12pt;"><a name="BM_BEGIN"></a>
<div><font size="2"><span style="font-size:11pt;">[AMD Official Use Only - General]<br>
<br>
From: Frank Min <Frank.Min@amd.com><br>
<br>
Replace tmz flag into buffer flag to make it easier to understand and extend<br>
<br>
Signed-off-by: Likun Gao <Likun.Gao@amd.com><br>
Signed-off-by: Frank Min <Frank.Min@amd.com><br>
---<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c |  2 +-<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    |  2 +-<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h      |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c       | 18 +++++++++++-------<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h       |  4 +++-<br>
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c         |  2 +-<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c        |  2 +-<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c        |  2 +-<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c        |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c      |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c        |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c        |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c        |  4 ++--<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c        |  5 +++--<br>
 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c      |  4 ++--<br>
 15 files changed, 36 insertions(+), 29 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c<br>
index edc6377ec5ff..199693369c7c 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c<br>
@@ -39,7 +39,7 @@ static int amdgpu_benchmark_do_move(struct amdgpu_device *adev, unsigned size,<br>
        for (i = 0; i < n; i++) {<br>
                struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring;<br>
                r = amdgpu_copy_buffer(ring, saddr, daddr, size, NULL, &fence,<br>
-                                      false, false, false);<br>
+                                      false, false, 0);<br>
                if (r)<br>
                        goto exit_do_move;<br>
                r = dma_fence_wait(fence, false);<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
index 38742ff0ff49..abb1505c82ec 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
@@ -791,7 +791,7 @@ int amdgpu_bo_restore_shadow(struct amdgpu_bo *shadow, struct dma_fence **fence)<br>
<br>
        return amdgpu_copy_buffer(ring, shadow_addr, parent_addr,<br>
                                  amdgpu_bo_size(shadow), NULL, fence,<br>
-                                 true, false, false);<br>
+                                 true, false, 0);<br>
 }<br>
<br>
 /**<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h<br>
index a22c6446817b..b5bde6652838 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h<br>
@@ -136,7 +136,7 @@ struct amdgpu_buffer_funcs {<br>
                                 uint64_t dst_offset,<br>
                                 /* number of byte to transfer */<br>
                                 uint32_t byte_count,<br>
-                                bool tmz);<br>
+                                uint32_t copy_flags);<br>
<br>
        /* maximum bytes in a single operation */<br>
        uint32_t        fill_max_bytes;<br>
@@ -154,7 +154,7 @@ struct amdgpu_buffer_funcs {<br>
                                 uint32_t byte_count);<br>
 };<br>
<br>
-#define amdgpu_emit_copy_buffer(adev, ib, s, d, b, t) (adev)->mman.buffer_funcs->emit_copy_buffer((ib),  (s), (d), (b), (t))<br>
+#define amdgpu_emit_copy_buffer(adev, ib, s, d, b, f)<br>
+(adev)->mman.buffer_funcs->emit_copy_buffer((ib), (s), (d), (b), (f))<br>
 #define amdgpu_emit_fill_buffer(adev, ib, s, d, b) (adev)->mman.buffer_funcs->emit_fill_buffer((ib), (s), (d), (b))<br>
<br>
 struct amdgpu_sdma_instance *<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c<br>
index f0fffbf2bdd5..d58ab879e125 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c<br>
@@ -267,7 +267,7 @@ static int amdgpu_ttm_map_buffer(struct ttm_buffer_object *bo,<br>
        dst_addr = amdgpu_bo_gpu_offset(adev->gart.bo);<br>
        dst_addr += window * AMDGPU_GTT_MAX_TRANSFER_SIZE * 8;<br>
        amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr,<br>
-                               dst_addr, num_bytes, false);<br>
+                               dst_addr, num_bytes, 0);<br>
<br>
        amdgpu_ring_pad_ib(ring, &job->ibs[0]);<br>
        WARN_ON(job->ibs[0].length_dw > num_dw); @@ -327,6 +327,8 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev,<br>
        struct dma_fence *fence = NULL;<br>
        int r = 0;<br>
<br>
+       uint32_t copy_flags = 0;<br>
+<br>
        if (!adev->mman.buffer_funcs_enabled) {<br>
                DRM_ERROR("Trying to move memory with ring turned off.\n");<br>
                return -EINVAL;<br>
@@ -354,8 +356,11 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev,<br>
                if (r)<br>
                        goto error;<br>
<br>
-               r = amdgpu_copy_buffer(ring, from, to, cur_size,<br>
-                                      resv, &next, false, true, tmz);<br>
+               if (tmz)<br>
+                       copy_flags |= AMDGPU_COPY_FLAGS_TMZ;<br>
+<br>
+               r = amdgpu_copy_buffer(ring, from, to, cur_size, resv,<br>
+                                      &next, false, true, copy_flags);<br>
                if (r)<br>
                        goto error;<br>
<br>
@@ -1782,7 +1787,7 @@ static int amdgpu_ttm_access_memory_sdma(struct ttm_buffer_object *bo,<br>
                swap(src_addr, dst_addr);<br>
<br>
        amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr, dst_addr,<br>
-                               PAGE_SIZE, false);<br>
+                               PAGE_SIZE, 0);<br>
<br>
        amdgpu_ring_pad_ib(adev->mman.buffer_funcs_ring, &job->ibs[0]);<br>
        WARN_ON(job->ibs[0].length_dw > num_dw); @@ -2596,7 +2601,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset,<br>
                       uint64_t dst_offset, uint32_t byte_count,<br>
                       struct dma_resv *resv,<br>
                       struct dma_fence **fence, bool direct_submit,<br>
-                      bool vm_needs_flush, bool tmz)<br>
+                      bool vm_needs_flush, uint32_t copy_flags)<br>
 {<br>
        struct amdgpu_device *adev = ring->adev;<br>
        unsigned int num_loops, num_dw;<br>
@@ -2622,8 +2627,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset,<br>
                uint32_t cur_size_in_bytes = min(byte_count, max_bytes);<br>
<br>
                amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_offset,<br>
-                                       dst_offset, cur_size_in_bytes, tmz);<br>
-<br>
+                                       dst_offset, cur_size_in_bytes, copy_flags);<br>
                src_offset += cur_size_in_bytes;<br>
                dst_offset += cur_size_in_bytes;<br>
                byte_count -= cur_size_in_bytes;<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h<br>
index fe37697a76b9..22cdbb52ba4e 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h<br>
@@ -121,6 +121,8 @@ struct amdgpu_copy_mem {<br>
        unsigned long                   offset;<br>
 };<br>
<br>
+#define AMDGPU_COPY_FLAGS_TMZ          (1 << 0)<br>
+<br>
 int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size);  void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev);  int amdgpu_preempt_mgr_init(struct amdgpu_device *adev); @@ -158,7 +160,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t
 src_offset,<br>
                       uint64_t dst_offset, uint32_t byte_count,<br>
                       struct dma_resv *resv,<br>
                       struct dma_fence **fence, bool direct_submit,<br>
-                      bool vm_needs_flush, bool tmz);<br>
+                      bool vm_needs_flush, uint32_t copy_flags);<br>
 int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev,<br>
                               const struct amdgpu_copy_mem *src,<br>
                               const struct amdgpu_copy_mem *dst, diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c<br>
index ee5dce6f6043..ab1f112a0cbd 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c<br>
@@ -1305,7 +1305,7 @@ static void cik_sdma_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                      uint64_t src_offset,<br>
                                      uint64_t dst_offset,<br>
                                      uint32_t byte_count,<br>
-                                     bool tmz)<br>
+                                     uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PACKET(SDMA_OPCODE_COPY, SDMA_COPY_SUB_OPCODE_LINEAR, 0);<br>
        ib->ptr[ib->length_dw++] = byte_count; diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c<br>
index 7ffaaaf1fcdd..93e933915e86 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c<br>
@@ -1191,7 +1191,7 @@ static void sdma_v2_4_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR);<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c<br>
index c5ea32687eb5..45ccd12bd857 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c<br>
@@ -1631,7 +1631,7 @@ static void sdma_v3_0_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR);<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c<br>
index 7ae5f134f09b..90b936545dc9 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c<br>
@@ -2468,11 +2468,11 @@ static void sdma_v4_0_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
index fec5a3d1c4bc..7d1d65dca627 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
@@ -1981,11 +1981,11 @@ static void sdma_v4_4_2_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c<br>
index c1ff5eda8961..6a669613d028 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c<br>
@@ -1836,11 +1836,11 @@ static void sdma_v5_0_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c<br>
index c441a20a41a3..aa0901135f30 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c<br>
@@ -1778,11 +1778,11 @@ static void sdma_v5_2_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c<br>
index f423cc6cc9d2..8a3889a20c60 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c<br>
@@ -1604,11 +1604,11 @@ static void sdma_v6_0_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_COPY_LINEAR_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c<br>
index 33f1a549e7b5..0245b0374f65 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c<br>
@@ -1606,11 +1606,12 @@ static void sdma_v7_0_emit_copy_buffer(struct amdgpu_ib *ib,<br>
                                       uint64_t src_offset,<br>
                                       uint64_t dst_offset,<br>
                                       uint32_t byte_count,<br>
-                                      bool tmz)<br>
+                                      uint32_t copy_flags)<br>
 {<br>
        ib->ptr[ib->length_dw++] = SDMA_PKT_COPY_LINEAR_HEADER_OP(SDMA_OP_COPY) |<br>
                SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR) |<br>
-               SDMA_PKT_COPY_LINEAR_HEADER_TMZ(tmz ? 1 : 0);<br>
+               SDMA_PKT_COPY_LINEAR_HEADER_TMZ((copy_flags & AMDGPU_COPY_FLAGS_TMZ)<br>
+? 1 : 0);<br>
+<br>
        ib->ptr[ib->length_dw++] = byte_count - 1;<br>
        ib->ptr[ib->length_dw++] = 0; /* src/dst endian swap */<br>
        ib->ptr[ib->length_dw++] = lower_32_bits(src_offset); diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c<br>
index 0ed275dd6ecf..c96e10b5b86f 100644<br>
--- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c<br>
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c<br>
@@ -77,7 +77,7 @@ svm_migrate_gart_map(struct amdgpu_ring *ring, uint64_t npages,<br>
<br>
        dst_addr = amdgpu_bo_gpu_offset(adev->gart.bo);<br>
        amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr,<br>
-                               dst_addr, num_bytes, false);<br>
+                               dst_addr, num_bytes, 0);<br>
<br>
        amdgpu_ring_pad_ib(ring, &job->ibs[0]);<br>
        WARN_ON(job->ibs[0].length_dw > num_dw); @@ -153,7 +153,7 @@ svm_migrate_copy_memory_gart(struct amdgpu_device *adev, dma_addr_t *sys,<br>
                }<br>
<br>
                r = amdgpu_copy_buffer(ring, gart_s, gart_d, size * PAGE_SIZE,<br>
-                                      NULL, &next, false, true, false);<br>
+                                      NULL, &next, false, true, 0);<br>
                if (r) {<br>
                        dev_err(adev->dev, "fail %d to copy memory\n", r);<br>
                        goto out_unlock;<br>
--<br>
2.34.1<br>
<br>
</span></font></div>
</span></font></div>
</div>
</body>
</html>