On Thu, Sep 29, 2016 at 3:52 AM, Christian König <[email protected]> wrote: > From: Christian König <[email protected]> > > Saves us a bit of memory. > > Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 34 > ++++++++++++++-------------------- > 2 files changed, 16 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 0c2d32b..f7016d1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -822,8 +822,8 @@ struct amdgpu_ring { > #define AMDGPU_VM_FAULT_STOP_ALWAYS 2 > > struct amdgpu_vm_pt { > - struct amdgpu_bo_list_entry entry; > - uint64_t addr; > + struct amdgpu_bo *bo; > + uint64_t addr; > }; > > struct amdgpu_vm { > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 4c5e79a..59f217b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -141,12 +141,12 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device > *adev, struct amdgpu_vm *vm, > > /* add the vm page table to the list */ > for (i = 0; i <= vm->max_pde_used; ++i) { > - struct amdgpu_bo_list_entry *entry = > &vm->page_tables[i].entry; > + struct amdgpu_bo *bo = vm->page_tables[i].bo; > > - if (!entry->robj) > + if (!bo) > continue; > > - r = callback(param, entry->robj); > + r = callback(param, bo); > if (r) > return r; > } > @@ -170,12 +170,12 @@ void amdgpu_vm_move_pt_bos_in_lru(struct amdgpu_device > *adev, > > spin_lock(&glob->lru_lock); > for (i = 0; i <= vm->max_pde_used; ++i) { > - struct amdgpu_bo_list_entry *entry = > &vm->page_tables[i].entry; > + struct amdgpu_bo *bo = vm->page_tables[i].bo; > > - if (!entry->robj) > + if (!bo) > continue; > > - ttm_bo_move_to_lru_tail(&entry->robj->tbo); > + ttm_bo_move_to_lru_tail(&bo->tbo); > } > spin_unlock(&glob->lru_lock); > } > @@ -673,7 +673,7 @@ int amdgpu_vm_update_page_directory(struct amdgpu_device > *adev, > > /* walk over the address space and update the page directory */ > for (pt_idx = 0; pt_idx <= vm->max_pde_used; ++pt_idx) { > - struct amdgpu_bo *bo = vm->page_tables[pt_idx].entry.robj; > + struct amdgpu_bo *bo = vm->page_tables[pt_idx].bo; > uint64_t pde, pt; > > if (bo == NULL) > @@ -789,11 +789,11 @@ static void amdgpu_vm_update_ptes(struct > amdgpu_pte_update_params *params, > /* initialize the variables */ > addr = start; > pt_idx = addr >> amdgpu_vm_block_size; > - pt = vm->page_tables[pt_idx].entry.robj; > + pt = vm->page_tables[pt_idx].bo; > if (params->shadow) { > if (!pt->shadow) > return; > - pt = vm->page_tables[pt_idx].entry.robj->shadow; > + pt = pt->shadow; > } > if ((addr & ~mask) == (end & ~mask)) > nptes = end - addr; > @@ -812,11 +812,11 @@ static void amdgpu_vm_update_ptes(struct > amdgpu_pte_update_params *params, > /* walk over the address space and update the page tables */ > while (addr < end) { > pt_idx = addr >> amdgpu_vm_block_size; > - pt = vm->page_tables[pt_idx].entry.robj; > + pt = vm->page_tables[pt_idx].bo; > if (params->shadow) { > if (!pt->shadow) > return; > - pt = vm->page_tables[pt_idx].entry.robj->shadow; > + pt = pt->shadow; > } > > if ((addr & ~mask) == (end & ~mask)) > @@ -1428,11 +1428,9 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev, > /* walk over the address space and allocate the page tables */ > for (pt_idx = saddr; pt_idx <= eaddr; ++pt_idx) { > struct reservation_object *resv = > vm->page_directory->tbo.resv; > - struct amdgpu_bo_list_entry *entry; > struct amdgpu_bo *pt; > > - entry = &vm->page_tables[pt_idx].entry; > - if (entry->robj) > + if (vm->page_tables[pt_idx].bo) > continue; > > r = amdgpu_bo_create(adev, AMDGPU_VM_PTE_COUNT * 8, > @@ -1466,11 +1464,7 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev, > } > } > > - entry->robj = pt; > - entry->priority = 0; > - entry->tv.bo = &entry->robj->tbo; > - entry->tv.shared = true; > - entry->user_pages = NULL; > + vm->page_tables[pt_idx].bo = pt; > vm->page_tables[pt_idx].addr = 0; > } > > @@ -1722,7 +1716,7 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct > amdgpu_vm *vm) > } > > for (i = 0; i < amdgpu_vm_num_pdes(adev); i++) { > - struct amdgpu_bo *pt = vm->page_tables[i].entry.robj; > + struct amdgpu_bo *pt = vm->page_tables[i].bo; > > if (!pt) > continue; > -- > 2.5.0 > > _______________________________________________ > amd-gfx mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
