[PATCH] amdgpu: add interface for reserve/unserve vmid

zhoucm1 david1.zhou at amd.com
Fri Apr 28 09:23:46 UTC 2017


anyone could give a quick review?

Regards,
David Zhou

On 2017年04月28日 17:22, Chunming Zhou wrote:
> Change-Id: If533576eb8a65bd019a3480d6fe2a64f23e3c944
> Signed-off-by: Chunming Zhou <David1.Zhou at amd.com>
> ---
>   amdgpu/amdgpu.h    | 13 +++++++++++++
>   amdgpu/amdgpu_cs.c | 30 ++++++++++++++++++++++++++++++
>   2 files changed, 43 insertions(+)
>
> diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h
> index 4772006..7afade0 100644
> --- a/amdgpu/amdgpu.h
> +++ b/amdgpu/amdgpu.h
> @@ -1626,6 +1626,19 @@ int amdgpu_cs_signal_sem(amdgpu_device_handle dev,
>   			 uint32_t ip_instance,
>   			 uint32_t ring,
>   			 amdgpu_sem_handle sem);
> +/**
> + *  reserve vmid for this process
> + *
> + * \param   dev    - [in] Device handle. See #amdgpu_device_initialize()
> + */
> +int amdgpu_cs_reserved_vmid(amdgpu_device_handle dev);
> +
> +/**
> + *  unreserve vmid for this process
> + *
> + * \param   dev    - [in] Device handle. See #amdgpu_device_initialize()
> + */
> +int amdgpu_cs_unreserved_vmid(amdgpu_device_handle dev);
>   
>   /**
>    *  wait sem
> diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c
> index 62b595a..df362ee 100644
> --- a/amdgpu/amdgpu_cs.c
> +++ b/amdgpu/amdgpu_cs.c
> @@ -754,3 +754,33 @@ int amdgpu_cs_destroy_sem(amdgpu_device_handle dev,
>   
>   	return 0;
>   }
> +
> +int amdgpu_cs_unreserved_vmid(amdgpu_device_handle dev)
> +{
> +	union drm_amdgpu_vm args;
> +	int r;
> +
> +	if (NULL == dev)
> +		return -EINVAL;
> +
> +	/* Create the context */
> +	memset(&args, 0, sizeof(args));
> +	args.in.op = AMDGPU_VM_OP_UNRESERVE_VMID;
> +	r = drmCommandWriteRead(dev->fd, DRM_AMDGPU_VM, &args, sizeof(args));
> +	return r;
> +}
> +
> +int amdgpu_cs_reserved_vmid(amdgpu_device_handle dev)
> +{
> +	union drm_amdgpu_vm args;
> +	int r;
> +
> +	if (NULL == dev)
> +		return -EINVAL;
> +
> +	/* Create the context */
> +	memset(&args, 0, sizeof(args));
> +	args.in.op = AMDGPU_VM_OP_RESERVE_VMID;
> +	r = drmCommandWriteRead(dev->fd, DRM_AMDGPU_VM, &args, sizeof(args));
> +	return r;
> +}



More information about the amd-gfx mailing list