aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-08 09:41:20 -0400
committerDave Airlie <airlied@redhat.com>2013-08-18 20:04:34 -0400
commit8d38c4b4371b8f9d1d72737c880cdae14b024142 (patch)
tree7436009ff2e591c9ac8e74a18229f86a6ca67f41
parente2e99a8206bcce6f2d3d72ff8be42859f98dbcda (diff)
drm: disallow legacy dma ioctls for modesetting drivers
Now only legacy ums drivers have the DRIVER_HAVE_DMA driver feature flag set, so strictly speaking the modesetting check is redundant. But adding it has the upside that it makes it very clear that the dma support is legacy stuff. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_bufs.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index bef4abff8fa3..cccc25f7ef86 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -1305,6 +1305,9 @@ int drm_addbufs(struct drm_device *dev, void *data,
1305 struct drm_buf_desc *request = data; 1305 struct drm_buf_desc *request = data;
1306 int ret; 1306 int ret;
1307 1307
1308 if (drm_core_check_feature(dev, DRIVER_MODESET))
1309 return -EINVAL;
1310
1308 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1311 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1309 return -EINVAL; 1312 return -EINVAL;
1310 1313
@@ -1348,6 +1351,9 @@ int drm_infobufs(struct drm_device *dev, void *data,
1348 int i; 1351 int i;
1349 int count; 1352 int count;
1350 1353
1354 if (drm_core_check_feature(dev, DRIVER_MODESET))
1355 return -EINVAL;
1356
1351 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1357 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1352 return -EINVAL; 1358 return -EINVAL;
1353 1359
@@ -1427,6 +1433,9 @@ int drm_markbufs(struct drm_device *dev, void *data,
1427 int order; 1433 int order;
1428 struct drm_buf_entry *entry; 1434 struct drm_buf_entry *entry;
1429 1435
1436 if (drm_core_check_feature(dev, DRIVER_MODESET))
1437 return -EINVAL;
1438
1430 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1439 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1431 return -EINVAL; 1440 return -EINVAL;
1432 1441
@@ -1472,6 +1481,9 @@ int drm_freebufs(struct drm_device *dev, void *data,
1472 int idx; 1481 int idx;
1473 struct drm_buf *buf; 1482 struct drm_buf *buf;
1474 1483
1484 if (drm_core_check_feature(dev, DRIVER_MODESET))
1485 return -EINVAL;
1486
1475 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1487 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1476 return -EINVAL; 1488 return -EINVAL;
1477 1489
@@ -1524,6 +1536,9 @@ int drm_mapbufs(struct drm_device *dev, void *data,
1524 struct drm_buf_map *request = data; 1536 struct drm_buf_map *request = data;
1525 int i; 1537 int i;
1526 1538
1539 if (drm_core_check_feature(dev, DRIVER_MODESET))
1540 return -EINVAL;
1541
1527 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1542 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1528 return -EINVAL; 1543 return -EINVAL;
1529 1544