OSDN Git Service

amdgpu: add amdgpu_query_gds_info
authorJammy Zhou <Jammy.Zhou@amd.com>
Fri, 5 Jun 2015 21:00:36 +0000 (05:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Aug 2015 17:47:51 +0000 (13:47 -0400)
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
amdgpu/amdgpu.h
amdgpu/amdgpu_gpu_info.c

index 70b488e..44b9d17 100644 (file)
@@ -777,9 +777,8 @@ int amdgpu_bo_list_update(amdgpu_bo_list_handle handle,
  *          <0 - Negative POSIX Error code
  *
 */
-int amdgpu_gpu_resource_query_gds_info(amdgpu_device_handle dev,
-                                       struct amdgpu_gds_resource_info *
-                                                               gds_info);
+int amdgpu_query_gds_info(amdgpu_device_handle dev,
+                       struct amdgpu_gds_resource_info *gds_info);
 
 
 /**
index df193ee..515ee78 100644 (file)
@@ -276,3 +276,28 @@ int amdgpu_query_heap_info(amdgpu_device_handle dev,
 
        return 0;
 }
+
+int amdgpu_query_gds_info(amdgpu_device_handle dev,
+                       struct amdgpu_gds_resource_info *gds_info)
+{
+       struct drm_amdgpu_info_gds gds_config = {};
+        int r;
+
+       if (gds_info == NULL)
+               return -EINVAL;
+
+        r = amdgpu_query_info(dev, AMDGPU_INFO_GDS_CONFIG,
+                              sizeof(gds_config), &gds_config);
+        if (r)
+                return r;
+
+       gds_info->gds_gfx_partition_size = gds_config.gds_gfx_partition_size;
+       gds_info->compute_partition_size = gds_config.compute_partition_size;
+       gds_info->gds_total_size = gds_config.gds_total_size;
+       gds_info->gws_per_gfx_partition = gds_config.gws_per_gfx_partition;
+       gds_info->gws_per_compute_partition = gds_config.gws_per_compute_partition;
+       gds_info->oa_per_gfx_partition = gds_config.oa_per_gfx_partition;
+       gds_info->oa_per_compute_partition = gds_config.oa_per_compute_partition;
+
+       return 0;
+}