On Friday, 2017-04-28 13:14:20 +0200, Philipp Zabel wrote:
> To restart interrupted system calls, use drmIoctl.
> 
> Suggested-by: Emil Velikov <[email protected]>
> Signed-off-by: Philipp Zabel <[email protected]>

Reviewed-by: Eric Engestrom <[email protected]>

A quick grep shows 8 other `ioctl()`; do we want to fix them as well?

src/gallium/auxiliary/hud/hud_nic.c:128:   if (ioctl(sockfd, SIOCGIWRATE, &req) 
== -1) {
src/gallium/auxiliary/hud/hud_nic.c:163:   if (ioctl(sockfd, SIOCGIWSTATS, 
&req) == -1) {
src/gallium/winsys/i915/drm/i915_drm_winsys.c:27:   ret = ioctl(fd, 
DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp));
src/gallium/winsys/radeon/drm/radeon_drm_bo.c:1305:            if 
(ioctl(ws->fd, DRM_IOCTL_GEM_FLINK, &flink)) {
src/intel/vulkan/anv_gem.c:207:      ret = ioctl(device->fd, 
DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
src/intel/vulkan/anv_gem.c:257:      ret = ioctl(fd, 
DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
src/intel/vulkan/anv_gem.c:39:      ret = ioctl(fd, request, arg);
src/mesa/drivers/dri/i965/brw_bufmgr.c:994:      ret = ioctl(bufmgr->fd, 
DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);


> ---
> Applies on top of the "renderonly: drop resources on destroy" patch:
> https://patchwork.freedesktop.org/patch/153274/
> ---
>  src/gallium/auxiliary/renderonly/renderonly.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/renderonly/renderonly.c 
> b/src/gallium/auxiliary/renderonly/renderonly.c
> index f377c368e5..2fe1009016 100644
> --- a/src/gallium/auxiliary/renderonly/renderonly.c
> +++ b/src/gallium/auxiliary/renderonly/renderonly.c
> @@ -29,7 +29,6 @@
>  #include <errno.h>
>  #include <fcntl.h>
>  #include <stdio.h>
> -#include <sys/ioctl.h>
>  #include <xf86drm.h>
>  
>  #include "state_tracker/drm_driver.h"
> @@ -74,7 +73,7 @@ renderonly_scanout_destroy(struct renderonly_scanout 
> *scanout,
>     pipe_resource_reference(&scanout->prime, NULL);
>     if (ro->kms_fd != -1) {
>        destroy_dumb.handle = scanout->handle;
> -      ioctl(ro->kms_fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
> +      drmIoctl(ro->kms_fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
>     }
>     FREE(scanout);
>  }
> @@ -99,7 +98,7 @@ renderonly_create_kms_dumb_buffer_for_resource(struct 
> pipe_resource *rsc,
>        return NULL;
>  
>     /* create dumb buffer at scanout GPU */
> -   err = ioctl(ro->kms_fd, DRM_IOCTL_MODE_CREATE_DUMB, &create_dumb);
> +   err = drmIoctl(ro->kms_fd, DRM_IOCTL_MODE_CREATE_DUMB, &create_dumb);
>     if (err < 0) {
>        fprintf(stderr, "DRM_IOCTL_MODE_CREATE_DUMB failed: %s\n",
>              strerror(errno));
> @@ -136,7 +135,7 @@ renderonly_create_kms_dumb_buffer_for_resource(struct 
> pipe_resource *rsc,
>  
>  free_dumb:
>     destroy_dumb.handle = scanout->handle;
> -   ioctl(ro->kms_fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
> +   drmIoctl(ro->kms_fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
>  
>  free_scanout:
>     FREE(scanout);
> -- 
> 2.11.0
> 
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to