aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2013-04-09 10:35:42 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-04-11 09:22:05 -0400
commit902aaef6c698ce0f04a6acab2d5396519d5de330 (patch)
tree1ba894574742ade2579aeebfd18a7bf414795887 /drivers/gpu/drm/radeon
parentcedb655a3a7764c3fd946077944383c9e0e68dd4 (diff)
drm/radeon: add ring working query
Add new ioctl option and bumb minor version number. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon')
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.c3
-rw-r--r--drivers/gpu/drm/radeon/radeon_kms.c17
2 files changed, 19 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index b500bbc3e411..6e1b2e66e837 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -72,9 +72,10 @@
72 * 2.29.0 - R500 FP16 color clear registers 72 * 2.29.0 - R500 FP16 color clear registers
73 * 2.30.0 - fix for FMASK texturing 73 * 2.30.0 - fix for FMASK texturing
74 * 2.31.0 - Add fastfb support for rs690 74 * 2.31.0 - Add fastfb support for rs690
75 * 2.32.0 - new info request for rings working
75 */ 76 */
76#define KMS_DRIVER_MAJOR 2 77#define KMS_DRIVER_MAJOR 2
77#define KMS_DRIVER_MINOR 31 78#define KMS_DRIVER_MINOR 32
78#define KMS_DRIVER_PATCHLEVEL 0 79#define KMS_DRIVER_PATCHLEVEL 0
79int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); 80int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags);
80int radeon_driver_unload_kms(struct drm_device *dev); 81int radeon_driver_unload_kms(struct drm_device *dev);
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
index 8365c75b31b6..3037c38d9aa9 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -379,6 +379,23 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
379 case RADEON_INFO_FASTFB_WORKING: 379 case RADEON_INFO_FASTFB_WORKING:
380 value = rdev->fastfb_working; 380 value = rdev->fastfb_working;
381 break; 381 break;
382 case RADEON_INFO_RING_WORKING:
383 switch (value) {
384 case RADEON_CS_RING_GFX:
385 case RADEON_CS_RING_COMPUTE:
386 value = rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready;
387 break;
388 case RADEON_CS_RING_DMA:
389 value = rdev->ring[R600_RING_TYPE_DMA_INDEX].ready;
390 value |= rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX].ready;
391 break;
392 case RADEON_CS_RING_UVD:
393 value = rdev->ring[R600_RING_TYPE_UVD_INDEX].ready;
394 break;
395 default:
396 return -EINVAL;
397 }
398 break;
382 default: 399 default:
383 DRM_DEBUG_KMS("Invalid request %d\n", info->request); 400 DRM_DEBUG_KMS("Invalid request %d\n", info->request);
384 return -EINVAL; 401 return -EINVAL;