Lines Matching refs:id

79 static int debug_prolog_level_fn(debug_info_t * id,
81 static int debug_input_level_fn(debug_info_t * id, struct debug_view *view,
84 static int debug_prolog_pages_fn(debug_info_t * id,
86 static int debug_input_pages_fn(debug_info_t * id, struct debug_view *view,
89 static int debug_input_flush_fn(debug_info_t * id, struct debug_view *view,
92 static int debug_hex_ascii_format_fn(debug_info_t * id, struct debug_view *view,
94 static int debug_raw_format_fn(debug_info_t * id,
97 static int debug_raw_header_fn(debug_info_t * id, struct debug_view *view,
100 static int debug_sprintf_format_fn(debug_info_t * id, struct debug_view *view,
474 if (act_entry->id.stck == 0LL) in debug_format_entry()
494 debug_info_t *id; in debug_next_entry() local
496 id = p_info->debug_info_snap; in debug_next_entry()
502 if(!id->areas) in debug_next_entry()
504 p_info->act_entry += id->entry_size; in debug_next_entry()
506 if (p_info->act_entry > (PAGE_SIZE - id->entry_size)){ in debug_next_entry()
510 if((p_info->act_page % id->pages_per_area) == 0) { in debug_next_entry()
515 if(p_info->act_area >= id->nr_areas) in debug_next_entry()
744 debug_unregister(debug_info_t * id) in debug_unregister() argument
746 if (!id) in debug_unregister()
749 debug_info_put(id); in debug_unregister()
762 debug_set_size(debug_info_t* id, int nr_areas, int pages_per_area) in debug_set_size() argument
768 if(!id || (nr_areas <= 0) || (pages_per_area < 0)) in debug_set_size()
781 spin_lock_irqsave(&id->lock,flags); in debug_set_size()
782 debug_areas_free(id); in debug_set_size()
783 id->areas = new_areas; in debug_set_size()
784 id->nr_areas = nr_areas; in debug_set_size()
785 id->pages_per_area = pages_per_area; in debug_set_size()
786 id->active_area = 0; in debug_set_size()
787 memset(id->active_entries,0,sizeof(int)*id->nr_areas); in debug_set_size()
788 memset(id->active_pages, 0, sizeof(int)*id->nr_areas); in debug_set_size()
789 spin_unlock_irqrestore(&id->lock,flags); in debug_set_size()
790 pr_info("%s: set new size (%i pages)\n" ,id->name, pages_per_area); in debug_set_size()
801 debug_set_level(debug_info_t* id, int new_level) in debug_set_level() argument
804 if(!id) in debug_set_level()
806 spin_lock_irqsave(&id->lock,flags); in debug_set_level()
808 id->level = DEBUG_OFF_LEVEL; in debug_set_level()
809 pr_info("%s: switched off\n",id->name); in debug_set_level()
812 id->name, new_level, 0, DEBUG_MAX_LEVEL); in debug_set_level()
814 id->level = new_level; in debug_set_level()
816 spin_unlock_irqrestore(&id->lock,flags); in debug_set_level()
826 proceed_active_entry(debug_info_t * id) in proceed_active_entry() argument
828 if ((id->active_entries[id->active_area] += id->entry_size) in proceed_active_entry()
829 > (PAGE_SIZE - id->entry_size)){ in proceed_active_entry()
830 id->active_entries[id->active_area] = 0; in proceed_active_entry()
831 id->active_pages[id->active_area] = in proceed_active_entry()
832 (id->active_pages[id->active_area] + 1) % in proceed_active_entry()
833 id->pages_per_area; in proceed_active_entry()
843 proceed_active_area(debug_info_t * id) in proceed_active_area() argument
845 id->active_area++; in proceed_active_area()
846 id->active_area = id->active_area % id->nr_areas; in proceed_active_area()
854 get_active_entry(debug_info_t * id) in get_active_entry() argument
856 return (debug_entry_t *) (((char *) id->areas[id->active_area] in get_active_entry()
857 [id->active_pages[id->active_area]]) + in get_active_entry()
858 id->active_entries[id->active_area]); in get_active_entry()
867 debug_finish_entry(debug_info_t * id, debug_entry_t* active, int level, in debug_finish_entry() argument
870 active->id.stck = get_tod_clock_fast(); in debug_finish_entry()
871 active->id.fields.cpuid = smp_processor_id(); in debug_finish_entry()
873 active->id.fields.exception = exception; in debug_finish_entry()
874 active->id.fields.level = level; in debug_finish_entry()
875 proceed_active_entry(id); in debug_finish_entry()
877 proceed_active_area(id); in debug_finish_entry()
951 debug_event_common(debug_info_t * id, int level, const void *buf, int len) in debug_event_common() argument
956 if (!debug_active || !id->areas) in debug_event_common()
959 if (!spin_trylock_irqsave(&id->lock, flags)) in debug_event_common()
962 spin_lock_irqsave(&id->lock, flags); in debug_event_common()
963 active = get_active_entry(id); in debug_event_common()
964 memset(DEBUG_DATA(active), 0, id->buf_size); in debug_event_common()
965 memcpy(DEBUG_DATA(active), buf, min(len, id->buf_size)); in debug_event_common()
966 debug_finish_entry(id, active, level, 0); in debug_event_common()
967 spin_unlock_irqrestore(&id->lock, flags); in debug_event_common()
979 *debug_exception_common(debug_info_t * id, int level, const void *buf, int len) in debug_exception_common() argument
984 if (!debug_active || !id->areas) in debug_exception_common()
987 if (!spin_trylock_irqsave(&id->lock, flags)) in debug_exception_common()
990 spin_lock_irqsave(&id->lock, flags); in debug_exception_common()
991 active = get_active_entry(id); in debug_exception_common()
992 memset(DEBUG_DATA(active), 0, id->buf_size); in debug_exception_common()
993 memcpy(DEBUG_DATA(active), buf, min(len, id->buf_size)); in debug_exception_common()
994 debug_finish_entry(id, active, level, 1); in debug_exception_common()
995 spin_unlock_irqrestore(&id->lock, flags); in debug_exception_common()
1022 __debug_sprintf_event(debug_info_t *id, int level, char *string, ...) in __debug_sprintf_event() argument
1030 if (!debug_active || !id->areas) in __debug_sprintf_event()
1035 if (!spin_trylock_irqsave(&id->lock, flags)) in __debug_sprintf_event()
1038 spin_lock_irqsave(&id->lock, flags); in __debug_sprintf_event()
1039 active = get_active_entry(id); in __debug_sprintf_event()
1043 for(idx=0;idx<min(numargs,(int)(id->buf_size / sizeof(long))-1);idx++) in __debug_sprintf_event()
1046 debug_finish_entry(id, active, level, 0); in __debug_sprintf_event()
1047 spin_unlock_irqrestore(&id->lock, flags); in __debug_sprintf_event()
1058 __debug_sprintf_exception(debug_info_t *id, int level, char *string, ...) in __debug_sprintf_exception() argument
1066 if (!debug_active || !id->areas) in __debug_sprintf_exception()
1072 if (!spin_trylock_irqsave(&id->lock, flags)) in __debug_sprintf_exception()
1075 spin_lock_irqsave(&id->lock, flags); in __debug_sprintf_exception()
1076 active = get_active_entry(id); in __debug_sprintf_exception()
1080 for(idx=0;idx<min(numargs,(int)(id->buf_size / sizeof(long))-1);idx++) in __debug_sprintf_exception()
1083 debug_finish_entry(id, active, level, 1); in __debug_sprintf_exception()
1084 spin_unlock_irqrestore(&id->lock, flags); in __debug_sprintf_exception()
1095 debug_register_view(debug_info_t * id, struct debug_view *view) in debug_register_view() argument
1103 if (!id) in debug_register_view()
1105 mode = (id->mode | S_IFREG) & ~S_IXUGO; in debug_register_view()
1110 pde = debugfs_create_file(view->name, mode, id->debugfs_root_entry, in debug_register_view()
1111 id , &debug_file_ops); in debug_register_view()
1114 "memory\n", id->name,view->name); in debug_register_view()
1118 spin_lock_irqsave(&id->lock, flags); in debug_register_view()
1120 if (!id->views[i]) in debug_register_view()
1125 "number of views %i\n", id->name, view->name, i); in debug_register_view()
1128 id->views[i] = view; in debug_register_view()
1129 id->debugfs_entries[i] = pde; in debug_register_view()
1131 spin_unlock_irqrestore(&id->lock, flags); in debug_register_view()
1144 debug_unregister_view(debug_info_t * id, struct debug_view *view) in debug_unregister_view() argument
1150 if (!id) in debug_unregister_view()
1152 spin_lock_irqsave(&id->lock, flags); in debug_unregister_view()
1154 if (id->views[i] == view) in debug_unregister_view()
1160 dentry = id->debugfs_entries[i]; in debug_unregister_view()
1161 id->views[i] = NULL; in debug_unregister_view()
1162 id->debugfs_entries[i] = NULL; in debug_unregister_view()
1164 spin_unlock_irqrestore(&id->lock, flags); in debug_unregister_view()
1214 debug_prolog_pages_fn(debug_info_t * id, in debug_prolog_pages_fn() argument
1217 return sprintf(out_buf, "%i\n", id->pages_per_area); in debug_prolog_pages_fn()
1225 debug_input_pages_fn(debug_info_t * id, struct debug_view *view, in debug_input_pages_fn() argument
1248 rc = debug_set_size(id,id->nr_areas, new_pages); in debug_input_pages_fn()
1266 debug_prolog_level_fn(debug_info_t * id, struct debug_view *view, char *out_buf) in debug_prolog_level_fn() argument
1270 if(id->level == DEBUG_OFF_LEVEL) { in debug_prolog_level_fn()
1274 rc = sprintf(out_buf, "%i\n", id->level); in debug_prolog_level_fn()
1284 debug_input_level_fn(debug_info_t * id, struct debug_view *view, in debug_input_level_fn() argument
1303 debug_set_level(id, DEBUG_OFF_LEVEL); in debug_input_level_fn()
1314 debug_set_level(id, new_level); in debug_input_level_fn()
1329 static void debug_flush(debug_info_t* id, int area) in debug_flush() argument
1334 if(!id || !id->areas) in debug_flush()
1336 spin_lock_irqsave(&id->lock,flags); in debug_flush()
1338 id->active_area = 0; in debug_flush()
1339 memset(id->active_entries, 0, id->nr_areas * sizeof(int)); in debug_flush()
1340 for (i = 0; i < id->nr_areas; i++) { in debug_flush()
1341 id->active_pages[i] = 0; in debug_flush()
1342 for(j = 0; j < id->pages_per_area; j++) { in debug_flush()
1343 memset(id->areas[i][j], 0, PAGE_SIZE); in debug_flush()
1346 } else if(area >= 0 && area < id->nr_areas) { in debug_flush()
1347 id->active_entries[area] = 0; in debug_flush()
1348 id->active_pages[area] = 0; in debug_flush()
1349 for(i = 0; i < id->pages_per_area; i++) { in debug_flush()
1350 memset(id->areas[area][i],0,PAGE_SIZE); in debug_flush()
1353 spin_unlock_irqrestore(&id->lock,flags); in debug_flush()
1361 debug_input_flush_fn(debug_info_t * id, struct debug_view *view, in debug_input_flush_fn() argument
1379 debug_flush(id, DEBUG_FLUSH_ALL); in debug_input_flush_fn()
1384 debug_flush(id, area); in debug_input_flush_fn()
1401 debug_raw_header_fn(debug_info_t * id, struct debug_view *view, in debug_raw_header_fn() argument
1416 debug_raw_format_fn(debug_info_t * id, struct debug_view *view, in debug_raw_format_fn() argument
1421 rc = id->buf_size; in debug_raw_format_fn()
1422 memcpy(out_buf, in_buf, id->buf_size); in debug_raw_format_fn()
1431 debug_hex_ascii_format_fn(debug_info_t * id, struct debug_view *view, in debug_hex_ascii_format_fn() argument
1436 for (i = 0; i < id->buf_size; i++) { in debug_hex_ascii_format_fn()
1441 for (i = 0; i < id->buf_size; i++) { in debug_hex_ascii_format_fn()
1457 debug_dflt_header_fn(debug_info_t * id, struct debug_view *view, in debug_dflt_header_fn() argument
1466 level = entry->id.fields.level; in debug_dflt_header_fn()
1467 stck_to_timespec(entry->id.stck, &time_spec); in debug_dflt_header_fn()
1469 if (entry->id.fields.exception) in debug_dflt_header_fn()
1476 except_str, entry->id.fields.cpuid, (void *) caller); in debug_dflt_header_fn()
1489 debug_sprintf_format_fn(debug_info_t * id, struct debug_view *view, in debug_sprintf_format_fn() argument
1496 num_longs = id->buf_size / sizeof(long); in debug_sprintf_format_fn()