summaryrefslogtreecommitdiff
path: root/tegra/private.h
diff options
context:
space:
mode:
Diffstat (limited to 'tegra/private.h')
-rw-r--r--tegra/private.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/tegra/private.h b/tegra/private.h
index 1c9fca7d..9e9ae86c 100644
--- a/tegra/private.h
+++ b/tegra/private.h
@@ -60,7 +60,7 @@ struct drm_tegra_bo {
struct drm_tegra *drm;
drmMMListHead list;
uint32_t handle;
- uint32_t offset;
+ uint64_t offset;
uint32_t flags;
uint32_t size;
atomic_t ref;
@@ -70,14 +70,8 @@ struct drm_tegra_bo {
struct drm_tegra_channel {
struct drm_tegra *drm;
enum host1x_class class;
+ unsigned int num_syncpts;
uint64_t context;
- uint32_t syncpt;
-};
-
-struct drm_tegra_fence {
- struct drm_tegra *drm;
- uint32_t syncpt;
- uint32_t value;
};
struct drm_tegra_pushbuf_private {
@@ -87,8 +81,12 @@ struct drm_tegra_pushbuf_private {
drmMMListHead bos;
struct drm_tegra_bo *bo;
+ unsigned int index;
uint32_t *start;
uint32_t *end;
+
+ struct drm_tegra_fence *fences;
+ unsigned int num_fences;
};
static inline struct drm_tegra_pushbuf_private *
@@ -102,22 +100,25 @@ int drm_tegra_pushbuf_queue(struct drm_tegra_pushbuf_private *pushbuf);
struct drm_tegra_job {
struct drm_tegra_channel *channel;
- unsigned int increments;
- uint32_t syncpt;
-
- struct drm_tegra_reloc *relocs;
- unsigned int num_relocs;
+ struct drm_tegra_buffer *buffers;
+ unsigned int num_buffers;
struct drm_tegra_cmdbuf *cmdbufs;
unsigned int num_cmdbufs;
+ struct drm_tegra_reloc *relocs;
+ unsigned int num_relocs;
+
struct drm_tegra_pushbuf_private *pushbuf;
drmMMListHead pushbufs;
};
-int drm_tegra_job_add_reloc(struct drm_tegra_job *job,
- const struct drm_tegra_reloc *reloc);
+int drm_tegra_job_add_buffer(struct drm_tegra_job *job,
+ const struct drm_tegra_buffer *buffer,
+ unsigned int *index);
int drm_tegra_job_add_cmdbuf(struct drm_tegra_job *job,
const struct drm_tegra_cmdbuf *cmdbuf);
+int drm_tegra_job_add_reloc(struct drm_tegra_job *job,
+ const struct drm_tegra_reloc *reloc);
#endif /* __DRM_TEGRA_PRIVATE_H__ */