Lines Matching refs:p_info
388 static int debug_format_entry(file_private_info_t *p_info) in debug_format_entry() argument
390 debug_info_t *id_snap = p_info->debug_info_snap; in debug_format_entry()
391 struct debug_view *view = p_info->view; in debug_format_entry()
395 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) { in debug_format_entry()
398 len += view->prolog_proc(id_snap, view, p_info->temp_buf, in debug_format_entry()
399 sizeof(p_info->temp_buf)); in debug_format_entry()
405 act_entry = (debug_entry_t *) ((char *)id_snap->areas[p_info->act_area] in debug_format_entry()
406 [p_info->act_page] + p_info->act_entry); in debug_format_entry()
411 len += view->header_proc(id_snap, view, p_info->act_area, in debug_format_entry()
412 act_entry, p_info->temp_buf + len, in debug_format_entry()
413 sizeof(p_info->temp_buf) - len); in debug_format_entry()
416 len += view->format_proc(id_snap, view, p_info->temp_buf + len, in debug_format_entry()
417 sizeof(p_info->temp_buf) - len, in debug_format_entry()
434 static inline bool debug_next_entry(file_private_info_t *p_info) in debug_next_entry() argument
438 id = p_info->debug_info_snap; in debug_next_entry()
439 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) { in debug_next_entry()
440 p_info->act_entry = 0; in debug_next_entry()
441 p_info->act_page = 0; in debug_next_entry()
446 p_info->act_entry += id->entry_size; in debug_next_entry()
448 if (p_info->act_entry > (PAGE_SIZE - id->entry_size)) { in debug_next_entry()
450 p_info->act_entry = 0; in debug_next_entry()
451 p_info->act_page += 1; in debug_next_entry()
452 if ((p_info->act_page % id->pages_per_area) == 0) { in debug_next_entry()
454 p_info->act_area++; in debug_next_entry()
455 p_info->act_page = 0; in debug_next_entry()
457 if (p_info->act_area >= id->nr_areas) in debug_next_entry()
470 static void debug_to_act_entry(file_private_info_t *p_info) in debug_to_act_entry() argument
474 snap_id = p_info->debug_info_snap; in debug_to_act_entry()
475 p_info->act_area = snap_id->active_area; in debug_to_act_entry()
476 p_info->act_page = snap_id->active_pages[snap_id->active_area]; in debug_to_act_entry()
477 p_info->act_entry = snap_id->active_entries[snap_id->active_area]; in debug_to_act_entry()
491 static inline bool debug_prev_entry(file_private_info_t *p_info) in debug_prev_entry() argument
495 id = p_info->debug_info_snap; in debug_prev_entry()
496 if (p_info->act_entry == DEBUG_PROLOG_ENTRY) in debug_prev_entry()
497 debug_to_act_entry(p_info); in debug_prev_entry()
500 p_info->act_entry -= id->entry_size; in debug_prev_entry()
502 if (p_info->act_entry < 0) { in debug_prev_entry()
504 p_info->act_entry = rounddown(PAGE_SIZE, id->entry_size) - id->entry_size; in debug_prev_entry()
505 p_info->act_page--; in debug_prev_entry()
506 if (p_info->act_page < 0) { in debug_prev_entry()
508 p_info->act_area--; in debug_prev_entry()
509 p_info->act_page = id->pages_per_area - 1; in debug_prev_entry()
511 if (p_info->act_area < 0) in debug_prev_entry()
512 p_info->act_area = (id->nr_areas - 1) % id->nr_areas; in debug_prev_entry()
515 if (id->active_area == p_info->act_area && in debug_prev_entry()
516 id->active_pages[id->active_area] == p_info->act_page && in debug_prev_entry()
517 id->active_entries[id->active_area] == p_info->act_entry) in debug_prev_entry()
533 static bool debug_move_entry(file_private_info_t *p_info, bool reverse) in debug_move_entry() argument
536 return debug_prev_entry(p_info); in debug_move_entry()
538 return debug_next_entry(p_info); in debug_move_entry()
553 file_private_info_t *p_info; in debug_output() local
555 p_info = (file_private_info_t *) file->private_data; in debug_output()
556 if (*offset != p_info->offset) in debug_output()
558 if (p_info->act_area >= p_info->debug_info_snap->nr_areas) in debug_output()
560 entry_offset = p_info->act_entry_offset; in debug_output()
567 formatted_line_size = debug_format_entry(p_info); in debug_output()
572 if (copy_to_user(user_buf + count, p_info->temp_buf in debug_output()
580 if (!debug_next_entry(p_info)) in debug_output()
585 p_info->offset = *offset + count; in debug_output()
586 p_info->act_entry_offset = entry_offset; in debug_output()
587 *offset = p_info->offset; in debug_output()
599 file_private_info_t *p_info; in debug_input() local
603 p_info = ((file_private_info_t *) file->private_data); in debug_input()
604 if (p_info->view->input_proc) { in debug_input()
605 rc = p_info->view->input_proc(p_info->debug_info_org, in debug_input()
606 p_info->view, file, user_buf, in debug_input()
619 file_private_info_t *p_info; in debug_file_private_alloc() local
633 p_info = kmalloc_obj(file_private_info_t); in debug_file_private_alloc()
634 if (!p_info) { in debug_file_private_alloc()
638 p_info->offset = 0; in debug_file_private_alloc()
639 p_info->debug_info_snap = debug_info_snapshot; in debug_file_private_alloc()
640 p_info->debug_info_org = debug_info; in debug_file_private_alloc()
641 p_info->view = view; in debug_file_private_alloc()
642 p_info->act_area = 0; in debug_file_private_alloc()
643 p_info->act_page = 0; in debug_file_private_alloc()
644 p_info->act_entry = DEBUG_PROLOG_ENTRY; in debug_file_private_alloc()
645 p_info->act_entry_offset = 0; in debug_file_private_alloc()
648 return p_info; in debug_file_private_alloc()
660 file_private_info_t *p_info; in debug_open() local
677 p_info = debug_file_private_alloc(debug_info, debug_info->views[i]); in debug_open()
678 if (!p_info) { in debug_open()
682 file->private_data = p_info; in debug_open()
689 static void debug_file_private_free(file_private_info_t *p_info) in debug_file_private_free() argument
691 if (p_info->debug_info_snap) in debug_file_private_free()
692 debug_info_free(p_info->debug_info_snap); in debug_file_private_free()
693 debug_info_put(p_info->debug_info_org); in debug_file_private_free()
694 kfree(p_info); in debug_file_private_free()
704 file_private_info_t *p_info; in debug_close() local
706 p_info = (file_private_info_t *) file->private_data; in debug_close()
707 debug_file_private_free(p_info); in debug_close()
733 file_private_info_t *p_info; in debug_dump() local
741 p_info = debug_file_private_alloc(id, view); in debug_dump()
742 if (!p_info) in debug_dump()
747 size = debug_format_entry(p_info); in debug_dump()
749 memcpy(buf + offset, p_info->temp_buf, size); in debug_dump()
753 } while (debug_move_entry(p_info, reverse)); in debug_dump()
754 debug_file_private_free(p_info); in debug_dump()