Lines Matching refs:log
23 log_to_guc(struct xe_guc_log *log) in log_to_guc() argument
25 return container_of(log, struct xe_guc, log); in log_to_guc()
29 log_to_gt(struct xe_guc_log *log) in log_to_gt() argument
31 return container_of(log, struct xe_gt, uc.guc.log); in log_to_gt()
35 log_to_xe(struct xe_guc_log *log) in log_to_xe() argument
37 return gt_to_xe(log_to_gt(log)); in log_to_xe()
67 static struct xe_guc_log_snapshot *xe_guc_log_snapshot_alloc(struct xe_guc_log *log, bool atomic) in xe_guc_log_snapshot_alloc() argument
82 snapshot->size = xe_bo_size(log->bo); in xe_guc_log_snapshot_alloc()
142 struct xe_guc_log_snapshot *xe_guc_log_snapshot_capture(struct xe_guc_log *log, bool atomic) in xe_guc_log_snapshot_capture() argument
145 struct xe_device *xe = log_to_xe(log); in xe_guc_log_snapshot_capture()
146 struct xe_guc *guc = log_to_guc(log); in xe_guc_log_snapshot_capture()
147 struct xe_gt *gt = log_to_gt(log); in xe_guc_log_snapshot_capture()
152 if (!log->bo) in xe_guc_log_snapshot_capture()
155 snapshot = xe_guc_log_snapshot_alloc(log, atomic); in xe_guc_log_snapshot_capture()
163 xe_map_memcpy_from(xe, snapshot->copy[i], &log->bo->vmap, in xe_guc_log_snapshot_capture()
176 snapshot->level = log->level; in xe_guc_log_snapshot_capture()
223 void xe_guc_log_print_dmesg(struct xe_guc_log *log) in xe_guc_log_print_dmesg() argument
225 struct xe_gt *gt = log_to_gt(log); in xe_guc_log_print_dmesg()
232 xe_guc_log_print(log, &lp); in xe_guc_log_print_dmesg()
242 void xe_guc_log_print(struct xe_guc_log *log, struct drm_printer *p) in xe_guc_log_print() argument
248 snapshot = xe_guc_log_snapshot_capture(log, false); in xe_guc_log_print()
249 drm_printf(p, "CS reference clock: %u\n", log_to_gt(log)->info.reference_clock); in xe_guc_log_print()
254 int xe_guc_log_init(struct xe_guc_log *log) in xe_guc_log_init() argument
256 struct xe_device *xe = log_to_xe(log); in xe_guc_log_init()
257 struct xe_tile *tile = gt_to_tile(log_to_gt(log)); in xe_guc_log_init()
269 log->bo = bo; in xe_guc_log_init()
270 log->level = xe_modparam.guc_log_level; in xe_guc_log_init()
277 static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) in xe_guc_log_section_size_crash() argument
282 static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) in xe_guc_log_section_size_debug() argument
295 u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) in xe_guc_log_section_size_capture() argument
307 u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type) in xe_guc_get_log_buffer_size() argument
311 return xe_guc_log_section_size_crash(log); in xe_guc_get_log_buffer_size()
313 return xe_guc_log_section_size_debug(log); in xe_guc_get_log_buffer_size()
315 return xe_guc_log_section_size_capture(log); in xe_guc_get_log_buffer_size()
328 u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type) in xe_guc_get_log_buffer_offset() argument
336 offset += xe_guc_get_log_buffer_size(log, i); in xe_guc_get_log_buffer_offset()
355 bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, enum guc_log_buffer_type type, in xe_guc_check_log_buf_overflow() argument
358 unsigned int prev_full_cnt = log->stats[type].sampled_overflow; in xe_guc_check_log_buf_overflow()
364 log->stats[type].overflow = full_cnt; in xe_guc_check_log_buf_overflow()
365 log->stats[type].sampled_overflow += full_cnt - prev_full_cnt; in xe_guc_check_log_buf_overflow()
369 log->stats[type].sampled_overflow += 16; in xe_guc_check_log_buf_overflow()
371 xe_gt_notice(log_to_gt(log), "log buffer overflow\n"); in xe_guc_check_log_buf_overflow()