diff options
author | Nathan Chancellor <natechancellor@gmail.com> | 2018-10-02 02:41:24 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-10-09 18:06:00 -0400 |
commit | c1f0320e03207255ef618d1bbfe0939d03c7cfac (patch) | |
tree | 8ea3391f1b0f41b79c8d65c5459185cbfdbd1441 | |
parent | 5e161e5442a8a209404542c91eb889487b1239f4 (diff) |
drm/scheduler: Simplify spsc_queue_count check in drm_sched_entity_select_rq
Clang generates a warning when it sees a logical not followed by a
conditional operator like ==, >, or <.
drivers/gpu/drm/scheduler/sched_entity.c:470:6: warning: logical not is
only applied to the left hand side of this comparison
[-Wlogical-not-parentheses]
if (!spsc_queue_count(&entity->job_queue) == 0 ||
^ ~~
drivers/gpu/drm/scheduler/sched_entity.c:470:6: note: add parentheses
after the '!' to evaluate the comparison first
if (!spsc_queue_count(&entity->job_queue) == 0 ||
^
( )
drivers/gpu/drm/scheduler/sched_entity.c:470:6: note: add parentheses
around left hand side expression to silence this warning
if (!spsc_queue_count(&entity->job_queue) == 0 ||
^
( )
1 warning generated.
It assumes the author might have made a mistake in their logic:
if (!a == b) -> if (!(a == b))
Sometimes that is the case; other times, it's just a super convoluted
way of saying 'if (a)' when b = 0:
if (!1 == 0) -> if (0 == 0) -> if (true)
Alternatively:
if (!1 == 0) -> if (!!1) -> if (1)
Simplify this comparison so that Clang doesn't complain.
Fixes: 35e160e781a0 ("drm/scheduler: change entities rq even earlier")
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/scheduler/sched_entity.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c index 4e5e95c0cab5..3e22a54a99c2 100644 --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c | |||
@@ -467,8 +467,7 @@ void drm_sched_entity_select_rq(struct drm_sched_entity *entity) | |||
467 | struct dma_fence *fence; | 467 | struct dma_fence *fence; |
468 | struct drm_sched_rq *rq; | 468 | struct drm_sched_rq *rq; |
469 | 469 | ||
470 | if (!spsc_queue_count(&entity->job_queue) == 0 || | 470 | if (spsc_queue_count(&entity->job_queue) || entity->num_rq_list <= 1) |
471 | entity->num_rq_list <= 1) | ||
472 | return; | 471 | return; |
473 | 472 | ||
474 | fence = READ_ONCE(entity->last_scheduled); | 473 | fence = READ_ONCE(entity->last_scheduled); |