Am 20.02.2017 um 03:56 schrieb Junwei Zhang:
Signed-off-by: Junwei Zhang <[email protected]>
---
  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 {


_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to