[PATCH libdrm v3 0/4] etna_pipe_wait_ns(..)

Emil Velikov emil.l.velikov at gmail.com
Wed Nov 23 18:18:39 UTC 2016


On 23 November 2016 at 07:26, Christian Gmeiner
<christian.gmeiner at gmail.com> wrote:
> Add an API to pass the timeout value (ns) from pipe->fence_finish(..)
> to the kernel. The current API accepts ms and special handling is needed
> for PIPE_TIMEOUT_INFINITE.
>
> The idea is not to break old mesa (out-of-tree) + new libdrm. It may be
> possible to break etnaviv's ABI as the gallium driver is not upstream yet
> but I am quite unsure whats the best solution.
>
I'm kind of split with a small inclination towards "break it" ;-)

IIRC tegra also had an ABI break and if there is nothing upstream then
there's "nothing to break".
I'd check with Lucas [I believe he's using your github branch] and
other prominent etnaviv users/devs. on the topic. IMHO whichever route
you guys are happy with, goes.

> Changes from v2 to v3:
>  - Builds at each step
>  - Keep the _ns postfix of get_abs_timeout_ns(..)
>
> Christian Gmeiner (4):
>   etnaviv: add etna_pipe_wait_ns(..)
>   etnaviv: simplify etna_pipe_wait(..)
>   etnaviv: use get_abs_timeout_ns(..) internally
>   etnaviv: drop get_abs_timeout(..)
>
<nitpicking>

Just a suggestion.

How does the following approach sound:
 - change get_abs_timeout to use ns/update callers
 - (if you'd like having new API) add etna_pipe_wait_ns and implement
etna_pipe_wait via it (merge 1 and 2)
Then...

>  etnaviv/etnaviv-symbol-check | 1 +
>  etnaviv/etnaviv_bo.c         | 2 +-
>  etnaviv/etnaviv_drmif.h      | 1 +
>  etnaviv/etnaviv_pipe.c       | 9 +++++++--
>  etnaviv/etnaviv_priv.h       | 6 +++---
>  5 files changed, 13 insertions(+), 6 deletions(-)

... this diff will reflect reality. Atm it's more of
 5 files changed, 35 insertions(+) 29 deletions(-)

</nitpicking>

-Emil


More information about the dri-devel mailing list