Lines Matching refs:rbo
96 void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) in radeon_ttm_placement_from_domain() argument
100 rbo->placement.placement = rbo->placements; in radeon_ttm_placement_from_domain()
101 rbo->placement.busy_placement = rbo->placements; in radeon_ttm_placement_from_domain()
106 if ((rbo->flags & RADEON_GEM_NO_CPU_ACCESS) && in radeon_ttm_placement_from_domain()
107 rbo->rdev->mc.visible_vram_size < rbo->rdev->mc.real_vram_size) { in radeon_ttm_placement_from_domain()
108 rbo->placements[c].fpfn = in radeon_ttm_placement_from_domain()
109 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
110 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
115 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
116 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
122 if (rbo->flags & RADEON_GEM_GTT_UC) { in radeon_ttm_placement_from_domain()
123 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
124 rbo->placements[c++].flags = TTM_PL_FLAG_UNCACHED | in radeon_ttm_placement_from_domain()
127 } else if ((rbo->flags & RADEON_GEM_GTT_WC) || in radeon_ttm_placement_from_domain()
128 (rbo->rdev->flags & RADEON_IS_AGP)) { in radeon_ttm_placement_from_domain()
129 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
130 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
134 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
135 rbo->placements[c++].flags = TTM_PL_FLAG_CACHED | in radeon_ttm_placement_from_domain()
141 if (rbo->flags & RADEON_GEM_GTT_UC) { in radeon_ttm_placement_from_domain()
142 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
143 rbo->placements[c++].flags = TTM_PL_FLAG_UNCACHED | in radeon_ttm_placement_from_domain()
146 } else if ((rbo->flags & RADEON_GEM_GTT_WC) || in radeon_ttm_placement_from_domain()
147 rbo->rdev->flags & RADEON_IS_AGP) { in radeon_ttm_placement_from_domain()
148 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
149 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
153 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
154 rbo->placements[c++].flags = TTM_PL_FLAG_CACHED | in radeon_ttm_placement_from_domain()
159 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
160 rbo->placements[c++].flags = TTM_PL_MASK_CACHING | in radeon_ttm_placement_from_domain()
164 rbo->placement.num_placement = c; in radeon_ttm_placement_from_domain()
165 rbo->placement.num_busy_placement = c; in radeon_ttm_placement_from_domain()
168 if ((rbo->flags & RADEON_GEM_CPU_ACCESS) && in radeon_ttm_placement_from_domain()
169 (rbo->placements[i].flags & TTM_PL_FLAG_VRAM) && in radeon_ttm_placement_from_domain()
170 !rbo->placements[i].fpfn) in radeon_ttm_placement_from_domain()
171 rbo->placements[i].lpfn = in radeon_ttm_placement_from_domain()
172 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
174 rbo->placements[i].lpfn = 0; in radeon_ttm_placement_from_domain()
765 struct radeon_bo *rbo; in radeon_bo_move_notify() local
770 rbo = container_of(bo, struct radeon_bo, tbo); in radeon_bo_move_notify()
771 radeon_bo_check_tiling(rbo, 0, 1); in radeon_bo_move_notify()
772 radeon_vm_bo_invalidate(rbo->rdev, rbo); in radeon_bo_move_notify()
778 radeon_update_memory_usage(rbo, bo->mem.mem_type, -1); in radeon_bo_move_notify()
779 radeon_update_memory_usage(rbo, new_mem->mem_type, 1); in radeon_bo_move_notify()
785 struct radeon_bo *rbo; in radeon_bo_fault_reserve_notify() local
791 rbo = container_of(bo, struct radeon_bo, tbo); in radeon_bo_fault_reserve_notify()
792 radeon_bo_check_tiling(rbo, 0, 0); in radeon_bo_fault_reserve_notify()
793 rdev = rbo->rdev; in radeon_bo_fault_reserve_notify()
803 radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_VRAM); in radeon_bo_fault_reserve_notify()
805 for (i = 0; i < rbo->placement.num_placement; i++) { in radeon_bo_fault_reserve_notify()
807 if ((rbo->placements[i].flags & TTM_PL_FLAG_VRAM) && in radeon_bo_fault_reserve_notify()
808 (!rbo->placements[i].lpfn || rbo->placements[i].lpfn > lpfn)) in radeon_bo_fault_reserve_notify()
809 rbo->placements[i].lpfn = lpfn; in radeon_bo_fault_reserve_notify()
811 r = ttm_bo_validate(bo, &rbo->placement, false, false); in radeon_bo_fault_reserve_notify()
813 radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_GTT); in radeon_bo_fault_reserve_notify()
814 return ttm_bo_validate(bo, &rbo->placement, false, false); in radeon_bo_fault_reserve_notify()