From: Jammy Zhou Jammy.Zhou@amd.com
Set the timeout to AMDGPU_TIMEOUT_INFINITE when overflow happens
Signed-off-by: Jammy Zhou Jammy.Zhou@amd.com Reviewed-by: Christian König christian.koenig@amd.com --- amdgpu/amdgpu_cs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 4da9821..aa594c4 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -289,12 +289,16 @@ drm_private uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout)
if (timeout != AMDGPU_TIMEOUT_INFINITE) { struct timespec current; + uint64_t current_ns; r = clock_gettime(CLOCK_MONOTONIC, ¤t); if (r) return r;
- timeout += ((uint64_t)current.tv_sec) * 1000000000ull; - timeout += current.tv_nsec; + current_ns = ((uint64_t)current.tv_sec) * 1000000000ull; + current_ns += current.tv_nsec; + timeout += current_ns; + if (timeout < current_ns) + timeout = AMDGPU_TIMEOUT_INFINITE; } return timeout; }
From: Tom St Denis tom.stdenis@amd.com
Signed-off-by: Tom St Denis tom.stdenis@amd.com Reviewed-by: Christian König christian.koenig@amd.com --- amdgpu/amdgpu_cs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index aa594c4..6747158 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -291,8 +291,10 @@ drm_private uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout) struct timespec current; uint64_t current_ns; r = clock_gettime(CLOCK_MONOTONIC, ¤t); - if (r) - return r; + if (r) { + fprintf(stderr, "clock_gettime() returned error (%d)!", errno); + return AMDGPU_TIMEOUT_INFINITE; + }
current_ns = ((uint64_t)current.tv_sec) * 1000000000ull; current_ns += current.tv_nsec;
I guess the patches should be for drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c instead?
Regards //Ernst
2015-11-21 1:24 GMT+01:00 Alex Deucher alexdeucher@gmail.com:
From: Jammy Zhou Jammy.Zhou@amd.com
Set the timeout to AMDGPU_TIMEOUT_INFINITE when overflow happens
Signed-off-by: Jammy Zhou Jammy.Zhou@amd.com Reviewed-by: Christian König christian.koenig@amd.com
amdgpu/amdgpu_cs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 4da9821..aa594c4 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -289,12 +289,16 @@ drm_private uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout)
if (timeout != AMDGPU_TIMEOUT_INFINITE) { struct timespec current;
uint64_t current_ns; r = clock_gettime(CLOCK_MONOTONIC, ¤t); if (r) return r;
timeout += ((uint64_t)current.tv_sec) * 1000000000ull;
timeout += current.tv_nsec;
current_ns = ((uint64_t)current.tv_sec) * 1000000000ull;
current_ns += current.tv_nsec;
timeout += current_ns;
if (timeout < current_ns)
timeout = AMDGPU_TIMEOUT_INFINITE; } return timeout;
}
1.8.3.1
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On 21.11.2015 11:48, Ernst Sjöstrand wrote:
I guess the patches should be for drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c instead?
No, why do you think so? This is a libdrm patch, not a kernel patch.
Regards, Christian.
Regards //Ernst
2015-11-21 1:24 GMT+01:00 Alex Deucher <alexdeucher@gmail.com mailto:alexdeucher@gmail.com>:
From: Jammy Zhou <Jammy.Zhou@amd.com <mailto:Jammy.Zhou@amd.com>> Set the timeout to AMDGPU_TIMEOUT_INFINITE when overflow happens Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com <mailto:Jammy.Zhou@amd.com>> Reviewed-by: Christian König <christian.koenig@amd.com <mailto:christian.koenig@amd.com>> --- amdgpu/amdgpu_cs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 4da9821..aa594c4 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -289,12 +289,16 @@ drm_private uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout) if (timeout != AMDGPU_TIMEOUT_INFINITE) { struct timespec current; + uint64_t current_ns; r = clock_gettime(CLOCK_MONOTONIC, ¤t); if (r) return r; - timeout += ((uint64_t)current.tv_sec) * 1000000000ull; - timeout += current.tv_nsec; + current_ns = ((uint64_t)current.tv_sec) * 1000000000ull; + current_ns += current.tv_nsec; + timeout += current_ns; + if (timeout < current_ns) + timeout = AMDGPU_TIMEOUT_INFINITE; } return timeout; } -- 1.8.3.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org <mailto:dri-devel@lists.freedesktop.org> http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Doh, I didn't get that! Sorry.
Regards //Ernst
2015-11-21 12:07 GMT+01:00 Christian König deathsimple@vodafone.de:
On 21.11.2015 11:48, Ernst Sjöstrand wrote:
I guess the patches should be for drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c instead?
No, why do you think so? This is a libdrm patch, not a kernel patch.
Regards, Christian.
Regards //Ernst
2015-11-21 1:24 GMT+01:00 Alex Deucher alexdeucher@gmail.com:
From: Jammy Zhou Jammy.Zhou@amd.com
Set the timeout to AMDGPU_TIMEOUT_INFINITE when overflow happens
Signed-off-by: Jammy Zhou Jammy.Zhou@amd.com Reviewed-by: Christian König christian.koenig@amd.com
amdgpu/amdgpu_cs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 4da9821..aa594c4 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -289,12 +289,16 @@ drm_private uint64_t amdgpu_cs_calculate_timeout(uint64_t timeout)
if (timeout != AMDGPU_TIMEOUT_INFINITE) { struct timespec current;
uint64_t current_ns; r = clock_gettime(CLOCK_MONOTONIC, ¤t); if (r) return r;
timeout += ((uint64_t)current.tv_sec) * 1000000000ull;
timeout += current.tv_nsec;
current_ns = ((uint64_t)current.tv_sec) * 1000000000ull;
current_ns += current.tv_nsec;
timeout += current_ns;
if (timeout < current_ns)
timeout = AMDGPU_TIMEOUT_INFINITE; } return timeout;
}
1.8.3.1
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel mailing listdri-devel@lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org