From: Ken Wang Date: Wed, 3 Jun 2015 09:47:54 +0000 (+0800) Subject: drm/amdgpu add ce_ram_size for interface query X-Git-Tag: v4.2-rc1~13^2~25^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a101a8995ab8072125d0bb4d95425c9fb37ff809;p=karo-tx-linux.git drm/amdgpu add ce_ram_size for interface query 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 Reviewd-by: Jammy Zhou --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 4300e3d4b1cd..6c99b7560a27 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -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, diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 3c182b6c5a27..9ede2446dcd6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -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, diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c index ed2f35de1d4f..faa39b38f0f3 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c @@ -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; } diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index ffdba1965029..1895de433446 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -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; } diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h index 420c762f2ed7..e24cc2e318df 100644 --- a/include/uapi/drm/amdgpu_drm.h +++ b/include/uapi/drm/amdgpu_drm.h @@ -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 {