Hi Gabriel,

2017-02-15 Gabriel Krisman Bertazi <kris...@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 <kris...@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.pado...@collabora.com>

Gustavo
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to