@@ -26,8 +26,8 @@ MODULE_PARM_DESC(fw_log_level,
26
26
" error = " __stringify(IVPU_FW_LOG_ERROR)
27
27
" fatal = " __stringify(IVPU_FW_LOG_FATAL));
28
28
29
- static int fw_log_ptr (struct ivpu_device * vdev , struct ivpu_bo * bo , u32 * offset ,
30
- struct vpu_tracing_buffer_header * * log_header )
29
+ static int fw_log_from_bo (struct ivpu_device * vdev , struct ivpu_bo * bo , u32 * offset ,
30
+ struct vpu_tracing_buffer_header * * out_log )
31
31
{
32
32
struct vpu_tracing_buffer_header * log ;
33
33
@@ -48,7 +48,7 @@ static int fw_log_ptr(struct ivpu_device *vdev, struct ivpu_bo *bo, u32 *offset,
48
48
return - EINVAL ;
49
49
}
50
50
51
- * log_header = log ;
51
+ * out_log = log ;
52
52
* offset += log -> size ;
53
53
54
54
ivpu_dbg (vdev , FW_BOOT ,
@@ -59,7 +59,7 @@ static int fw_log_ptr(struct ivpu_device *vdev, struct ivpu_bo *bo, u32 *offset,
59
59
return 0 ;
60
60
}
61
61
62
- static void buffer_print (char * buffer , u32 size , struct drm_printer * p )
62
+ static void fw_log_print_lines (char * buffer , u32 size , struct drm_printer * p )
63
63
{
64
64
char line [IVPU_FW_LOG_LINE_LENGTH ];
65
65
u32 index = 0 ;
@@ -90,11 +90,11 @@ static void buffer_print(char *buffer, u32 size, struct drm_printer *p)
90
90
drm_printf (p , "%s\n" , line );
91
91
}
92
92
93
- static void fw_log_print_buffer (struct ivpu_device * vdev , struct vpu_tracing_buffer_header * log ,
94
- const char * prefix , bool only_new_msgs , struct drm_printer * p )
93
+ static void fw_log_print_buffer (struct vpu_tracing_buffer_header * log , const char * prefix ,
94
+ bool only_new_msgs , struct drm_printer * p )
95
95
{
96
- char * log_buffer = (void * )log + log -> header_size ;
97
- u32 log_size = log -> size - log -> header_size ;
96
+ char * log_data = (void * )log + log -> header_size ;
97
+ u32 data_size = log -> size - log -> header_size ;
98
98
u32 log_start = log -> read_index ;
99
99
u32 log_end = log -> write_index ;
100
100
@@ -106,51 +106,55 @@ static void fw_log_print_buffer(struct ivpu_device *vdev, struct vpu_tracing_buf
106
106
107
107
drm_printf (p , "==== %s \"%s\" log start ====\n" , prefix , log -> name );
108
108
if (log -> write_index > log -> read_index ) {
109
- buffer_print ( log_buffer + log_start , log_end - log_start , p );
109
+ fw_log_print_lines ( log_data + log_start , log_end - log_start , p );
110
110
} else {
111
- buffer_print ( log_buffer + log_end , log_size - log_end , p );
112
- buffer_print ( log_buffer , log_end , p );
111
+ fw_log_print_lines ( log_data + log_end , data_size - log_end , p );
112
+ fw_log_print_lines ( log_data , log_end , p );
113
113
}
114
114
drm_printf (p , "\x1b[0m" );
115
115
drm_printf (p , "==== %s \"%s\" log end ====\n" , prefix , log -> name );
116
116
}
117
117
118
- void ivpu_fw_log_print (struct ivpu_device * vdev , bool only_new_msgs , struct drm_printer * p )
118
+ static void
119
+ fw_log_print_all_in_bo (struct ivpu_device * vdev , const char * name ,
120
+ struct ivpu_bo * bo , bool only_new_msgs , struct drm_printer * p )
119
121
{
120
- struct vpu_tracing_buffer_header * log_header ;
122
+ struct vpu_tracing_buffer_header * log ;
121
123
u32 next = 0 ;
122
124
123
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_crit , & next , & log_header ) == 0 )
124
- fw_log_print_buffer (vdev , log_header , "NPU critical" , only_new_msgs , p );
125
+ while (fw_log_from_bo (vdev , bo , & next , & log ) == 0 )
126
+ fw_log_print_buffer (log , name , only_new_msgs , p );
127
+ }
125
128
126
- next = 0 ;
127
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_verb , & next , & log_header ) == 0 )
128
- fw_log_print_buffer (vdev , log_header , "NPU verbose" , only_new_msgs , p );
129
+ void ivpu_fw_log_print (struct ivpu_device * vdev , bool only_new_msgs , struct drm_printer * p )
130
+ {
131
+ fw_log_print_all_in_bo (vdev , "NPU critical" , vdev -> fw -> mem_log_crit , only_new_msgs , p );
132
+ fw_log_print_all_in_bo (vdev , "NPU verbose" , vdev -> fw -> mem_log_verb , only_new_msgs , p );
129
133
}
130
134
131
- void ivpu_fw_log_clear (struct ivpu_device * vdev )
135
+ void ivpu_fw_log_mark_read (struct ivpu_device * vdev )
132
136
{
133
- struct vpu_tracing_buffer_header * log_header ;
137
+ struct vpu_tracing_buffer_header * log ;
134
138
u32 next = 0 ;
135
139
136
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_crit , & next , & log_header ) == 0 )
137
- log_header -> read_index = log_header -> write_index ;
140
+ while (fw_log_from_bo (vdev , vdev -> fw -> mem_log_crit , & next , & log ) == 0 )
141
+ log -> read_index = log -> write_index ;
138
142
139
143
next = 0 ;
140
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_verb , & next , & log_header ) == 0 )
141
- log_header -> read_index = log_header -> write_index ;
144
+ while (fw_log_from_bo (vdev , vdev -> fw -> mem_log_verb , & next , & log ) == 0 )
145
+ log -> read_index = log -> write_index ;
142
146
}
143
147
144
148
void ivpu_fw_log_reset (struct ivpu_device * vdev )
145
149
{
146
- struct vpu_tracing_buffer_header * log_header ;
150
+ struct vpu_tracing_buffer_header * log ;
147
151
u32 next ;
148
152
149
153
next = 0 ;
150
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_crit , & next , & log_header ) == 0 )
151
- log_header -> read_index = 0 ;
154
+ while (fw_log_from_bo (vdev , vdev -> fw -> mem_log_crit , & next , & log ) == 0 )
155
+ log -> read_index = 0 ;
152
156
153
157
next = 0 ;
154
- while (fw_log_ptr (vdev , vdev -> fw -> mem_log_verb , & next , & log_header ) == 0 )
155
- log_header -> read_index = 0 ;
158
+ while (fw_log_from_bo (vdev , vdev -> fw -> mem_log_verb , & next , & log ) == 0 )
159
+ log -> read_index = 0 ;
156
160
}
0 commit comments