On 9 December 2017 at 14:08, Felix Kuehling <felix.kuehl...@amd.com> wrote:
> From: Harish Kasiviswanathan <harish.kasiviswanat...@amd.com>
>
> Implement new kgd-kfd interface function get_local_mem_info.
>
> Signed-off-by: Harish Kasiviswanathan <harish.kasiviswanat...@amd.com>
> Signed-off-by: Ben Goz <ben....@amd.com>
> Signed-off-by: Felix Kuehling <felix.kuehl...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c        | 30 
> +++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h        |  2 ++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c |  1 +
>  4 files changed, 34 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index cfb7827..56f6c12 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -252,6 +252,36 @@ uint64_t get_vmem_size(struct kgd_dev *kgd)
>         return adev->mc.real_vram_size;
>  }
>
> +void get_local_mem_info(struct kgd_dev *kgd,
> +                       struct kfd_local_mem_info *mem_info)
> +{
> +       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
> +       uint64_t address_mask = adev->dev->dma_mask ? ~*adev->dev->dma_mask :
> +                                            ~((1ULL << 32) - 1);
> +       resource_size_t aper_limit = adev->mc.aper_base + adev->mc.aper_size;
> +
> +       memset(mem_info, 0, sizeof(*mem_info));
> +       if (!(adev->mc.aper_base & address_mask || aper_limit & 
> address_mask)) {
> +               mem_info->local_mem_size_public = adev->mc.visible_vram_size;
> +               mem_info->local_mem_size_private = adev->mc.real_vram_size -
> +                               adev->mc.visible_vram_size;
> +       } else {
> +               mem_info->local_mem_size_public = 0;
> +               mem_info->local_mem_size_private = adev->mc.real_vram_size;
> +       }
> +       mem_info->vram_width = adev->mc.vram_width;
> +
> +       pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 
> 0x%llx\n",
> +                       adev->mc.aper_base, aper_limit,
> +                       
> mem_in/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.cfo->local_mem_size_public,
> +                       mem_info->local_mem_size_private);

This patches introduces:

In file included from
/home/airlied/devel/kernel/drm-next/include/linux/kernel.h:14:0,
                 from
/home/airlied/devel/kernel/drm-next/include/asm-generic/bug.h:18,
                 from
/home/airlied/devel/kernel/drm-next/arch/arm/include/asm/bug.h:60,
                 from /home/airlied/devel/kernel/drm-next/include/linux/bug.h:5,
                 from
/home/airlied/devel/kernel/drm-next/include/linux/thread_info.h:12,
                 from
/home/airlied/devel/kernel/drm-next/include/asm-generic/current.h:5,
                 from ./arch/arm/include/generated/asm/current.h:1,
                 from
/home/airlied/devel/kernel/drm-next/include/linux/sched.h:12,
                 from
/home/airlied/devel/kernel/drm-next/arch/arm/include/asm/mmu_context.h:17,
                 from
/home/airlied/devel/kernel/drm-next/include/linux/mmu_context.h:5,
                 from
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h:29,
                 from
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:23:
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:
In function ‘get_local_mem_info’:
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:297:11:
warning: format ‘%llx’ expects argument of type ‘long long unsigned
int’, but argument 3 has type ‘resource_size_t {aka unsigned int}’
[-Wformat=]
  pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
           ^
/home/airlied/devel/kernel/drm-next/include/linux/printk.h:285:21:
note: in definition of macro ‘pr_fmt’
 #define pr_fmt(fmt) fmt
                     ^~~
/home/airlied/devel/kernel/drm-next/include/linux/printk.h:333:2:
note: in expansion of macro ‘dynamic_pr_debug’
  dynamic_pr_debug(fmt, ##__VA_ARGS__)
  ^~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:297:2:
note: in expansion of macro ‘pr_debug’
  pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
  ^~~~~~~~
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:297:11:
warning: format ‘%llx’ expects argument of type ‘long long unsigned
int’, but argument 4 has type ‘resource_size_t {aka unsigned int}’
[-Wformat=]
  pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
           ^
/home/airlied/devel/kernel/drm-next/include/linux/printk.h:285:21:
note: in definition of macro ‘pr_fmt’
 #define pr_fmt(fmt) fmt
                     ^~~
/home/airlied/devel/kernel/drm-next/include/linux/printk.h:333:2:
note: in expansion of macro ‘dynamic_pr_debug’
  dynamic_pr_debug(fmt, ##__VA_ARGS__)
  ^~~~~~~~~~~~~~~~
/home/airlied/devel/kernel/drm-next/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:297:2:
note: in expansion of macro ‘pr_debug’
  pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
  ^~~~~~~~

On 32-bit arm build.

Dave.
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to