diff options
Diffstat (limited to 'linux-core')
| -rw-r--r-- | linux-core/drm_bo.c | 13 | ||||
| -rw-r--r-- | linux-core/drm_objects.h | 1 | 
2 files changed, 10 insertions, 4 deletions
| diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c index 89c014e3..cc4743dc 100644 --- a/linux-core/drm_bo.c +++ b/linux-core/drm_bo.c @@ -1524,7 +1524,9 @@ EXPORT_SYMBOL(drm_bo_do_validate);  int drm_bo_handle_validate(struct drm_file * file_priv, uint32_t handle,  			   uint32_t fence_class, -			   uint64_t flags, uint64_t mask, uint32_t hint, +			   uint64_t flags, uint64_t mask,  +			   uint32_t hint, +			   int use_old_fence_class,  			   struct drm_bo_info_rep * rep,  			   struct drm_buffer_object **bo_rep)  { @@ -1537,10 +1539,12 @@ int drm_bo_handle_validate(struct drm_file * file_priv, uint32_t handle,  	bo = drm_lookup_buffer_object(file_priv, handle, 1);  	mutex_unlock(&dev->struct_mutex); -	if (!bo) { +	if (!bo)   		return -EINVAL; -	} -	 + +	if (use_old_fence_class) +		fence_class = bo->fence_class; +  	/*  	 * Only allow creator to change shared buffer mask.  	 */ @@ -1780,6 +1784,7 @@ int drm_bo_setstatus_ioctl(struct drm_device *dev,  				     req->flags,  				     req->mask,  				     req->hint | DRM_BO_HINT_DONT_FENCE, +				     1,  				     rep, NULL);  	if (ret) diff --git a/linux-core/drm_objects.h b/linux-core/drm_objects.h index 4d1ec993..f153b84a 100644 --- a/linux-core/drm_objects.h +++ b/linux-core/drm_objects.h @@ -510,6 +510,7 @@ extern int drm_bo_init_mm(struct drm_device * dev, unsigned type,  extern int drm_bo_handle_validate(struct drm_file * file_priv, uint32_t handle,  				  uint32_t fence_class, uint64_t flags,  				  uint64_t mask, uint32_t hint, +				  int use_old_fence_class,  				  struct drm_bo_info_rep * rep,  				  struct drm_buffer_object **bo_rep);  extern struct drm_buffer_object *drm_lookup_buffer_object(struct drm_file * file_priv, | 
