@@ -53,13 +53,13 @@ enum {
5353#define DBG_FORCE_RELOC 0 /* choose one of the above! */
5454};
5555
56- /* __EXEC_OBJECT_NO_RESERVE is BIT(31), defined in i915_vma.h */
57- #define __EXEC_OBJECT_HAS_PIN BIT(30 )
58- #define __EXEC_OBJECT_HAS_FENCE BIT(29 )
59- #define __EXEC_OBJECT_USERPTR_INIT BIT(28 )
60- #define __EXEC_OBJECT_NEEDS_MAP BIT(27 )
61- #define __EXEC_OBJECT_NEEDS_BIAS BIT(26 )
62- #define __EXEC_OBJECT_INTERNAL_FLAGS (~0u << 26 ) /* all of the above + */
56+ /* __EXEC_OBJECT_ flags > BIT(29) defined in i915_vma.h */
57+ #define __EXEC_OBJECT_HAS_PIN BIT(29 )
58+ #define __EXEC_OBJECT_HAS_FENCE BIT(28 )
59+ #define __EXEC_OBJECT_USERPTR_INIT BIT(27 )
60+ #define __EXEC_OBJECT_NEEDS_MAP BIT(26 )
61+ #define __EXEC_OBJECT_NEEDS_BIAS BIT(25 )
62+ #define __EXEC_OBJECT_INTERNAL_FLAGS (~0u << 25 ) /* all of the above + */
6363#define __EXEC_OBJECT_RESERVED (__EXEC_OBJECT_HAS_PIN | __EXEC_OBJECT_HAS_FENCE)
6464
6565#define __EXEC_HAS_RELOC BIT(31)
@@ -2101,7 +2101,8 @@ static int eb_move_to_gpu(struct i915_execbuffer *eb)
21012101 eb -> composite_fence ?
21022102 eb -> composite_fence :
21032103 & eb -> requests [j ]-> fence ,
2104- flags | __EXEC_OBJECT_NO_RESERVE );
2104+ flags | __EXEC_OBJECT_NO_RESERVE |
2105+ __EXEC_OBJECT_NO_REQUEST_AWAIT );
21052106 }
21062107 }
21072108
@@ -2148,7 +2149,8 @@ static int eb_move_to_gpu(struct i915_execbuffer *eb)
21482149 return err ;
21492150}
21502151
2151- static int i915_gem_check_execbuffer (struct drm_i915_gem_execbuffer2 * exec )
2152+ static int i915_gem_check_execbuffer (struct drm_i915_private * i915 ,
2153+ struct drm_i915_gem_execbuffer2 * exec )
21522154{
21532155 if (exec -> flags & __I915_EXEC_ILLEGAL_FLAGS )
21542156 return - EINVAL ;
@@ -2161,7 +2163,7 @@ static int i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
21612163 }
21622164
21632165 if (exec -> DR4 == 0xffffffff ) {
2164- DRM_DEBUG ( "UXA submitting garbage DR4, fixing up\n" );
2166+ drm_dbg ( & i915 -> drm , "UXA submitting garbage DR4, fixing up\n" );
21652167 exec -> DR4 = 0 ;
21662168 }
21672169 if (exec -> DR1 || exec -> DR4 )
@@ -2799,15 +2801,17 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
27992801
28002802 syncobj = drm_syncobj_find (eb -> file , user_fence .handle );
28012803 if (!syncobj ) {
2802- DRM_DEBUG ("Invalid syncobj handle provided\n" );
2804+ drm_dbg (& eb -> i915 -> drm ,
2805+ "Invalid syncobj handle provided\n" );
28032806 return - ENOENT ;
28042807 }
28052808
28062809 fence = drm_syncobj_fence_get (syncobj );
28072810
28082811 if (!fence && user_fence .flags &&
28092812 !(user_fence .flags & I915_EXEC_FENCE_SIGNAL )) {
2810- DRM_DEBUG ("Syncobj handle has no fence\n" );
2813+ drm_dbg (& eb -> i915 -> drm ,
2814+ "Syncobj handle has no fence\n" );
28112815 drm_syncobj_put (syncobj );
28122816 return - EINVAL ;
28132817 }
@@ -2816,7 +2820,9 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
28162820 err = dma_fence_chain_find_seqno (& fence , point );
28172821
28182822 if (err && !(user_fence .flags & I915_EXEC_FENCE_SIGNAL )) {
2819- DRM_DEBUG ("Syncobj handle missing requested point %llu\n" , point );
2823+ drm_dbg (& eb -> i915 -> drm ,
2824+ "Syncobj handle missing requested point %llu\n" ,
2825+ point );
28202826 dma_fence_put (fence );
28212827 drm_syncobj_put (syncobj );
28222828 return err ;
@@ -2842,7 +2848,8 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
28422848 * 0) would break the timeline.
28432849 */
28442850 if (user_fence .flags & I915_EXEC_FENCE_WAIT ) {
2845- DRM_DEBUG ("Trying to wait & signal the same timeline point.\n" );
2851+ drm_dbg (& eb -> i915 -> drm ,
2852+ "Trying to wait & signal the same timeline point.\n" );
28462853 dma_fence_put (fence );
28472854 drm_syncobj_put (syncobj );
28482855 return - EINVAL ;
@@ -2913,14 +2920,16 @@ static int add_fence_array(struct i915_execbuffer *eb)
29132920
29142921 syncobj = drm_syncobj_find (eb -> file , user_fence .handle );
29152922 if (!syncobj ) {
2916- DRM_DEBUG ("Invalid syncobj handle provided\n" );
2923+ drm_dbg (& eb -> i915 -> drm ,
2924+ "Invalid syncobj handle provided\n" );
29172925 return - ENOENT ;
29182926 }
29192927
29202928 if (user_fence .flags & I915_EXEC_FENCE_WAIT ) {
29212929 fence = drm_syncobj_fence_get (syncobj );
29222930 if (!fence ) {
2923- DRM_DEBUG ("Syncobj handle has no fence\n" );
2931+ drm_dbg (& eb -> i915 -> drm ,
2932+ "Syncobj handle has no fence\n" );
29242933 drm_syncobj_put (syncobj );
29252934 return - EINVAL ;
29262935 }
@@ -3515,7 +3524,7 @@ i915_gem_execbuffer2_ioctl(struct drm_device *dev, void *data,
35153524 return - EINVAL ;
35163525 }
35173526
3518- err = i915_gem_check_execbuffer (args );
3527+ err = i915_gem_check_execbuffer (i915 , args );
35193528 if (err )
35203529 return err ;
35213530
0 commit comments