intel: Suppress the error return from setting domains after mapping.
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 Jun 2010 19:12:44 +0000 (20:12 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 Jun 2010 19:16:56 +0000 (20:16 +0100)
If the mapping succeeds we have a valid pointer. If setting the domain
failures we may incur cache corruption. However the usual failure mode
is because of a hung GPU, in which case it is preferable to ignore the
minor error from setting the domain and continue on oblivious. If
these errors persist, we should rate limit the warning [or even just
remove it].

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
intel/intel_bufmgr_gem.c

index 26dc334..3446390 100644 (file)
@@ -1006,12 +1006,9 @@ static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
                            &set_domain);
        } while (ret == -1 && errno == EINTR);
        if (ret != 0) {
-               ret = -errno;
                fprintf(stderr, "%s:%d: Error setting to CPU domain %d: %s\n",
                        __FILE__, __LINE__, bo_gem->gem_handle,
                        strerror(errno));
-               pthread_mutex_unlock(&bufmgr_gem->lock);
-               return ret;
        }
 
        pthread_mutex_unlock(&bufmgr_gem->lock);
@@ -1086,9 +1083,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
                            DRM_IOCTL_I915_GEM_SET_DOMAIN,
                            &set_domain);
        } while (ret == -1 && errno == EINTR);
-
        if (ret != 0) {
-               ret = -errno;
                fprintf(stderr, "%s:%d: Error setting domain %d: %s\n",
                        __FILE__, __LINE__, bo_gem->gem_handle,
                        strerror(errno));
@@ -1096,7 +1091,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
 
        pthread_mutex_unlock(&bufmgr_gem->lock);
 
-       return ret;
+       return 0;
 }
 
 int drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo)