diff options
author | Thierry Reding <treding@nvidia.com> | 2018-04-23 10:52:40 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-05-02 17:29:40 +0200 |
commit | d68e69983555bbb858139ee6e6f1abe5ccc3c31e (patch) | |
tree | 3205c25685edae779965a545b9c09aceba522fb2 | |
parent | 9b44f814ea1a6d2bfc12549670824d8206b015af (diff) |
tegra: Allow channels to return a version
When opening a channel, allow a version number to be returned so that
userspace can parameterize based on it, rather than having to guess a
version from the environment.
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | tegra/channel.c | 6 | ||||
-rw-r--r-- | tegra/private.h | 1 | ||||
-rw-r--r-- | tegra/tegra.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/tegra/channel.c b/tegra/channel.c index 4a41daaa..9c7d8016 100644 --- a/tegra/channel.c +++ b/tegra/channel.c @@ -75,6 +75,7 @@ int drm_tegra_channel_open(struct drm_tegra_channel **channelp, } channel->num_syncpts = args.syncpts; + channel->version = args.version; channel->context = args.context; channel->class = class; @@ -110,3 +111,8 @@ unsigned int drm_tegra_channel_get_syncpoints(struct drm_tegra_channel *channel) { return channel->num_syncpts; } + +unsigned int drm_tegra_channel_get_version(struct drm_tegra_channel *channel) +{ + return channel->version; +} diff --git a/tegra/private.h b/tegra/private.h index 9e9ae86c..c30fd68f 100644 --- a/tegra/private.h +++ b/tegra/private.h @@ -71,6 +71,7 @@ struct drm_tegra_channel { struct drm_tegra *drm; enum host1x_class class; unsigned int num_syncpts; + unsigned int version; uint64_t context; }; diff --git a/tegra/tegra.h b/tegra/tegra.h index c8576751..f0b68ddc 100644 --- a/tegra/tegra.h +++ b/tegra/tegra.h @@ -85,6 +85,7 @@ int drm_tegra_channel_open(struct drm_tegra_channel **channelp, enum drm_tegra_class client); int drm_tegra_channel_close(struct drm_tegra_channel *channel); unsigned int drm_tegra_channel_get_syncpoints(struct drm_tegra_channel *channel); +unsigned int drm_tegra_channel_get_version(struct drm_tegra_channel *channel); int drm_tegra_fence_wait(struct drm_tegra *drm, struct drm_tegra_fence *fence); |