diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 863cb668e000..74055cba3dc9 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -98,7 +98,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,  			     int alignment, u32 initial_domain,  			     u64 flags, enum ttm_bo_type type,  			     struct dma_resv *resv, -			     struct drm_gem_object **obj) +			     struct drm_gem_object **obj, int8_t xcp_id_plus1)  {  	struct amdgpu_bo *bo;  	struct amdgpu_bo_user *ubo; @@ -116,6 +116,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,  	bp.flags = flags;  	bp.domain = initial_domain;  	bp.bo_ptr_size = sizeof(struct amdgpu_bo); +	bp.xcp_id_plus1 = xcp_id_plus1;  	r = amdgpu_bo_create_user(adev, &bp, &ubo);  	if (r) @@ -336,7 +337,7 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,  retry:  	r = amdgpu_gem_object_create(adev, size, args->in.alignment,  				     initial_domain, -				     flags, ttm_bo_type_device, resv, &gobj); +				     flags, ttm_bo_type_device, resv, &gobj, fpriv->xcp_id + 1);  	if (r && r != -ERESTARTSYS) {  		if (flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) {  			flags &= ~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; @@ -379,6 +380,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,  	struct ttm_operation_ctx ctx = { true, false };  	struct amdgpu_device *adev = drm_to_adev(dev);  	struct drm_amdgpu_gem_userptr *args = data; +	struct amdgpu_fpriv *fpriv = filp->driver_priv;  	struct drm_gem_object *gobj;  	struct hmm_range *range;  	struct amdgpu_bo *bo; @@ -405,7 +407,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,  	/* create a gem object to contain this object in */  	r = amdgpu_gem_object_create(adev, args->size, 0, AMDGPU_GEM_DOMAIN_CPU, -				     0, ttm_bo_type_device, NULL, &gobj); +				     0, ttm_bo_type_device, NULL, &gobj, fpriv->xcp_id + 1);  	if (r)  		return r; @@ -908,6 +910,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,  			    struct drm_mode_create_dumb *args)  {  	struct amdgpu_device *adev = drm_to_adev(dev); +	struct amdgpu_fpriv *fpriv = file_priv->driver_priv;  	struct drm_gem_object *gobj;  	uint32_t handle;  	u64 flags = AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED | @@ -931,7 +934,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,  	domain = amdgpu_bo_get_preferred_domain(adev,  				amdgpu_display_supported_domains(adev, flags));  	r = amdgpu_gem_object_create(adev, args->size, 0, domain, flags, -				     ttm_bo_type_device, NULL, &gobj); +				     ttm_bo_type_device, NULL, &gobj, fpriv->xcp_id + 1);  	if (r)  		return -ENOMEM; @@ -948,7 +951,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,  #if defined(CONFIG_DEBUG_FS)  static int amdgpu_debugfs_gem_info_show(struct seq_file *m, void *unused)  { -	struct amdgpu_device *adev = (struct amdgpu_device *)m->private; +	struct amdgpu_device *adev = m->private;  	struct drm_device *dev = adev_to_drm(adev);  	struct drm_file *file;  	int r;  |