[PATCH 1/2] amdgpu: export gfx double offchip LDS buffers by gpu info
Christian König
deathsimple at vodafone.de
Mon Feb 20 09:33:29 UTC 2017
Am 20.02.2017 um 03:56 schrieb Junwei Zhang:
> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
> ---
> amdgpu/amdgpu.h | 2 ++
> amdgpu/amdgpu_gpu_info.c | 2 ++
> include/drm/amdgpu_drm.h | 2 ++
> 3 files changed, 6 insertions(+)
>
> diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h
> index 84ab688..7a26298 100644
> --- a/amdgpu/amdgpu.h
> +++ b/amdgpu/amdgpu.h
> @@ -487,6 +487,8 @@ struct amdgpu_gpu_info {
> uint32_t vce_harvest_config;
> /* PCI revision ID */
> uint32_t pci_rev_id;
> + /* gfx double offchip LDS buffers */
> + uint32_t gc_double_offchip_lds_buf;
That won't work. The kernel IOCTL structures have a size attached to
them, but the libdrm interface doesn't have that.
It clearly was a bad idea to munch in an extra layer of abstraction
here. I would say we should just deprecate that interface sooner or later.
Please use the following code in the UMD to query the info directly from
the kernel:
struct drm_amdgpu_info_device dev_info;
r = amdgpu_query_info(dev, AMDGPU_INFO_DEV_INFO, sizeof(dev_info),
&dev_info);
This way you also only need to make the two line change
include/drm/amdgpu_drm.h.
Regards,
Christian.
> };
>
>
> diff --git a/amdgpu/amdgpu_gpu_info.c b/amdgpu/amdgpu_gpu_info.c
> index d801b86..984674e 100644
> --- a/amdgpu/amdgpu_gpu_info.c
> +++ b/amdgpu/amdgpu_gpu_info.c
> @@ -175,6 +175,8 @@ drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev)
> dev->info.ce_ram_size = dev->dev_info.ce_ram_size;
> dev->info.vce_harvest_config = dev->dev_info.vce_harvest_config;
> dev->info.pci_rev_id = dev->dev_info.pci_rev;
> + dev->info.gc_double_offchip_lds_buf =
> + dev->dev_info.gc_double_offchip_lds_buf;
>
> for (i = 0; i < (int)dev->info.num_shader_engines; i++) {
> unsigned instance = (i << AMDGPU_INFO_MMR_SE_INDEX_SHIFT) |
> diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h
> index 9c3bd18..85bb701 100644
> --- a/include/drm/amdgpu_drm.h
> +++ b/include/drm/amdgpu_drm.h
> @@ -767,6 +767,8 @@ struct drm_amdgpu_info_device {
> uint32_t vram_bit_width;
> /* vce harvesting instance */
> uint32_t vce_harvest_config;
> + /* gfx double offchip LDS buffers */
> + uint32_t gc_double_offchip_lds_buf;
> };
>
> struct drm_amdgpu_info_hw_ip {
More information about the amd-gfx
mailing list