Message ID | 20180804000102.17737-1-baijiaju1990@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gpu: drm: radeon: radeon_test: Replace mdelay() with msleep() | expand |
On Fri, Aug 3, 2018 at 8:01 PM, Jia-Ju Bai <baijiaju1990@gmail.com> wrote: > radeon_test_ring_sync() and radeon_test_ring_sync2() are never > called in atomic context. > They call mdelay() to busily wait, which is not necessary. > mdelay() can be replaced with msleep(). > > This is found by a static analysis tool named DCNS written by myself. > > Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Applied. thanks! Alex > --- > drivers/gpu/drm/radeon/radeon_test.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c > index f5e9abfadb56..411efa303f54 100644 > --- a/drivers/gpu/drm/radeon/radeon_test.c > +++ b/drivers/gpu/drm/radeon/radeon_test.c > @@ -347,7 +347,7 @@ void radeon_test_ring_sync(struct radeon_device *rdev, > if (r) > goto out_cleanup; > > - mdelay(1000); > + msleep(1000); > > if (radeon_fence_signaled(fence1)) { > DRM_ERROR("Fence 1 signaled without waiting for semaphore.\n"); > @@ -368,7 +368,7 @@ void radeon_test_ring_sync(struct radeon_device *rdev, > goto out_cleanup; > } > > - mdelay(1000); > + msleep(1000); > > if (radeon_fence_signaled(fence2)) { > DRM_ERROR("Fence 2 signaled without waiting for semaphore.\n"); > @@ -441,7 +441,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, > if (r) > goto out_cleanup; > > - mdelay(1000); > + msleep(1000); > > if (radeon_fence_signaled(fenceA)) { > DRM_ERROR("Fence A signaled without waiting for semaphore.\n"); > @@ -461,7 +461,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, > radeon_ring_unlock_commit(rdev, ringC, false); > > for (i = 0; i < 30; ++i) { > - mdelay(100); > + msleep(100); > sigA = radeon_fence_signaled(fenceA); > sigB = radeon_fence_signaled(fenceB); > if (sigA || sigB) > @@ -486,7 +486,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, > radeon_semaphore_emit_signal(rdev, ringC->idx, semaphore); > radeon_ring_unlock_commit(rdev, ringC, false); > > - mdelay(1000); > + msleep(1000); > > r = radeon_fence_wait(fenceA, false); > if (r) { > -- > 2.17.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c index f5e9abfadb56..411efa303f54 100644 --- a/drivers/gpu/drm/radeon/radeon_test.c +++ b/drivers/gpu/drm/radeon/radeon_test.c @@ -347,7 +347,7 @@ void radeon_test_ring_sync(struct radeon_device *rdev, if (r) goto out_cleanup; - mdelay(1000); + msleep(1000); if (radeon_fence_signaled(fence1)) { DRM_ERROR("Fence 1 signaled without waiting for semaphore.\n"); @@ -368,7 +368,7 @@ void radeon_test_ring_sync(struct radeon_device *rdev, goto out_cleanup; } - mdelay(1000); + msleep(1000); if (radeon_fence_signaled(fence2)) { DRM_ERROR("Fence 2 signaled without waiting for semaphore.\n"); @@ -441,7 +441,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, if (r) goto out_cleanup; - mdelay(1000); + msleep(1000); if (radeon_fence_signaled(fenceA)) { DRM_ERROR("Fence A signaled without waiting for semaphore.\n"); @@ -461,7 +461,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, radeon_ring_unlock_commit(rdev, ringC, false); for (i = 0; i < 30; ++i) { - mdelay(100); + msleep(100); sigA = radeon_fence_signaled(fenceA); sigB = radeon_fence_signaled(fenceB); if (sigA || sigB) @@ -486,7 +486,7 @@ static void radeon_test_ring_sync2(struct radeon_device *rdev, radeon_semaphore_emit_signal(rdev, ringC->idx, semaphore); radeon_ring_unlock_commit(rdev, ringC, false); - mdelay(1000); + msleep(1000); r = radeon_fence_wait(fenceA, false); if (r) {
radeon_test_ring_sync() and radeon_test_ring_sync2() are never called in atomic context. They call mdelay() to busily wait, which is not necessary. mdelay() can be replaced with msleep(). This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> --- drivers/gpu/drm/radeon/radeon_test.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)