libkms: use drm_mmap/drm_munmap wrappers
[platform/upstream/libdrm.git] / libkms / vmwgfx.c
index 0568d6e..bc04133 100644 (file)
  **************************************************************************/
 
 
-#define HAVE_STDINT_H
-#define _FILE_OFFSET_BITS 64
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 #include "internal.h"
 
-#include <sys/mman.h>
 #include "xf86drm.h"
+#include "libdrm.h"
 #include "vmwgfx_drm.h"
 
 struct vmwgfx_bo
@@ -49,29 +50,8 @@ static int
 vmwgfx_get_prop(struct kms_driver *kms, unsigned key, unsigned *out)
 {
        switch (key) {
-       case KMS_MAX_SCANOUT_WIDTH:
-               *out = 2048;
-               break;
-       case KMS_MAX_SCANOUT_HEIGHT:
-               *out = 2048;
-               break;
-       case KMS_MIN_SCANOUT_WIDTH:
-               *out = 1;
-               break;
-       case KMS_MIN_SCANOUT_HEIGHT:
-               *out = 1;
-               break;
-       case KMS_MAX_CURSOR_WIDTH:
-               *out = 64;
-               break;
-       case KMS_MAX_CURSOR_HEIGHT:
-               *out = 64;
-               break;
-       case KMS_MIN_CURSOR_WIDTH:
-               *out = 64;
-               break;
-       case KMS_MIN_CURSOR_HEIGHT:
-               *out = 64;
+       case KMS_BO_TYPE:
+               *out = KMS_BO_TYPE_SCANOUT_X8R8G8B8 | KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8;
                break;
        default:
                return -EINVAL;
@@ -166,7 +146,7 @@ vmwgfx_bo_map(struct kms_bo *_bo, void **out)
                return 0;
        }
 
-       map = mmap(NULL, bo->base.size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->base.kms->fd, bo->map_handle);
+       map = drm_mmap(NULL, bo->base.size, PROT_READ | PROT_WRITE, MAP_SHARED, bo->base.kms->fd, bo->map_handle);
        if (map == MAP_FAILED)
                return -errno;
 
@@ -193,7 +173,7 @@ vmwgfx_bo_destroy(struct kms_bo *_bo)
 
        if (bo->base.ptr) {
                /* XXX Sanity check map_count */
-               munmap(bo->base.ptr, bo->base.size);
+               drm_munmap(bo->base.ptr, bo->base.size);
                bo->base.ptr = NULL;
        }