[PATCH 14/25] drm/amdkfd: Populate DRM render device minor

Christian König ckoenig.leichtzumerken at gmail.com
Fri Feb 9 12:34:58 UTC 2018


I really wonder if sharing the GPUVM instance from a render node file 
descriptor wouldn't be easier.

You could just use the existing IOCTL for allocating and mapping memory 
on a render node and then give the prepared fd to kfd to use.

Regards,
Christian.

Am 07.02.2018 um 02:32 schrieb Felix Kuehling:
> From: Oak Zeng <Oak.Zeng at amd.com>
>
> Populate DRM render device minor in kfd topology
>
> Signed-off-by: Oak Zeng <Oak.Zeng at amd.com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 4 ++++
>   drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 1 +
>   2 files changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> index 2506155..ac28abc 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> @@ -441,6 +441,8 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr,
>   			dev->node_props.device_id);
>   	sysfs_show_32bit_prop(buffer, "location_id",
>   			dev->node_props.location_id);
> +	sysfs_show_32bit_prop(buffer, "drm_render_minor",
> +			dev->node_props.drm_render_minor);
>   
>   	if (dev->gpu) {
>   		log_max_watch_addr =
> @@ -1214,6 +1216,8 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
>   		dev->gpu->kfd2kgd->get_max_engine_clock_in_mhz(dev->gpu->kgd);
>   	dev->node_props.max_engine_clk_ccompute =
>   		cpufreq_quick_get_max(0) / 1000;
> +	dev->node_props.drm_render_minor =
> +		gpu->shared_resources.drm_render_minor;
>   
>   	kfd_fill_mem_clk_max_info(dev);
>   	kfd_fill_iolink_non_crat_info(dev);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> index c0be2be..eb54cfc 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> @@ -71,6 +71,7 @@ struct kfd_node_properties {
>   	uint32_t location_id;
>   	uint32_t max_engine_clk_fcompute;
>   	uint32_t max_engine_clk_ccompute;
> +	int32_t  drm_render_minor;
>   	uint16_t marketing_name[KFD_TOPOLOGY_PUBLIC_NAME_SIZE];
>   };
>   



More information about the amd-gfx mailing list