Lines Matching refs:rbo
98 void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) in radeon_ttm_placement_from_domain() argument
102 rbo->placement.placement = rbo->placements; in radeon_ttm_placement_from_domain()
103 rbo->placement.busy_placement = rbo->placements; in radeon_ttm_placement_from_domain()
108 if ((rbo->flags & RADEON_GEM_NO_CPU_ACCESS) && in radeon_ttm_placement_from_domain()
109 rbo->rdev->mc.visible_vram_size < rbo->rdev->mc.real_vram_size) { in radeon_ttm_placement_from_domain()
110 rbo->placements[c].fpfn = in radeon_ttm_placement_from_domain()
111 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
112 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
117 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
118 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
124 if (rbo->flags & RADEON_GEM_GTT_UC) { in radeon_ttm_placement_from_domain()
125 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
126 rbo->placements[c++].flags = TTM_PL_FLAG_UNCACHED | in radeon_ttm_placement_from_domain()
129 } else if ((rbo->flags & RADEON_GEM_GTT_WC) || in radeon_ttm_placement_from_domain()
130 (rbo->rdev->flags & RADEON_IS_AGP)) { in radeon_ttm_placement_from_domain()
131 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
132 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
136 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
137 rbo->placements[c++].flags = TTM_PL_FLAG_CACHED | in radeon_ttm_placement_from_domain()
143 if (rbo->flags & RADEON_GEM_GTT_UC) { in radeon_ttm_placement_from_domain()
144 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
145 rbo->placements[c++].flags = TTM_PL_FLAG_UNCACHED | in radeon_ttm_placement_from_domain()
148 } else if ((rbo->flags & RADEON_GEM_GTT_WC) || in radeon_ttm_placement_from_domain()
149 rbo->rdev->flags & RADEON_IS_AGP) { in radeon_ttm_placement_from_domain()
150 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
151 rbo->placements[c++].flags = TTM_PL_FLAG_WC | in radeon_ttm_placement_from_domain()
155 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
156 rbo->placements[c++].flags = TTM_PL_FLAG_CACHED | in radeon_ttm_placement_from_domain()
161 rbo->placements[c].fpfn = 0; in radeon_ttm_placement_from_domain()
162 rbo->placements[c++].flags = TTM_PL_MASK_CACHING | in radeon_ttm_placement_from_domain()
166 rbo->placement.num_placement = c; in radeon_ttm_placement_from_domain()
167 rbo->placement.num_busy_placement = c; in radeon_ttm_placement_from_domain()
170 if ((rbo->flags & RADEON_GEM_CPU_ACCESS) && in radeon_ttm_placement_from_domain()
171 (rbo->placements[i].flags & TTM_PL_FLAG_VRAM) && in radeon_ttm_placement_from_domain()
172 !rbo->placements[i].fpfn) in radeon_ttm_placement_from_domain()
173 rbo->placements[i].lpfn = in radeon_ttm_placement_from_domain()
174 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
176 rbo->placements[i].lpfn = 0; in radeon_ttm_placement_from_domain()
777 struct radeon_bo *rbo; in radeon_bo_move_notify() local
782 rbo = container_of(bo, struct radeon_bo, tbo); in radeon_bo_move_notify()
783 radeon_bo_check_tiling(rbo, 0, 1); in radeon_bo_move_notify()
784 radeon_vm_bo_invalidate(rbo->rdev, rbo); in radeon_bo_move_notify()
790 radeon_update_memory_usage(rbo, bo->mem.mem_type, -1); in radeon_bo_move_notify()
791 radeon_update_memory_usage(rbo, new_mem->mem_type, 1); in radeon_bo_move_notify()
798 struct radeon_bo *rbo; in radeon_bo_fault_reserve_notify() local
804 rbo = container_of(bo, struct radeon_bo, tbo); in radeon_bo_fault_reserve_notify()
805 radeon_bo_check_tiling(rbo, 0, 0); in radeon_bo_fault_reserve_notify()
806 rdev = rbo->rdev; in radeon_bo_fault_reserve_notify()
816 if (rbo->pin_count > 0) in radeon_bo_fault_reserve_notify()
820 radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_VRAM); in radeon_bo_fault_reserve_notify()
822 for (i = 0; i < rbo->placement.num_placement; i++) { in radeon_bo_fault_reserve_notify()
824 if ((rbo->placements[i].flags & TTM_PL_FLAG_VRAM) && in radeon_bo_fault_reserve_notify()
825 (!rbo->placements[i].lpfn || rbo->placements[i].lpfn > lpfn)) in radeon_bo_fault_reserve_notify()
826 rbo->placements[i].lpfn = lpfn; in radeon_bo_fault_reserve_notify()
828 r = ttm_bo_validate(bo, &rbo->placement, &ctx); in radeon_bo_fault_reserve_notify()
830 radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_GTT); in radeon_bo_fault_reserve_notify()
831 return ttm_bo_validate(bo, &rbo->placement, &ctx); in radeon_bo_fault_reserve_notify()