drm/amdgpu: move and rename amdgpu_pte_update_params
authorChristian König <christian.koenig@amd.com>
Mon, 18 Mar 2019 11:27:35 +0000 (12:27 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 21 Mar 2019 18:59:00 +0000 (13:59 -0500)
Move the update parameter into the VM header and rename them.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h

index 5ae0f88..41db2af 100644 (file)
@@ -66,51 +66,6 @@ INTERVAL_TREE_DEFINE(struct amdgpu_bo_va_mapping, rb, uint64_t, __subtree_last,
 #undef START
 #undef LAST
 
-/**
- * struct amdgpu_pte_update_params - Local structure
- *
- * Encapsulate some VM table update parameters to reduce
- * the number of function parameters
- *
- */
-struct amdgpu_pte_update_params {
-
-       /**
-        * @adev: amdgpu device we do this update for
-        */
-       struct amdgpu_device *adev;
-
-       /**
-        * @vm: optional amdgpu_vm we do this update for
-        */
-       struct amdgpu_vm *vm;
-
-       /**
-        * @pages_addr:
-        *
-        * DMA addresses to use for mapping
-        */
-       dma_addr_t *pages_addr;
-
-       /**
-        * @src: address where to copy page table entries from
-        */
-       uint64_t src;
-
-       /**
-        * @ib: indirect buffer to fill with commands
-        */
-       struct amdgpu_ib *ib;
-
-       /**
-        * @func: Function which actually does the update
-        */
-       void (*func)(struct amdgpu_pte_update_params *params,
-                    struct amdgpu_bo *bo, uint64_t pe,
-                    uint64_t addr, unsigned count, uint32_t incr,
-                    uint64_t flags);
-};
-
 /**
  * struct amdgpu_prt_cb - Helper to disable partial resident texture feature from a fence callback
  */
@@ -1218,7 +1173,7 @@ struct amdgpu_bo_va *amdgpu_vm_bo_find(struct amdgpu_vm *vm,
 /**
  * amdgpu_vm_do_set_ptes - helper to call the right asic function
  *
- * @params: see amdgpu_pte_update_params definition
+ * @params: see amdgpu_vm_update_params definition
  * @bo: PD/PT to update
  * @pe: addr of the page entry
  * @addr: dst addr to write into pe
@@ -1229,7 +1184,7 @@ struct amdgpu_bo_va *amdgpu_vm_bo_find(struct amdgpu_vm *vm,
  * Traces the parameters and calls the right asic functions
  * to setup the page table using the DMA.
  */
-static void amdgpu_vm_do_set_ptes(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_do_set_ptes(struct amdgpu_vm_update_params *params,
                                  struct amdgpu_bo *bo,
                                  uint64_t pe, uint64_t addr,
                                  unsigned count, uint32_t incr,
@@ -1251,7 +1206,7 @@ static void amdgpu_vm_do_set_ptes(struct amdgpu_pte_update_params *params,
 /**
  * amdgpu_vm_do_copy_ptes - copy the PTEs from the GART
  *
- * @params: see amdgpu_pte_update_params definition
+ * @params: see amdgpu_vm_update_params definition
  * @bo: PD/PT to update
  * @pe: addr of the page entry
  * @addr: dst addr to write into pe
@@ -1261,7 +1216,7 @@ static void amdgpu_vm_do_set_ptes(struct amdgpu_pte_update_params *params,
  *
  * Traces the parameters and calls the DMA function to copy the PTEs.
  */
-static void amdgpu_vm_do_copy_ptes(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_do_copy_ptes(struct amdgpu_vm_update_params *params,
                                   struct amdgpu_bo *bo,
                                   uint64_t pe, uint64_t addr,
                                   unsigned count, uint32_t incr,
@@ -1305,7 +1260,7 @@ static uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr)
 /**
  * amdgpu_vm_cpu_set_ptes - helper to update page tables via CPU
  *
- * @params: see amdgpu_pte_update_params definition
+ * @params: see amdgpu_vm_update_params definition
  * @bo: PD/PT to update
  * @pe: kmap addr of the page entry
  * @addr: dst addr to write into pe
@@ -1315,7 +1270,7 @@ static uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr)
  *
  * Write count number of PT/PD entries directly.
  */
-static void amdgpu_vm_cpu_set_ptes(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_cpu_set_ptes(struct amdgpu_vm_update_params *params,
                                   struct amdgpu_bo *bo,
                                   uint64_t pe, uint64_t addr,
                                   unsigned count, uint32_t incr,
@@ -1343,7 +1298,7 @@ static void amdgpu_vm_cpu_set_ptes(struct amdgpu_pte_update_params *params,
  *
  * Calls the update function for both the given BO as well as its shadow.
  */
-static void amdgpu_vm_update_func(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_update_func(struct amdgpu_vm_update_params *params,
                                  struct amdgpu_bo *bo,
                                  uint64_t pe, uint64_t addr,
                                  unsigned count, uint32_t incr,
@@ -1364,7 +1319,7 @@ static void amdgpu_vm_update_func(struct amdgpu_pte_update_params *params,
  *
  * Makes sure the requested entry in parent is up to date.
  */
-static void amdgpu_vm_update_pde(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_update_pde(struct amdgpu_vm_update_params *params,
                                 struct amdgpu_vm *vm,
                                 struct amdgpu_vm_pt *parent,
                                 struct amdgpu_vm_pt *entry)
@@ -1415,7 +1370,7 @@ static void amdgpu_vm_invalidate_pds(struct amdgpu_device *adev,
 int amdgpu_vm_update_directories(struct amdgpu_device *adev,
                                 struct amdgpu_vm *vm)
 {
-       struct amdgpu_pte_update_params params;
+       struct amdgpu_vm_update_params params;
        struct amdgpu_job *job;
        unsigned ndw = 0;
        int r = 0;
@@ -1506,7 +1461,7 @@ error:
  *
  * Make sure to set the right flags for the PTEs at the desired level.
  */
-static void amdgpu_vm_update_flags(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_update_flags(struct amdgpu_vm_update_params *params,
                                   struct amdgpu_bo *bo, unsigned level,
                                   uint64_t pe, uint64_t addr,
                                   unsigned count, uint32_t incr,
@@ -1531,7 +1486,7 @@ static void amdgpu_vm_update_flags(struct amdgpu_pte_update_params *params,
 /**
  * amdgpu_vm_fragment - get fragment for PTEs
  *
- * @params: see amdgpu_pte_update_params definition
+ * @params: see amdgpu_vm_update_params definition
  * @start: first PTE to handle
  * @end: last PTE to handle
  * @flags: hw mapping flags
@@ -1540,7 +1495,7 @@ static void amdgpu_vm_update_flags(struct amdgpu_pte_update_params *params,
  *
  * Returns the first possible fragment for the start and end address.
  */
-static void amdgpu_vm_fragment(struct amdgpu_pte_update_params *params,
+static void amdgpu_vm_fragment(struct amdgpu_vm_update_params *params,
                               uint64_t start, uint64_t end, uint64_t flags,
                               unsigned int *frag, uint64_t *frag_end)
 {
@@ -1592,7 +1547,7 @@ static void amdgpu_vm_fragment(struct amdgpu_pte_update_params *params,
 /**
  * amdgpu_vm_update_ptes - make sure that page tables are valid
  *
- * @params: see amdgpu_pte_update_params definition
+ * @params: see amdgpu_vm_update_params definition
  * @start: start of GPU address range
  * @end: end of GPU address range
  * @dst: destination address to map to, the next dst inside the function
@@ -1603,7 +1558,7 @@ static void amdgpu_vm_fragment(struct amdgpu_pte_update_params *params,
  * Returns:
  * 0 for success, -EINVAL for failure.
  */
-static int amdgpu_vm_update_ptes(struct amdgpu_pte_update_params *params,
+static int amdgpu_vm_update_ptes(struct amdgpu_vm_update_params *params,
                                 uint64_t start, uint64_t end,
                                 uint64_t dst, uint64_t flags)
 {
@@ -1746,7 +1701,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
        void *owner = AMDGPU_FENCE_OWNER_VM;
        unsigned nptes, ncmds, ndw;
        struct amdgpu_job *job;
-       struct amdgpu_pte_update_params params;
+       struct amdgpu_vm_update_params params;
        struct dma_fence *f = NULL;
        int r;
 
index 8348804..6df4d9e 100644 (file)
@@ -172,6 +172,51 @@ struct amdgpu_task_info {
        pid_t   tgid;
 };
 
+/**
+ * struct amdgpu_vm_update_params
+ *
+ * Encapsulate some VM table update parameters to reduce
+ * the number of function parameters
+ *
+ */
+struct amdgpu_vm_update_params {
+
+       /**
+        * @adev: amdgpu device we do this update for
+        */
+       struct amdgpu_device *adev;
+
+       /**
+        * @vm: optional amdgpu_vm we do this update for
+        */
+       struct amdgpu_vm *vm;
+
+       /**
+        * @pages_addr:
+        *
+        * DMA addresses to use for mapping
+        */
+       dma_addr_t *pages_addr;
+
+       /**
+        * @src: address where to copy page table entries from
+        */
+       uint64_t src;
+
+       /**
+        * @ib: indirect buffer to fill with commands
+        */
+       struct amdgpu_ib *ib;
+
+       /**
+        * @func: Function which actually does the update
+        */
+       void (*func)(struct amdgpu_vm_update_params *params,
+                    struct amdgpu_bo *bo, uint64_t pe,
+                    uint64_t addr, unsigned count, uint32_t incr,
+                    uint64_t flags);
+};
+
 struct amdgpu_vm {
        /* tree of virtual addresses mapped */
        struct rb_root_cached   va;