> Date: Wed, 21 Feb 2018 11:28:58 +1100 > From: Jonathan Gray <j...@jsg.id.au> > > Correct a pointless longstanding difference in ioctl numbering between > linux and add back struct members. > > Avoids diffs in inteldrm, libdrm and Mesa >= 17.2. > > This breaks ioctl compat.
ok kettenis@ > Index: include/drm/i915_drm.h > =================================================================== > RCS file: /cvs/xenocara/lib/libdrm/include/drm/i915_drm.h,v > retrieving revision 1.5 > diff -u -p -r1.5 i915_drm.h > --- include/drm/i915_drm.h 5 Feb 2017 05:46:41 -0000 1.5 > +++ include/drm/i915_drm.h 21 Feb 2018 00:19:17 -0000 > @@ -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) > Index: intel/intel_bufmgr_gem.c > =================================================================== > RCS file: /cvs/xenocara/lib/libdrm/intel/intel_bufmgr_gem.c,v > retrieving revision 1.30 > diff -u -p -r1.30 intel_bufmgr_gem.c > --- intel/intel_bufmgr_gem.c 5 Aug 2017 14:21:16 -0000 1.30 > +++ intel/intel_bufmgr_gem.c 21 Feb 2018 00:19:18 -0000 > @@ -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 > 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_ > 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_b > 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_ > > } > > -#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 > 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_inte > } > > > -#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_inte > } > } > } > -#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_ > { > } > > -#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, > > 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 > 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 ba > 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 ba > 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 ba > 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; > >