Lines Matching refs:p_info
390 static int debug_format_entry(file_private_info_t *p_info) in debug_format_entry() argument
392 debug_info_t *id_snap = p_info->debug_info_snap; in debug_format_entry()
393 struct debug_view *view = p_info->view; in debug_format_entry()
397 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) { in debug_format_entry()
400 len += view->prolog_proc(id_snap, view, p_info->temp_buf, in debug_format_entry()
401 sizeof(p_info->temp_buf)); in debug_format_entry()
407 act_entry = (debug_entry_t *) ((char *)id_snap->areas[p_info->act_area] in debug_format_entry()
408 [p_info->act_page] + p_info->act_entry); in debug_format_entry()
413 len += view->header_proc(id_snap, view, p_info->act_area, in debug_format_entry()
414 act_entry, p_info->temp_buf + len, in debug_format_entry()
415 sizeof(p_info->temp_buf) - len); in debug_format_entry()
418 len += view->format_proc(id_snap, view, p_info->temp_buf + len, in debug_format_entry()
419 sizeof(p_info->temp_buf) - len, in debug_format_entry()
436 static inline bool debug_next_entry(file_private_info_t *p_info) in debug_next_entry() argument
440 id = p_info->debug_info_snap; in debug_next_entry()
441 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) { in debug_next_entry()
442 p_info->act_entry = 0; in debug_next_entry()
443 p_info->act_page = 0; in debug_next_entry()
448 p_info->act_entry += id->entry_size; in debug_next_entry()
450 if (p_info->act_entry > (PAGE_SIZE - id->entry_size)) { in debug_next_entry()
452 p_info->act_entry = 0; in debug_next_entry()
453 p_info->act_page += 1; in debug_next_entry()
454 if ((p_info->act_page % id->pages_per_area) == 0) { in debug_next_entry()
456 p_info->act_area++; in debug_next_entry()
457 p_info->act_page = 0; in debug_next_entry()
459 if (p_info->act_area >= id->nr_areas) in debug_next_entry()
472 static void debug_to_act_entry(file_private_info_t *p_info) in debug_to_act_entry() argument
476 snap_id = p_info->debug_info_snap; in debug_to_act_entry()
477 p_info->act_area = snap_id->active_area; in debug_to_act_entry()
478 p_info->act_page = snap_id->active_pages[snap_id->active_area]; in debug_to_act_entry()
479 p_info->act_entry = snap_id->active_entries[snap_id->active_area]; in debug_to_act_entry()
493 static inline bool debug_prev_entry(file_private_info_t *p_info) in debug_prev_entry() argument
497 id = p_info->debug_info_snap; in debug_prev_entry()
498 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) in debug_prev_entry()
499 debug_to_act_entry(p_info); in debug_prev_entry()
502 p_info->act_entry -= id->entry_size; in debug_prev_entry()
504 if (p_info->act_entry < 0) { in debug_prev_entry()
506 p_info->act_entry = rounddown(PAGE_SIZE, id->entry_size) - id->entry_size; in debug_prev_entry()
507 p_info->act_page--; in debug_prev_entry()
508 if (p_info->act_page < 0) { in debug_prev_entry()
510 p_info->act_area--; in debug_prev_entry()
511 p_info->act_page = id->pages_per_area - 1; in debug_prev_entry()
513 if (p_info->act_area < 0) in debug_prev_entry()
514 p_info->act_area = (id->nr_areas - 1) % id->nr_areas; in debug_prev_entry()
517 if (id->active_area == p_info->act_area && in debug_prev_entry()
518 id->active_pages[id->active_area] == p_info->act_page && in debug_prev_entry()
519 id->active_entries[id->active_area] == p_info->act_entry) in debug_prev_entry()
535 static bool debug_move_entry(file_private_info_t *p_info, bool reverse) in debug_move_entry() argument
538 return debug_prev_entry(p_info); in debug_move_entry()
540 return debug_next_entry(p_info); in debug_move_entry()
555 file_private_info_t *p_info; in debug_output() local
557 p_info = (file_private_info_t *) file->private_data; in debug_output()
558 if (*offset != p_info->offset) in debug_output()
560 if (p_info->act_area >= p_info->debug_info_snap->nr_areas) in debug_output()
562 entry_offset = p_info->act_entry_offset; in debug_output()
569 formatted_line_size = debug_format_entry(p_info); in debug_output()
574 if (copy_to_user(user_buf + count, p_info->temp_buf in debug_output()
582 if (!debug_next_entry(p_info)) in debug_output()
587 p_info->offset = *offset + count; in debug_output()
588 p_info->act_entry_offset = entry_offset; in debug_output()
589 *offset = p_info->offset; in debug_output()
601 file_private_info_t *p_info; in debug_input() local
605 p_info = ((file_private_info_t *) file->private_data); in debug_input()
606 if (p_info->view->input_proc) { in debug_input()
607 rc = p_info->view->input_proc(p_info->debug_info_org, in debug_input()
608 p_info->view, file, user_buf, in debug_input()
621 file_private_info_t *p_info; in debug_file_private_alloc() local
635 p_info = kmalloc(sizeof(file_private_info_t), GFP_KERNEL); in debug_file_private_alloc()
636 if (!p_info) { in debug_file_private_alloc()
640 p_info->offset = 0; in debug_file_private_alloc()
641 p_info->debug_info_snap = debug_info_snapshot; in debug_file_private_alloc()
642 p_info->debug_info_org = debug_info; in debug_file_private_alloc()
643 p_info->view = view; in debug_file_private_alloc()
644 p_info->act_area = 0; in debug_file_private_alloc()
645 p_info->act_page = 0; in debug_file_private_alloc()
646 p_info->act_entry = DEBUG_PROLOG_ENTRY; in debug_file_private_alloc()
647 p_info->act_entry_offset = 0; in debug_file_private_alloc()
650 return p_info; in debug_file_private_alloc()
662 file_private_info_t *p_info; in debug_open() local
679 p_info = debug_file_private_alloc(debug_info, debug_info->views[i]); in debug_open()
680 if (!p_info) { in debug_open()
684 file->private_data = p_info; in debug_open()
691 static void debug_file_private_free(file_private_info_t *p_info) in debug_file_private_free() argument
693 if (p_info->debug_info_snap) in debug_file_private_free()
694 debug_info_free(p_info->debug_info_snap); in debug_file_private_free()
695 debug_info_put(p_info->debug_info_org); in debug_file_private_free()
696 kfree(p_info); in debug_file_private_free()
706 file_private_info_t *p_info; in debug_close() local
708 p_info = (file_private_info_t *) file->private_data; in debug_close()
709 debug_file_private_free(p_info); in debug_close()
735 file_private_info_t *p_info; in debug_dump() local
743 p_info = debug_file_private_alloc(id, view); in debug_dump()
744 if (!p_info) in debug_dump()
749 size = debug_format_entry(p_info); in debug_dump()
751 memcpy(buf + offset, p_info->temp_buf, size); in debug_dump()
755 } while (debug_move_entry(p_info, reverse)); in debug_dump()
756 debug_file_private_free(p_info); in debug_dump()