OSDN Git Service

drm/amdgpu add ce_ram_size for interface query
authorKen Wang <Qingqing.Wang@amd.com>
Wed, 3 Jun 2015 09:47:54 +0000 (17:47 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 4 Jun 2015 01:04:02 +0000 (21:04 -0400)
Add a query for the CE ram size.  User mode drivers
will want to use this to determine how much size
of the cache on the CE.

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewd-by: Jammy Zhou <Jammy.Zhou@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
include/uapi/drm/amdgpu_drm.h

index 4300e3d..6c99b75 100644 (file)
@@ -1136,6 +1136,8 @@ struct amdgpu_gfx {
        uint32_t gfx_current_status;
        /* sync signal for const engine */
        unsigned ce_sync_offs;
+       /* ce ram size*/
+       unsigned ce_ram_size;
 };
 
 int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm,
index 3c182b6..9ede244 100644 (file)
@@ -441,6 +441,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
                amdgpu_asic_get_cu_info(adev, &cu_info);
                dev_info.cu_active_number = cu_info.number;
                dev_info.cu_ao_mask = cu_info.ao_cu_mask;
+               dev_info.ce_ram_size = adev->gfx.ce_ram_size;
                memcpy(&dev_info.cu_bitmap[0], &cu_info.bitmap[0], sizeof(cu_info.bitmap));
 
                return copy_to_user(out, &dev_info,
index ed2f35d..faa39b3 100644 (file)
@@ -4820,6 +4820,8 @@ static int gfx_v7_0_hw_init(void *handle)
        if (r)
                return r;
 
+       adev->gfx.ce_ram_size = 0x8000;
+
        return r;
 }
 
index ffdba19..1895de4 100644 (file)
@@ -895,6 +895,8 @@ static int gfx_v8_0_sw_init(void *handle)
        if (r)
                return r;
 
+       adev->gfx.ce_ram_size = 0x8000;
+
        return 0;
 }
 
index 420c762..e24cc2e 100644 (file)
@@ -573,6 +573,8 @@ struct drm_amdgpu_info_device {
        /** Page table entry - fragment size */
        uint32_t pte_fragment_size;
        uint32_t gart_page_size;
+       /** constant engine ram size*/
+       uint32_t ce_ram_size;
 };
 
 struct drm_amdgpu_info_hw_ip {