[Intel-gfx] [PATCH 1/5] igt/gem_mmap_wc: Exercise mmap(wc) interface
Chris Wilson
chris at chris-wilson.co.uk
Mon Nov 17 12:40:04 CET 2014
On Mon, Nov 17, 2014 at 11:37:19AM +0000, Chris Wilson wrote:
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> lib/ioctl_wrappers.c | 81 +++++++++++
> lib/ioctl_wrappers.h | 5 +
> tests/.gitignore | 1 +
> tests/Makefile.am | 2 +
> tests/Makefile.sources | 1 +
> tests/gem_mmap_wc.c | 370 +++++++++++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 460 insertions(+)
> create mode 100644 tests/gem_mmap_wc.c
>
> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> index f423237..8316f0d 100644
> --- a/lib/ioctl_wrappers.c
> +++ b/lib/ioctl_wrappers.c
> @@ -463,10 +463,91 @@ void *gem_mmap__gtt(int fd, uint32_t handle, int size, int prot)
> ptr = mmap64(0, size, prot, MAP_SHARED, fd, mmap_arg.offset);
> if (ptr == MAP_FAILED)
> ptr = NULL;
> + else
> + errno = 0;
>
> return ptr;
> }
>
> +struct local_i915_gem_mmap_v2 {
> + uint32_t handle;
> + uint32_t pad;
> + uint64_t offset;
> + uint64_t size;
> + uint64_t addr_ptr;
> + uint64_t flags;
> +#define I915_MMAP_WC 0x1
> +};
> +#define LOCAL_IOCTL_I915_GEM_MMAP_v2 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap_v2)
> +
> +bool gem_mmap__has_wc(int fd)
> +{
> + static int has_wc = -1;
> +
> + if (has_wc == -1) {
> + struct drm_i915_getparam gp;
> + int val = -1;
> +
> + has_wc = 0;
> +
> + memset(&gp, 0, sizeof(gp));
> + gp.param = 29; /* MMAP_VERSION */
Now 30.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list