[PATCH libdrm v4 1/2] etnaviv: change get_abs_timeout(..) to use ns.
Christian Gmeiner
christian.gmeiner at gmail.com
Thu Nov 24 08:46:58 UTC 2016
Also update all callers.
Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
---
etnaviv/etnaviv_bo.c | 2 +-
etnaviv/etnaviv_pipe.c | 2 +-
etnaviv/etnaviv_priv.h | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/etnaviv/etnaviv_bo.c b/etnaviv/etnaviv_bo.c
index 833f8bd..4ad0434 100644
--- a/etnaviv/etnaviv_bo.c
+++ b/etnaviv/etnaviv_bo.c
@@ -330,7 +330,7 @@ int etna_bo_cpu_prep(struct etna_bo *bo, uint32_t op)
.op = op,
};
- get_abs_timeout(&req.timeout, 5000);
+ get_abs_timeout(&req.timeout, 5000000000);
return drmCommandWrite(bo->dev->fd, DRM_ETNAVIV_GEM_CPU_PREP,
&req, sizeof(req));
diff --git a/etnaviv/etnaviv_pipe.c b/etnaviv/etnaviv_pipe.c
index 402b71d..1157fa6 100644
--- a/etnaviv/etnaviv_pipe.c
+++ b/etnaviv/etnaviv_pipe.c
@@ -43,7 +43,7 @@ int etna_pipe_wait(struct etna_pipe *pipe, uint32_t timestamp, uint32_t ms)
if (ms == 0)
req.flags |= ETNA_WAIT_NONBLOCK;
- get_abs_timeout(&req.timeout, ms);
+ get_abs_timeout(&req.timeout, ms * 1000000);
ret = drmCommandWrite(dev->fd, DRM_ETNAVIV_WAIT_FENCE, &req, sizeof(req));
if (ret) {
diff --git a/etnaviv/etnaviv_priv.h b/etnaviv/etnaviv_priv.h
index eb62ed3..feaa5ad 100644
--- a/etnaviv/etnaviv_priv.h
+++ b/etnaviv/etnaviv_priv.h
@@ -189,13 +189,13 @@ struct etna_cmd_stream_priv {
#define VOID2U64(x) ((uint64_t)(unsigned long)(x))
-static inline void get_abs_timeout(struct drm_etnaviv_timespec *tv, uint32_t ms)
+static inline void get_abs_timeout(struct drm_etnaviv_timespec *tv, uint64_t ns)
{
struct timespec t;
- uint32_t s = ms / 1000;
+ uint32_t s = ns / 1000000000;
clock_gettime(CLOCK_MONOTONIC, &t);
tv->tv_sec = t.tv_sec + s;
- tv->tv_nsec = t.tv_nsec + ((ms - (s * 1000)) * 1000000);
+ tv->tv_nsec = t.tv_nsec + ns - (s * 1000000000);
}
#endif /* ETNAVIV_PRIV_H_ */
--
2.7.4
More information about the dri-devel
mailing list