#include "src/trace_processor/importers/ftrace/drm_tracker.h"
#include "perfetto/ext/base/string_utils.h"
#include "protos/perfetto/trace/ftrace/dma_fence.pbzero.h"
#include "protos/perfetto/trace/ftrace/drm.pbzero.h"
#include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h"
#include "protos/perfetto/trace/ftrace/gpu_scheduler.pbzero.h"
#include "src/trace_processor/importers/common/flow_tracker.h"
#include "src/trace_processor/importers/common/process_tracker.h"
#include "src/trace_processor/importers/common/slice_tracker.h"
#include "src/trace_processor/importers/common/track_tracker.h"
namespace perfetto {
namespace trace_processor {
namespace {
constexpr char kUnboundFenceTimeline[] = …;
}
DrmTracker::DrmTracker(TraceProcessorContext* context)
: … { … }
void DrmTracker::ParseDrm(int64_t timestamp,
uint32_t field_id,
uint32_t pid,
protozero::ConstBytes blob) { … }
TrackId DrmTracker::InternVblankTrack(int32_t crtc) { … }
void DrmTracker::DrmVblankEvent(int64_t timestamp,
int32_t crtc,
uint32_t seqno) { … }
void DrmTracker::DrmVblankEventDelivered(int64_t timestamp,
int32_t crtc,
uint32_t seqno) { … }
DrmTracker::SchedRing& DrmTracker::GetSchedRingByName(base::StringView name) { … }
void DrmTracker::BeginSchedRingSlice(int64_t timestamp, SchedRing& ring) { … }
void DrmTracker::DrmSchedJob(int64_t timestamp,
uint32_t pid,
base::StringView name,
uint64_t job_id) { … }
void DrmTracker::DrmRunJob(int64_t timestamp,
base::StringView name,
uint64_t job_id,
uint64_t fence_id) { … }
void DrmTracker::DrmSchedProcessJob(int64_t timestamp, uint64_t fence_id) { … }
DrmTracker::FenceTimeline& DrmTracker::GetFenceTimelineByContext(
uint32_t context,
base::StringView name) { … }
void DrmTracker::BeginFenceTimelineSlice(int64_t timestamp,
const FenceTimeline& timeline) { … }
void DrmTracker::DmaFenceInit(int64_t timestamp,
base::StringView name,
uint32_t context,
uint32_t seqno) { … }
void DrmTracker::DmaFenceEmit(int64_t timestamp,
base::StringView name,
uint32_t context,
uint32_t seqno) { … }
void DrmTracker::DmaFenceSignaled(int64_t timestamp,
base::StringView name,
uint32_t context,
uint32_t seqno) { … }
void DrmTracker::DmaFenceWaitStart(int64_t timestamp,
uint32_t pid,
uint32_t context,
uint32_t seqno) { … }
void DrmTracker::DmaFenceWaitEnd(int64_t timestamp, uint32_t pid) { … }
}
}