57692c94dc
This driver will be used to support Mesa on the Broadcom 7268 and 7278 platforms. V3D 3.3 introduces an MMU, which means we no longer need CMA or vc4's complicated CL/shader validation scheme. This massively changes the GEM behavior, so I've forked off to a new driver. v2: Mark SUBMIT_CL as needing DRM_AUTH. coccinelle fixes from kbuild test robot. Drop personal git link from MAINTAINERS. Don't double-map dma-buf imported BOs. Add kerneldoc about needing MMU eviction. Drop prime vmap/unmap stubs. Delay mmap offset setup to mmap time. Use drm_dev_init instead of _alloc. Use ktime_get() for wait_bo timeouts. Drop drm_can_sleep() usage, since we don't modeset. Switch page tables back to WC (debug change to coherent had slipped in). Switch drm_gem_object_unreference_unlocked() to drm_gem_object_put_unlocked(). Simplify overflow mem handling by not sharing overflow mem between jobs. v3: no changes v4: align submit_cl to 64 bits (review by airlied), check zero flags in other ioctls. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v4) Acked-by: Dave Airlie <airlied@linux.ie> (v3, requested submit_cl change) Link: https://patchwork.freedesktop.org/patch/msgid/20180430181058.30181-3-eric@anholt.net
82 lines
1.8 KiB
C
82 lines
1.8 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/* Copyright (C) 2015-2018 Broadcom */
|
|
|
|
#if !defined(_V3D_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _V3D_TRACE_H_
|
|
|
|
#include <linux/stringify.h>
|
|
#include <linux/types.h>
|
|
#include <linux/tracepoint.h>
|
|
|
|
#undef TRACE_SYSTEM
|
|
#define TRACE_SYSTEM v3d
|
|
#define TRACE_INCLUDE_FILE v3d_trace
|
|
|
|
TRACE_EVENT(v3d_submit_cl,
|
|
TP_PROTO(struct drm_device *dev, bool is_render,
|
|
uint64_t seqno,
|
|
u32 ctnqba, u32 ctnqea),
|
|
TP_ARGS(dev, is_render, seqno, ctnqba, ctnqea),
|
|
|
|
TP_STRUCT__entry(
|
|
__field(u32, dev)
|
|
__field(bool, is_render)
|
|
__field(u64, seqno)
|
|
__field(u32, ctnqba)
|
|
__field(u32, ctnqea)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->dev = dev->primary->index;
|
|
__entry->is_render = is_render;
|
|
__entry->seqno = seqno;
|
|
__entry->ctnqba = ctnqba;
|
|
__entry->ctnqea = ctnqea;
|
|
),
|
|
|
|
TP_printk("dev=%u, %s, seqno=%llu, 0x%08x..0x%08x",
|
|
__entry->dev,
|
|
__entry->is_render ? "RCL" : "BCL",
|
|
__entry->seqno,
|
|
__entry->ctnqba,
|
|
__entry->ctnqea)
|
|
);
|
|
|
|
TRACE_EVENT(v3d_reset_begin,
|
|
TP_PROTO(struct drm_device *dev),
|
|
TP_ARGS(dev),
|
|
|
|
TP_STRUCT__entry(
|
|
__field(u32, dev)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->dev = dev->primary->index;
|
|
),
|
|
|
|
TP_printk("dev=%u",
|
|
__entry->dev)
|
|
);
|
|
|
|
TRACE_EVENT(v3d_reset_end,
|
|
TP_PROTO(struct drm_device *dev),
|
|
TP_ARGS(dev),
|
|
|
|
TP_STRUCT__entry(
|
|
__field(u32, dev)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->dev = dev->primary->index;
|
|
),
|
|
|
|
TP_printk("dev=%u",
|
|
__entry->dev)
|
|
);
|
|
|
|
#endif /* _V3D_TRACE_H_ */
|
|
|
|
/* This part must be outside protection */
|
|
#undef TRACE_INCLUDE_PATH
|
|
#define TRACE_INCLUDE_PATH .
|
|
#include <trace/define_trace.h>
|