diff options
author | Dave Airlie <airlied@redhat.com> | 2014-11-14 18:38:55 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-11-14 18:38:55 -0500 |
commit | b0654103f55ebae8f72700b37f152942f34806cc (patch) | |
tree | 21c9796f4421e5cfdeece759a54c214010aca493 /include/trace | |
parent | 4fb2ac6ebe3ece9cafb2bb6d4a2e8e4edb124637 (diff) | |
parent | 7e0180e3570cc791e95e6b6cd5fbeb0aedc62776 (diff) |
Merge tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next
drm/tegra: Changes for v3.19-rc1
The highlights in this pull request are:
* IOMMU support: The Tegra DRM driver can now deal with discontiguous
buffers if an IOMMU exists in the system. That means it can allocate
using drm_gem_get_pages() and will map them into IOVA space via the
IOMMU API. Similarly, non-contiguous PRIME buffers can be imported
from a different driver, which allows better integration with gk20a
(nouveau) and less hacks.
* Universal planes: This is precursory work for atomic modesetting and
will allow hardware cursor support to be implemented on pre-Tegra114
where RGB cursors were not supported.
* DSI ganged-mode support: The DSI controller can now gang up with a
second DSI controller to drive high resolution DSI panels.
Besides those bigger changes there is a slew of fixes, cleanups, plugged
memory leaks and so on.
* tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux: (44 commits)
drm/tegra: gem: Check before freeing CMA memory
drm/tegra: fb: Add error codes to error messages
drm/tegra: fb: Properly release GEM objects on failure
drm/tegra: Detach panel when a connector is removed
drm/tegra: Plug memory leak
drm/tegra: gem: Use more consistent data types
drm/tegra: fb: Do not destroy framebuffer
drm/tegra: gem: dumb: pitch and size are outputs
drm/tegra: Enable the hotplug interrupt only when necessary
drm/tegra: dc: Universal plane support
drm/tegra: dc: Registers are 32 bits wide
drm/tegra: dc: Factor out DC, window and cursor commit
drm/tegra: Add IOMMU support
drm/tegra: Fix error handling cleanup
drm/tegra: gem: Use dma_mmap_writecombine()
drm/tegra: gem: Remove redundant drm_gem_free_mmap_offset()
drm/tegra: gem: Cleanup tegra_bo_create_with_handle()
drm/tegra: gem: Extract tegra_bo_alloc_object()
drm/tegra: dsi: Set up PHY_TIMING & BTA_TIMING registers earlier
drm/tegra: dsi: Replace 1000000 by USEC_PER_SEC
...
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/host1x.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/include/trace/events/host1x.h b/include/trace/events/host1x.h index 94db6a2c3540..63116362543c 100644 --- a/include/trace/events/host1x.h +++ b/include/trace/events/host1x.h | |||
@@ -29,6 +29,8 @@ | |||
29 | #include <linux/ktime.h> | 29 | #include <linux/ktime.h> |
30 | #include <linux/tracepoint.h> | 30 | #include <linux/tracepoint.h> |
31 | 31 | ||
32 | struct host1x_bo; | ||
33 | |||
32 | DECLARE_EVENT_CLASS(host1x, | 34 | DECLARE_EVENT_CLASS(host1x, |
33 | TP_PROTO(const char *name), | 35 | TP_PROTO(const char *name), |
34 | TP_ARGS(name), | 36 | TP_ARGS(name), |
@@ -79,14 +81,14 @@ TRACE_EVENT(host1x_cdma_push, | |||
79 | ); | 81 | ); |
80 | 82 | ||
81 | TRACE_EVENT(host1x_cdma_push_gather, | 83 | TRACE_EVENT(host1x_cdma_push_gather, |
82 | TP_PROTO(const char *name, u32 mem_id, | 84 | TP_PROTO(const char *name, struct host1x_bo *bo, |
83 | u32 words, u32 offset, void *cmdbuf), | 85 | u32 words, u32 offset, void *cmdbuf), |
84 | 86 | ||
85 | TP_ARGS(name, mem_id, words, offset, cmdbuf), | 87 | TP_ARGS(name, bo, words, offset, cmdbuf), |
86 | 88 | ||
87 | TP_STRUCT__entry( | 89 | TP_STRUCT__entry( |
88 | __field(const char *, name) | 90 | __field(const char *, name) |
89 | __field(u32, mem_id) | 91 | __field(struct host1x_bo *, bo) |
90 | __field(u32, words) | 92 | __field(u32, words) |
91 | __field(u32, offset) | 93 | __field(u32, offset) |
92 | __field(bool, cmdbuf) | 94 | __field(bool, cmdbuf) |
@@ -100,13 +102,13 @@ TRACE_EVENT(host1x_cdma_push_gather, | |||
100 | } | 102 | } |
101 | __entry->cmdbuf = cmdbuf; | 103 | __entry->cmdbuf = cmdbuf; |
102 | __entry->name = name; | 104 | __entry->name = name; |
103 | __entry->mem_id = mem_id; | 105 | __entry->bo = bo; |
104 | __entry->words = words; | 106 | __entry->words = words; |
105 | __entry->offset = offset; | 107 | __entry->offset = offset; |
106 | ), | 108 | ), |
107 | 109 | ||
108 | TP_printk("name=%s, mem_id=%08x, words=%u, offset=%d, contents=[%s]", | 110 | TP_printk("name=%s, bo=%p, words=%u, offset=%d, contents=[%s]", |
109 | __entry->name, __entry->mem_id, | 111 | __entry->name, __entry->bo, |
110 | __entry->words, __entry->offset, | 112 | __entry->words, __entry->offset, |
111 | __print_hex(__get_dynamic_array(cmdbuf), | 113 | __print_hex(__get_dynamic_array(cmdbuf), |
112 | __entry->cmdbuf ? __entry->words * 4 : 0)) | 114 | __entry->cmdbuf ? __entry->words * 4 : 0)) |
@@ -221,12 +223,13 @@ TRACE_EVENT(host1x_syncpt_load_min, | |||
221 | ); | 223 | ); |
222 | 224 | ||
223 | TRACE_EVENT(host1x_syncpt_wait_check, | 225 | TRACE_EVENT(host1x_syncpt_wait_check, |
224 | TP_PROTO(void *mem_id, u32 offset, u32 syncpt_id, u32 thresh, u32 min), | 226 | TP_PROTO(struct host1x_bo *bo, u32 offset, u32 syncpt_id, u32 thresh, |
227 | u32 min), | ||
225 | 228 | ||
226 | TP_ARGS(mem_id, offset, syncpt_id, thresh, min), | 229 | TP_ARGS(bo, offset, syncpt_id, thresh, min), |
227 | 230 | ||
228 | TP_STRUCT__entry( | 231 | TP_STRUCT__entry( |
229 | __field(void *, mem_id) | 232 | __field(struct host1x_bo *, bo) |
230 | __field(u32, offset) | 233 | __field(u32, offset) |
231 | __field(u32, syncpt_id) | 234 | __field(u32, syncpt_id) |
232 | __field(u32, thresh) | 235 | __field(u32, thresh) |
@@ -234,15 +237,15 @@ TRACE_EVENT(host1x_syncpt_wait_check, | |||
234 | ), | 237 | ), |
235 | 238 | ||
236 | TP_fast_assign( | 239 | TP_fast_assign( |
237 | __entry->mem_id = mem_id; | 240 | __entry->bo = bo; |
238 | __entry->offset = offset; | 241 | __entry->offset = offset; |
239 | __entry->syncpt_id = syncpt_id; | 242 | __entry->syncpt_id = syncpt_id; |
240 | __entry->thresh = thresh; | 243 | __entry->thresh = thresh; |
241 | __entry->min = min; | 244 | __entry->min = min; |
242 | ), | 245 | ), |
243 | 246 | ||
244 | TP_printk("mem_id=%p, offset=%05x, id=%d, thresh=%d, current=%d", | 247 | TP_printk("bo=%p, offset=%05x, id=%d, thresh=%d, current=%d", |
245 | __entry->mem_id, __entry->offset, | 248 | __entry->bo, __entry->offset, |
246 | __entry->syncpt_id, __entry->thresh, | 249 | __entry->syncpt_id, __entry->thresh, |
247 | __entry->min) | 250 | __entry->min) |
248 | ); | 251 | ); |