diff options
author | Peter Oberparleiter <peter.oberparleiter@de.ibm.com> | 2006-04-11 01:53:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-11 09:18:37 -0400 |
commit | 06fbcb104ad16c22eb5718ae598b306c777be8af (patch) | |
tree | 99e4099d9b20445d5af8fd1433431c1f8dc7e3d0 /drivers/s390 | |
parent | a7fbf6bba7f1f0616b0223a8b1cba91fffe607f5 (diff) |
[PATCH] s390: increase cio_trace debug event size
Debugging events in cio_trace/hex_ascii are truncated for some trace entries.
Increase trace event size to 16 bytes to cover longer text events, make
CIO_HEX_EVENT an inline function that loops to cover bigger hex events.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/cio/cio.c | 2 | ||||
-rw-r--r-- | drivers/s390/cio/cio_debug.h | 22 |
2 files changed, 15 insertions, 9 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index cbb86fa5f293..5b20d8c9c025 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -67,7 +67,7 @@ cio_debug_init (void) | |||
67 | goto out_unregister; | 67 | goto out_unregister; |
68 | debug_register_view (cio_debug_msg_id, &debug_sprintf_view); | 68 | debug_register_view (cio_debug_msg_id, &debug_sprintf_view); |
69 | debug_set_level (cio_debug_msg_id, 2); | 69 | debug_set_level (cio_debug_msg_id, 2); |
70 | cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 8); | 70 | cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 16); |
71 | if (!cio_debug_trace_id) | 71 | if (!cio_debug_trace_id) |
72 | goto out_unregister; | 72 | goto out_unregister; |
73 | debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view); | 73 | debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view); |
diff --git a/drivers/s390/cio/cio_debug.h b/drivers/s390/cio/cio_debug.h index 6af8b27d366b..f88844adae1b 100644 --- a/drivers/s390/cio/cio_debug.h +++ b/drivers/s390/cio/cio_debug.h | |||
@@ -3,6 +3,11 @@ | |||
3 | 3 | ||
4 | #include <asm/debug.h> | 4 | #include <asm/debug.h> |
5 | 5 | ||
6 | /* for use of debug feature */ | ||
7 | extern debug_info_t *cio_debug_msg_id; | ||
8 | extern debug_info_t *cio_debug_trace_id; | ||
9 | extern debug_info_t *cio_debug_crw_id; | ||
10 | |||
6 | #define CIO_TRACE_EVENT(imp, txt) do { \ | 11 | #define CIO_TRACE_EVENT(imp, txt) do { \ |
7 | debug_text_event(cio_debug_trace_id, imp, txt); \ | 12 | debug_text_event(cio_debug_trace_id, imp, txt); \ |
8 | } while (0) | 13 | } while (0) |
@@ -15,18 +20,19 @@ | |||
15 | debug_sprintf_event(cio_debug_crw_id, imp , ##args); \ | 20 | debug_sprintf_event(cio_debug_crw_id, imp , ##args); \ |
16 | } while (0) | 21 | } while (0) |
17 | 22 | ||
18 | #define CIO_HEX_EVENT(imp, args...) do { \ | 23 | static inline void |
19 | debug_event(cio_debug_trace_id, imp, ##args); \ | 24 | CIO_HEX_EVENT(int level, void *data, int length) |
20 | } while (0) | 25 | { |
26 | while (length > 0) { | ||
27 | debug_event(cio_debug_trace_id, level, data, length); | ||
28 | length -= cio_debug_trace_id->buf_size; | ||
29 | data += cio_debug_trace_id->buf_size; | ||
30 | } | ||
31 | } | ||
21 | 32 | ||
22 | #define CIO_DEBUG(printk_level,event_level,msg...) ({ \ | 33 | #define CIO_DEBUG(printk_level,event_level,msg...) ({ \ |
23 | if (cio_show_msg) printk(printk_level msg); \ | 34 | if (cio_show_msg) printk(printk_level msg); \ |
24 | CIO_MSG_EVENT (event_level, msg); \ | 35 | CIO_MSG_EVENT (event_level, msg); \ |
25 | }) | 36 | }) |
26 | 37 | ||
27 | /* for use of debug feature */ | ||
28 | extern debug_info_t *cio_debug_msg_id; | ||
29 | extern debug_info_t *cio_debug_trace_id; | ||
30 | extern debug_info_t *cio_debug_crw_id; | ||
31 | |||
32 | #endif | 38 | #endif |