summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-03-04 14:50:28 +1000
committerDave Airlie <airlied@redhat.com>2011-03-04 15:56:22 +1000
commite73f88af66fcc50083fae4b7e1c39b469179a97a (patch)
tree5c4a7a9a9c7223d017f3ab17708d6f57cebdb8d7
parent9f35421e09c494c36079d7cf5724ae9f832431d7 (diff)
downloadlinux-e73f88af66fcc50083fae4b7e1c39b469179a97a.tar.gz
linux-e73f88af66fcc50083fae4b7e1c39b469179a97a.tar.bz2
linux-e73f88af66fcc50083fae4b7e1c39b469179a97a.zip
drm: add cap bit to denote if dumb ioctl is available or not.
This allows libkms to make an easier decision. Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_ioctl.c8
-rw-r--r--include/drm/drm.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index d6de9d042b76..7f6912a16761 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -275,6 +275,14 @@ int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_priv)
struct drm_get_cap *req = data;
req->value = 0;
+ switch (req->capability) {
+ case DRM_CAP_DUMB_BUFFER:
+ if (dev->driver->dumb_create)
+ req->value = 1;
+ break;
+ default:
+ return -EINVAL;
+ }
return 0;
}
diff --git a/include/drm/drm.h b/include/drm/drm.h
index da4efd162d58..9ac431396176 100644
--- a/include/drm/drm.h
+++ b/include/drm/drm.h
@@ -752,6 +752,8 @@ struct drm_event_vblank {
__u32 reserved;
};
+#define DRM_CAP_DUMB_BUFFER 0x1
+
/* typedef area */
#ifndef __KERNEL__
typedef struct drm_clip_rect drm_clip_rect_t;