Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 552124
Collapse All | Expand All

(-)a/src/sna/kgem.c (-8 / +17 lines)
Lines 182-187 struct local_i915_gem_caching { Link Here
182
#define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
182
#define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
183
#define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
183
#define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
184
184
185
struct local_i915_gem_mmap {
186
	uint32_t handle;
187
	uint32_t pad;
188
	uint64_t offset;
189
	uint64_t size;
190
	uint64_t addr_ptr;
191
};
192
#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
193
185
struct local_i915_gem_mmap2 {
194
struct local_i915_gem_mmap2 {
186
	uint32_t handle;
195
	uint32_t handle;
187
	uint32_t pad;
196
	uint32_t pad;
Lines 514-528 retry_wc: Link Here
514
523
515
static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
524
static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
516
{
525
{
517
	struct drm_i915_gem_mmap mmap_arg;
526
	struct local_i915_gem_mmap arg;
518
	int err;
527
	int err;
519
528
520
retry:
529
retry:
521
	VG_CLEAR(mmap_arg);
530
	VG_CLEAR(arg);
522
	mmap_arg.handle = bo->handle;
531
	arg.handle = bo->handle;
523
	mmap_arg.offset = 0;
532
	arg.offset = 0;
524
	mmap_arg.size = bytes(bo);
533
	arg.size = bytes(bo);
525
	if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
534
	if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) {
526
		assert(err != EINVAL);
535
		assert(err != EINVAL);
527
536
528
		if (__kgem_throttle_retire(kgem, 0))
537
		if (__kgem_throttle_retire(kgem, 0))
Lines 536-545 retry: Link Here
536
		return NULL;
545
		return NULL;
537
	}
546
	}
538
547
539
	VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo)));
548
	VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo)));
540
549
541
	DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
550
	DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
542
	return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr;
551
	return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr;
543
}
552
}
544
553
545
static int gem_write(int fd, uint32_t handle,
554
static int gem_write(int fd, uint32_t handle,

Return to bug 552124