git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ALSA: usb-audio: add UAC2 sepecific Feature Unit controls
[safe/jmp/linux-2.6]
/
kernel
/
trace
/
trace_mmiotrace.c
diff --git
a/kernel/trace/trace_mmiotrace.c
b/kernel/trace/trace_mmiotrace.c
index
104ddeb
..
017fa37
100644
(file)
--- a/
kernel/trace/trace_mmiotrace.c
+++ b/
kernel/trace/trace_mmiotrace.c
@@
-9,6
+9,9
@@
#include <linux/kernel.h>
#include <linux/mmiotrace.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/mmiotrace.h>
#include <linux/pci.h>
+#include <linux/slab.h>
+#include <linux/time.h>
+
#include <asm/atomic.h>
#include "trace.h"
#include <asm/atomic.h>
#include "trace.h"
@@
-174,7
+177,7
@@
static enum print_line_t mmio_print_rw(struct trace_iterator *iter)
struct mmiotrace_rw *rw;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
struct mmiotrace_rw *rw;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
- unsigned long usec_rem = do_div(t,
1000000ULL
);
+ unsigned long usec_rem = do_div(t,
USEC_PER_SEC
);
unsigned secs = (unsigned long)t;
int ret = 1;
unsigned secs = (unsigned long)t;
int ret = 1;
@@
-221,7
+224,7
@@
static enum print_line_t mmio_print_map(struct trace_iterator *iter)
struct mmiotrace_map *m;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
struct mmiotrace_map *m;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
- unsigned long usec_rem = do_div(t,
1000000ULL
);
+ unsigned long usec_rem = do_div(t,
USEC_PER_SEC
);
unsigned secs = (unsigned long)t;
int ret;
unsigned secs = (unsigned long)t;
int ret;
@@
-257,7
+260,7
@@
static enum print_line_t mmio_print_mark(struct trace_iterator *iter)
const char *msg = print->buf;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
const char *msg = print->buf;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
- unsigned long usec_rem = do_div(t,
1000000ULL
);
+ unsigned long usec_rem = do_div(t,
USEC_PER_SEC
);
unsigned secs = (unsigned long)t;
int ret;
unsigned secs = (unsigned long)t;
int ret;
@@
-305,21
+308,23
@@
static void __trace_mmiotrace_rw(struct trace_array *tr,
struct trace_array_cpu *data,
struct mmiotrace_rw *rw)
{
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;
struct ring_buffer_event *event;
struct trace_mmiotrace_rw *entry;
+ int pc = preempt_count();
- event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
+ event = trace_buffer_lock_reserve(buffer, TRACE_MMIO_RW,
+ sizeof(*entry), 0, pc);
if (!event) {
atomic_inc(&dropped_count);
return;
}
entry = ring_buffer_event_data(event);
if (!event) {
atomic_inc(&dropped_count);
return;
}
entry = ring_buffer_event_data(event);
- tracing_generic_entry_update(&entry->ent, 0, preempt_count());
- entry->ent.type = TRACE_MMIO_RW;
entry->rw = *rw;
entry->rw = *rw;
- ring_buffer_unlock_commit(tr->buffer, event);
- trace_wake_up();
+ if (!filter_check_discard(call, entry, buffer, event))
+ trace_buffer_unlock_commit(buffer, event, 0, pc);
}
void mmio_trace_rw(struct mmiotrace_rw *rw)
}
void mmio_trace_rw(struct mmiotrace_rw *rw)
@@
-333,21
+338,23
@@
static void __trace_mmiotrace_map(struct trace_array *tr,
struct trace_array_cpu *data,
struct mmiotrace_map *map)
{
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;
struct ring_buffer_event *event;
struct trace_mmiotrace_map *entry;
+ int pc = preempt_count();
- event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
+ event = trace_buffer_lock_reserve(buffer, TRACE_MMIO_MAP,
+ sizeof(*entry), 0, pc);
if (!event) {
atomic_inc(&dropped_count);
return;
}
entry = ring_buffer_event_data(event);
if (!event) {
atomic_inc(&dropped_count);
return;
}
entry = ring_buffer_event_data(event);
- tracing_generic_entry_update(&entry->ent, 0, preempt_count());
- entry->ent.type = TRACE_MMIO_MAP;
entry->map = *map;
entry->map = *map;
- ring_buffer_unlock_commit(tr->buffer, event);
- trace_wake_up();
+ if (!filter_check_discard(call, entry, buffer, event))
+ trace_buffer_unlock_commit(buffer, event, 0, pc);
}
void mmio_trace_mapping(struct mmiotrace_map *map)
}
void mmio_trace_mapping(struct mmiotrace_map *map)
@@
-363,5
+370,5
@@
void mmio_trace_mapping(struct mmiotrace_map *map)
int mmio_trace_printk(const char *fmt, va_list args)
{
int mmio_trace_printk(const char *fmt, va_list args)
{
- return trace_vprintk(0,
-1,
fmt, args);
+ return trace_vprintk(0, fmt, args);
}
}