|
@@ -307,6 +307,7 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
|
|
|
struct trace_array_cpu *data,
|
|
|
struct mmiotrace_rw *rw)
|
|
|
{
|
|
|
+ struct ftrace_event_call *call = &event_mmiotrace_rw;
|
|
|
struct ring_buffer *buffer = tr->buffer;
|
|
|
struct ring_buffer_event *event;
|
|
|
struct trace_mmiotrace_rw *entry;
|
|
@@ -320,7 +321,9 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
|
|
|
}
|
|
|
entry = ring_buffer_event_data(event);
|
|
|
entry->rw = *rw;
|
|
|
- trace_buffer_unlock_commit(buffer, event, 0, pc);
|
|
|
+
|
|
|
+ if (!filter_check_discard(call, entry, buffer, event))
|
|
|
+ trace_buffer_unlock_commit(buffer, event, 0, pc);
|
|
|
}
|
|
|
|
|
|
void mmio_trace_rw(struct mmiotrace_rw *rw)
|
|
@@ -334,6 +337,7 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
|
|
|
struct trace_array_cpu *data,
|
|
|
struct mmiotrace_map *map)
|
|
|
{
|
|
|
+ struct ftrace_event_call *call = &event_mmiotrace_map;
|
|
|
struct ring_buffer *buffer = tr->buffer;
|
|
|
struct ring_buffer_event *event;
|
|
|
struct trace_mmiotrace_map *entry;
|
|
@@ -347,7 +351,9 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
|
|
|
}
|
|
|
entry = ring_buffer_event_data(event);
|
|
|
entry->map = *map;
|
|
|
- trace_buffer_unlock_commit(buffer, event, 0, pc);
|
|
|
+
|
|
|
+ if (!filter_check_discard(call, entry, buffer, event))
|
|
|
+ trace_buffer_unlock_commit(buffer, event, 0, pc);
|
|
|
}
|
|
|
|
|
|
void mmio_trace_mapping(struct mmiotrace_map *map)
|