inline _mali_osk_errcode_t _mali_profiling_add_event(u32 event_id, u32 data0, u32 data1, u32 data2, u32 data3, u32 data4) { u32 cur_index = _mali_osk_atomic_inc_return(&profile_insert_index) - 1; #if MALI_TRACEPOINTS_ENABLED _mali_osk_profiling_add_event(event_id, data0); #endif if (prof_state != MALI_PROFILING_STATE_RUNNING || cur_index >= profile_entry_count) { /* * Not in recording mode, or buffer is full * Decrement index again, and early out */ _mali_osk_atomic_dec(&profile_insert_index); return _MALI_OSK_ERR_FAULT; } profile_entries[cur_index].timestamp = _mali_timestamp_get(); profile_entries[cur_index].event_id = event_id; profile_entries[cur_index].data[0] = data0; profile_entries[cur_index].data[1] = data1; profile_entries[cur_index].data[2] = data2; profile_entries[cur_index].data[3] = data3; profile_entries[cur_index].data[4] = data4; _mali_osk_atomic_inc(&profile_entries_written); return _MALI_OSK_ERR_OK; }
static inline void add_event(u32 event_id, u32 data0, u32 data1, u32 data2, u32 data3, u32 data4) { u32 cur_index = (_mali_osk_atomic_inc_return(&profile_insert_index) - 1) & profile_mask; profile_entries[cur_index].timestamp = _mali_timestamp_get(); profile_entries[cur_index].event_id = event_id; profile_entries[cur_index].data[0] = data0; profile_entries[cur_index].data[1] = data1; profile_entries[cur_index].data[2] = data2; profile_entries[cur_index].data[3] = data3; profile_entries[cur_index].data[4] = data4; /* If event is "leave API function", add current memory usage to the event * as data point 4. This is used in timeline profiling to indicate how * much memory was used when leaving a function. */ if (event_id == (MALI_PROFILING_EVENT_TYPE_SINGLE|MALI_PROFILING_EVENT_CHANNEL_SOFTWARE|MALI_PROFILING_EVENT_REASON_SINGLE_SW_LEAVE_API_FUNC)) { profile_entries[cur_index].data[4] = _mali_ukk_report_memory_usage(); } }
inline void _mali_osk_profiling_add_event(u32 event_id, u32 data0, u32 data1, u32 data2, u32 data3, u32 data4) { u32 cur_index = _mali_osk_atomic_inc_return(&profile_insert_index) - 1; if (prof_state != MALI_PROFILING_STATE_RUNNING || cur_index >= profile_entry_count) { /* * Not in recording mode, or buffer is full * Decrement index again, and early out */ _mali_osk_atomic_dec(&profile_insert_index); return; } profile_entries[cur_index].timestamp = _mali_timestamp_get(); profile_entries[cur_index].event_id = event_id; profile_entries[cur_index].data[0] = data0; profile_entries[cur_index].data[1] = data1; profile_entries[cur_index].data[2] = data2; profile_entries[cur_index].data[3] = data3; profile_entries[cur_index].data[4] = data4; _mali_osk_atomic_inc(&profile_entries_written); }