operation AMDGPU_PROFILER_VERSION.
Signed-off-by: James Zhu <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_profiler.c | 25 ++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index ed58931de804..18d83f0c47a7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -3045,6 +3045,7 @@ const struct drm_ioctl_desc amdgpu_ioctls_kms[] = {
DRM_IOCTL_DEF_DRV(AMDGPU_USERQ_SIGNAL, amdgpu_userq_signal_ioctl,
DRM_AUTH|DRM_RENDER_ALLOW),
DRM_IOCTL_DEF_DRV(AMDGPU_USERQ_WAIT, amdgpu_userq_wait_ioctl,
DRM_AUTH|DRM_RENDER_ALLOW),
DRM_IOCTL_DEF_DRV(AMDGPU_GEM_LIST_HANDLES,
amdgpu_gem_list_handles_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
+ DRM_IOCTL_DEF_DRV(AMDGPU_PROFILER, amdgpu_profiler_ioctl,
DRM_AUTH|DRM_RENDER_ALLOW),
};
static const struct drm_driver amdgpu_kms_driver = {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_profiler.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_profiler.c
index 98c04ab01132..5e4a1c36198c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_profiler.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_profiler.c
@@ -32,6 +32,31 @@
#define AMDGPU_PROFILER_VERSION_MAJOR 1
#define AMDGPU_PROFILER_VERSION_MINOR 1
+int amdgpu_profiler_ioctl(
+ struct drm_device *dev,
+ void __user *data,
+ struct drm_file *filp)
+{
+ struct amdgpu_fpriv *fpriv = filp->driver_priv;
+ struct amdgpu_device *adev = fpriv_to_adev(fpriv);
+ struct drm_amdgpu_profiler_args *args = data;
+
+ dev_dbg(adev->dev, "Profiler IOCTL op %d on render node %d xcp %d",
+ args->op, adev->ddev.render->index,
AMDGPU_XCP_ID(fpriv->xcp_id));
+
+ switch (args->op) {
+ case AMDGPU_PROFILER_VERSION:
+ args->version = AMDGPU_PROFILER_VERSION_MAJOR << 16 |
+ AMDGPU_PROFILER_VERSION_MINOR;
+ return 0;
+
+ default:
+ dev_err(adev->dev, "Invalid option: %i", args->op);
+ return -EINVAL;
+ }
+ return -EINVAL;
+}
+
int amdgpu_profiler_mgr_init(
struct amdgpu_profiler_mgr *prof_mgr,
struct amdgpu_fpriv *fpriv)
--
2.34.1