Lines Matching defs:reloc

269 				   struct drm_i915_gem_relocation_entry *reloc)
277 target_obj = &eb_get_object(eb, reloc->target_handle)->base;
289 (int) reloc->offset,
290 (int) reloc->target_handle,
291 (int) reloc->read_domains,
292 (int) reloc->write_domain,
294 (int) reloc->presumed_offset,
295 reloc->delta);
303 reloc->target_handle);
308 if (unlikely(reloc->write_domain & (reloc->write_domain - 1))) {
309 DRM_DEBUG("reloc with multiple write domains: "
312 obj, reloc->target_handle,
313 (int) reloc->offset,
314 reloc->read_domains,
315 reloc->write_domain);
318 if (unlikely((reloc->write_domain | reloc->read_domains)
320 DRM_DEBUG("reloc with read/write non-GPU domains: "
323 obj, reloc->target_handle,
324 (int) reloc->offset,
325 reloc->read_domains,
326 reloc->write_domain);
329 if (unlikely(reloc->write_domain && target_obj->pending_write_domain &&
330 reloc->write_domain != target_obj->pending_write_domain)) {
334 obj, reloc->target_handle,
335 (int) reloc->offset,
336 reloc->write_domain,
341 target_obj->pending_read_domains |= reloc->read_domains;
342 target_obj->pending_write_domain |= reloc->write_domain;
347 if (target_offset == reloc->presumed_offset)
351 if (unlikely(reloc->offset > obj->base.size - 4)) {
354 obj, reloc->target_handle,
355 (int) reloc->offset,
359 if (unlikely(reloc->offset & 3)) {
362 obj, reloc->target_handle,
363 (int) reloc->offset);
367 reloc->delta += target_offset;
369 uint32_t page_offset = reloc->offset & PAGE_MASK;
373 sf = sf_buf_alloc(obj->pages[OFF_TO_IDX(reloc->offset)],
378 *(uint32_t *)(vaddr + page_offset) = reloc->delta;
395 reloc->offset += obj->gtt_offset;
396 reloc_page = pmap_mapdev_attr(dev->agp->base + (reloc->offset &
398 reloc_entry = (uint32_t *)(reloc_page + (reloc->offset &
400 *(volatile uint32_t *)reloc_entry = reloc->delta;
405 reloc->presumed_offset = target_offset;
416 struct drm_i915_gem_relocation_entry reloc;
421 ret = -copyin_nofault(user_relocs + i, &reloc, sizeof(reloc));
425 ret = i915_gem_execbuffer_relocate_entry(obj, eb, &reloc);
429 ret = -copyout_nofault(&reloc.presumed_offset,
431 sizeof(reloc.presumed_offset));
700 struct drm_i915_gem_relocation_entry *reloc;
722 reloc = malloc(total * sizeof(*reloc), DRM_I915_GEM, M_WAITOK | M_ZERO);
729 ret = -copyin(user_relocs, reloc + total,
730 exec[i].relocation_count * sizeof(*reloc));
773 reloc + reloc_offset[offset]);
785 free(reloc, DRM_I915_GEM);