History

drm/radeon: add support for read reg query from radeon info ioctl

This allows us to query certain registers from userspace for profiling and harvest configuration. E.g., it can be used by the GALLIUM_HUD for profiling the status of various gfx blocks.

Alex Deucher committed 12 years ago

Commit 4535cb91 parent 353eec22 files · +9 −0Browse files

Unified · Split

2 files
  1. drivers/gpu/drm/radeon/radeon_kms.c +8 −0
  2. include/uapi/drm/radeon_drm.h +1 −0
drivers/gpu/drm/radeon/radeon_kms.c+8−0
@@ -568,6 +568,14 @@ static int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file · 567 unmodified lines
568 else568 else
569 *value = rdev->pm.current_mclk / 100;569 *value = rdev->pm.current_mclk / 100;
570 break;570 break;
571 case RADEON_INFO_READ_REG:
572 if (copy_from_user(value, value_ptr, sizeof(uint32_t))) {
573 DRM_ERROR("copy_from_user %s:%u\n", __func__, __LINE__);
574 return -EFAULT;
575 }
576 if (radeon_get_allowed_info_register(rdev, *value, value))
577 return -EINVAL;
578 break;
571 default:579 default:
572 DRM_DEBUG_KMS("Invalid request %d\n", info->request);580 DRM_DEBUG_KMS("Invalid request %d\n", info->request);
573 return -EINVAL;581 return -EINVAL;
include/uapi/drm/radeon_drm.h+1−0
@@ -1037,6 +1037,7 @@ struct drm_radeon_cs { · 1036 unmodified lines
1037#define RADEON_INFO_CURRENT_GPU_TEMP 0x211037#define RADEON_INFO_CURRENT_GPU_TEMP 0x21
1038#define RADEON_INFO_CURRENT_GPU_SCLK 0x221038#define RADEON_INFO_CURRENT_GPU_SCLK 0x22
1039#define RADEON_INFO_CURRENT_GPU_MCLK 0x231039#define RADEON_INFO_CURRENT_GPU_MCLK 0x23
1040#define RADEON_INFO_READ_REG 0x24
1040 1041
1041struct drm_radeon_info {1042struct drm_radeon_info {
1042 uint32_t request;1043 uint32_t request;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t