[PATCH 02/14] drm: qxl: Consolidate bo reservation when pinning

Gustavo Padovan gustavo at padovan.org
Fri Feb 17 19:58:12 UTC 2017


Hi Gabriel,

2017-02-15 Gabriel Krisman Bertazi <krisman at collabora.co.uk>:

> Every attempt to pin/unpin objects in memory requires
> qxl_bo_reserve/unreserve calls around the pinning operation to protect
> the object from concurrent access, which causes that call sequence to be
> reproduced every place where pinning is needed.  In some cases, that
> sequence was not executed correctly, resulting in potential unprotected
> pinning operations.
> 
> This commit encapsulates the reservation inside a new wrapper to make
> sure it is always handled properly.  In cases where reservation must be
> done beforehand, for some reason, one can use the unprotected version
> __qxl_bo_pin/unpin.
> 
> Signed-off-by: Gabriel Krisman Bertazi <krisman at collabora.co.uk>
> ---
>  drivers/gpu/drm/qxl/qxl_display.c | 52 ++++++---------------------------------
>  drivers/gpu/drm/qxl/qxl_fb.c      | 25 ++++++-------------
>  drivers/gpu/drm/qxl/qxl_object.c  | 41 ++++++++++++++++++++++++++++--
>  3 files changed, 54 insertions(+), 64 deletions(-)

Reviewed-by: Gustavo Padovan <gustavo.padovan at collabora.com>

Gustavo


More information about the dri-devel mailing list