File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed
drivers/gpu/drm/scheduler Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -385,7 +385,8 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity)
385
385
}
386
386
387
387
s_fence = to_drm_sched_fence (fence );
388
- if (s_fence && s_fence -> sched == sched ) {
388
+ if (s_fence && s_fence -> sched == sched &&
389
+ !test_bit (DRM_SCHED_FENCE_DONT_PIPELINE , & fence -> flags )) {
389
390
390
391
/*
391
392
* Fence is from the same scheduler, only need to wait for
Original file line number Diff line number Diff line change 32
32
33
33
#define MAX_WAIT_SCHED_ENTITY_Q_EMPTY msecs_to_jiffies(1000)
34
34
35
+ /**
36
+ * DRM_SCHED_FENCE_DONT_PIPELINE - Prefent dependency pipelining
37
+ *
38
+ * Setting this flag on a scheduler fence prevents pipelining of jobs depending
39
+ * on this fence. In other words we always insert a full CPU round trip before
40
+ * dependen jobs are pushed to the hw queue.
41
+ */
42
+ #define DRM_SCHED_FENCE_DONT_PIPELINE DMA_FENCE_FLAG_USER_BITS
43
+
35
44
struct drm_gem_object ;
36
45
37
46
struct drm_gpu_scheduler ;
You can’t perform that action at this time.
0 commit comments