From 4a71c373706c482d71a3b5ac7e9e55578331e6cf Mon Sep 17 00:00:00 2001 From: jsg Date: Wed, 28 Feb 2018 00:45:06 +0000 Subject: [PATCH] Correct a pointless longstanding difference in ioctl numbering between linux and add back struct members. Avoids diffs in inteldrm, libdrm and Mesa >= 17.2. ok kettenis@ --- lib/libdrm/include/drm/i915_drm.h | 13 +------------ lib/libdrm/intel/intel_bufmgr_gem.c | 25 ------------------------- 2 files changed, 1 insertion(+), 37 deletions(-) diff --git a/lib/libdrm/include/drm/i915_drm.h b/lib/libdrm/include/drm/i915_drm.h index 01c02646a..5ebe0462f 100644 --- a/lib/libdrm/include/drm/i915_drm.h +++ b/lib/libdrm/include/drm/i915_drm.h @@ -240,19 +240,12 @@ typedef struct _drm_i915_sarea { #define DRM_I915_GEM_SET_TILING 0x21 #define DRM_I915_GEM_GET_TILING 0x22 #define DRM_I915_GEM_GET_APERTURE 0x23 -#ifdef __OpenBSD__ -#define DRM_I915_GEM_EXECBUFFER2 0x24 -#define DRM_I915_GEM_MADVISE 0x25 -#define DRM_I915_GEM_MMAP_GTT 0x26 -#define DRM_I915_GET_PIPE_FROM_CRTC_ID 0x29 -#else #define DRM_I915_GEM_MMAP_GTT 0x24 #define DRM_I915_GET_PIPE_FROM_CRTC_ID 0x25 #define DRM_I915_GEM_MADVISE 0x26 -#define DRM_I915_GEM_EXECBUFFER2 0x29 -#endif #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 #define DRM_I915_OVERLAY_ATTRS 0x28 +#define DRM_I915_GEM_EXECBUFFER2 0x29 #define DRM_I915_GEM_EXECBUFFER2_WR DRM_I915_GEM_EXECBUFFER2 #define DRM_I915_GET_SPRITE_COLORKEY 0x2a #define DRM_I915_SET_SPRITE_COLORKEY 0x2b @@ -675,7 +668,6 @@ struct drm_i915_gem_relocation_entry { #define I915_GEM_DOMAIN_GTT 0x00000040 /** @} */ -#ifndef __OpenBSD__ struct drm_i915_gem_exec_object { /** * User's handle for a buffer to be bound into the GTT for this @@ -725,7 +717,6 @@ struct drm_i915_gem_execbuffer { /** This is a struct drm_clip_rect *cliprects */ __u64 cliprects_ptr; }; -#endif struct drm_i915_gem_exec_object2 { /** @@ -804,13 +795,11 @@ struct drm_i915_gem_execbuffer2 { __u32 batch_start_offset; /** Bytes used in batchbuffer from batch_start_offset */ __u32 batch_len; -#ifndef __OpenBSD__ __u32 DR1; __u32 DR4; __u32 num_cliprects; /** This is a struct drm_clip_rect *cliprects */ __u64 cliprects_ptr; -#endif #define I915_EXEC_RING_MASK (7<<0) #define I915_EXEC_DEFAULT (0<<0) #define I915_EXEC_RENDER (1<<0) diff --git a/lib/libdrm/intel/intel_bufmgr_gem.c b/lib/libdrm/intel/intel_bufmgr_gem.c index 43e3d68d5..71f140f54 100644 --- a/lib/libdrm/intel/intel_bufmgr_gem.c +++ b/lib/libdrm/intel/intel_bufmgr_gem.c @@ -118,9 +118,7 @@ typedef struct _drm_intel_bufmgr_gem { pthread_mutex_t lock; -#ifndef __OpenBSD__ struct drm_i915_gem_exec_object *exec_objects; -#endif struct drm_i915_gem_exec_object2 *exec2_objects; drm_intel_bo **exec_bos; int exec_size; @@ -477,7 +475,6 @@ drm_intel_gem_bo_reference(drm_intel_bo *bo) atomic_inc(&bo_gem->refcount); } -#ifndef __OpenBSD__ /** * Adds the given buffer to the list of buffers to be validated (moved into the * appropriate memory type) with the next batch submission. @@ -523,7 +520,6 @@ drm_intel_add_validate_buffer(drm_intel_bo *bo) bufmgr_gem->exec_bos[index] = bo; bufmgr_gem->exec_count++; } -#endif static void drm_intel_add_validate_buffer2(drm_intel_bo *bo, int need_fence) @@ -1910,9 +1906,7 @@ drm_intel_bufmgr_gem_destroy(drm_intel_bufmgr *bufmgr) int i, ret; free(bufmgr_gem->exec2_objects); -#ifndef __OpenBSD__ free(bufmgr_gem->exec_objects); -#endif free(bufmgr_gem->exec_bos); pthread_mutex_destroy(&bufmgr_gem->lock); @@ -2166,7 +2160,6 @@ drm_intel_gem_bo_clear_relocs(drm_intel_bo *bo, int start) } -#ifndef __OpenBSD__ /** * Walk the tree of relocations rooted at BO and accumulate the list of * validations to be performed and update the relocation buffers with @@ -2196,7 +2189,6 @@ drm_intel_gem_bo_process_reloc(drm_intel_bo *bo) drm_intel_add_validate_buffer(target_bo); } } -#endif static void drm_intel_gem_bo_process_reloc2(drm_intel_bo *bo) @@ -2239,7 +2231,6 @@ drm_intel_gem_bo_process_reloc2(drm_intel_bo *bo) } -#ifndef __OpenBSD__ static void drm_intel_update_buffer_offsets(drm_intel_bufmgr_gem *bufmgr_gem) { @@ -2262,7 +2253,6 @@ drm_intel_update_buffer_offsets(drm_intel_bufmgr_gem *bufmgr_gem) } } } -#endif static void drm_intel_update_buffer_offsets2 (drm_intel_bufmgr_gem *bufmgr_gem) @@ -2299,7 +2289,6 @@ drm_intel_gem_bo_aub_dump_bmp(drm_intel_bo *bo, { } -#ifndef __OpenBSD__ static int drm_intel_gem_bo_exec(drm_intel_bo *bo, int used, drm_clip_rect_t * cliprects, int num_cliprects, int DR4) @@ -2366,7 +2355,6 @@ drm_intel_gem_bo_exec(drm_intel_bo *bo, int used, return ret; } -#endif static int do_exec2(drm_intel_bo *bo, int used, drm_intel_context *ctx, @@ -2416,12 +2404,10 @@ do_exec2(drm_intel_bo *bo, int used, drm_intel_context *ctx, execbuf.buffer_count = bufmgr_gem->exec_count; execbuf.batch_start_offset = 0; execbuf.batch_len = used; -#ifndef __OpenBSD__ execbuf.cliprects_ptr = (uintptr_t)cliprects; execbuf.num_cliprects = num_cliprects; execbuf.DR1 = 0; execbuf.DR4 = DR4; -#endif execbuf.flags = flags; if (ctx == NULL) i915_execbuffer2_set_context_id(execbuf, 0); @@ -3620,9 +3606,7 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) struct drm_i915_gem_get_aperture aperture; drm_i915_getparam_t gp; int ret, tmp; -#ifndef __OpenBSD__ bool exec2 = false; -#endif pthread_mutex_lock(&bufmgr_list_mutex); @@ -3698,12 +3682,10 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) memclear(gp); gp.value = &tmp; -#ifndef __OpenBSD__ gp.param = I915_PARAM_HAS_EXECBUF2; ret = drmIoctl(bufmgr_gem->fd, DRM_IOCTL_I915_GETPARAM, &gp); if (!ret) exec2 = true; -#endif gp.param = I915_PARAM_HAS_BSD; ret = drmIoctl(bufmgr_gem->fd, DRM_IOCTL_I915_GETPARAM, &gp); @@ -3806,19 +3788,12 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) bufmgr_gem->bufmgr.bo_get_tiling = drm_intel_gem_bo_get_tiling; bufmgr_gem->bufmgr.bo_set_tiling = drm_intel_gem_bo_set_tiling; bufmgr_gem->bufmgr.bo_flink = drm_intel_gem_bo_flink; -#ifndef __OpenBSD__ - /* - * Only the new one is available on OpenBSD - */ /* Use the new one if available */ if (exec2) { -#endif bufmgr_gem->bufmgr.bo_exec = drm_intel_gem_bo_exec2; bufmgr_gem->bufmgr.bo_mrb_exec = drm_intel_gem_bo_mrb_exec2; -#ifndef __OpenBSD__ } else bufmgr_gem->bufmgr.bo_exec = drm_intel_gem_bo_exec; -#endif bufmgr_gem->bufmgr.bo_busy = drm_intel_gem_bo_busy; bufmgr_gem->bufmgr.bo_madvise = drm_intel_gem_bo_madvise; bufmgr_gem->bufmgr.destroy = drm_intel_bufmgr_gem_unref;