aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew Richardson <drew.richardson@arm.com>2014-12-11 12:00:00 -0700
committerDrew Richardson <drew.richardson@arm.com>2014-12-19 16:00:15 -0800
commit2bc47276baa7dc2912f2962b84e0066435f839f2 (patch)
tree41fc9729ff50514515bb29d89d690d3aeb4fcbda
parentecc3d86ea62f7be7defa303d1d14b8506ec63e75 (diff)
downloadgator-2bc47276baa7dc2912f2962b84e0066435f839f2.tar.gz
gator: Version 5.20.15.20.1
Signed-off-by: Drew Richardson <drew.richardson@arm.com>
-rw-r--r--driver/gator_events_mali_midgard_hw.c17
-rw-r--r--driver/gator_main.c6
2 files changed, 10 insertions, 13 deletions
diff --git a/driver/gator_events_mali_midgard_hw.c b/driver/gator_events_mali_midgard_hw.c
index c8065da..cada130 100644
--- a/driver/gator_events_mali_midgard_hw.c
+++ b/driver/gator_events_mali_midgard_hw.c
@@ -748,12 +748,12 @@ static int read_counter(const int cnt, const int len, const struct mali_counter
{
const int block = GET_HW_BLOCK(cnt);
const int counter_offset = GET_COUNTER_OFFSET(cnt);
+ u32 value = 0;
#if MALI_DDK_GATOR_API_VERSION == 3
const char *block_base_address = (char *)in_out_info->kernel_dump_buffer;
int i;
int shader_core_count = 0;
- u32 value = 0;
for (i = 0; i < in_out_info->nr_hwc_blocks; i++) {
if (block == in_out_info->hwc_layout[i]) {
@@ -766,6 +766,12 @@ static int read_counter(const int cnt, const int len, const struct mali_counter
if (shader_core_count > 1)
value /= shader_core_count;
#else
+ const unsigned int vithar_blocks[] = {
+ 0x700, /* VITHAR_JOB_MANAGER, Block 0 */
+ 0x400, /* VITHAR_TILER, Block 1 */
+ 0x000, /* VITHAR_SHADER_CORE, Block 2 */
+ 0x500 /* VITHAR_MEMORY_SYSTEM, Block 3 */
+ };
const char *block_base_address = (char *)kernel_dump_buffer + vithar_blocks[block];
/* If counter belongs to shader block need to take into account all cores */
@@ -831,15 +837,6 @@ static int read(int **buffer, bool sched_switch)
* Only process hardware counters if at least one of the hardware counters is enabled.
*/
if (num_hardware_counters_enabled > 0) {
-#if MALI_DDK_GATOR_API_VERSION != 3
- const unsigned int vithar_blocks[] = {
- 0x700, /* VITHAR_JOB_MANAGER, Block 0 */
- 0x400, /* VITHAR_TILER, Block 1 */
- 0x000, /* VITHAR_SHADER_CORE, Block 2 */
- 0x500 /* VITHAR_MEMORY_SYSTEM, Block 3 */
- };
-#endif
-
#if MALI_DDK_GATOR_API_VERSION == 3
if (!handles)
return -1;
diff --git a/driver/gator_main.c b/driver/gator_main.c
index 30bf60d..d3814c7 100644
--- a/driver/gator_main.c
+++ b/driver/gator_main.c
@@ -729,11 +729,11 @@ static void gator_emit_perf_time(u64 time)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
if (time >= gator_sync_time) {
- int cpu = get_physical_cpu();
-
marshal_event_single64(0, -1, local_clock());
gator_sync_time += NSEC_PER_SEC;
- gator_commit_buffer(cpu, COUNTER_BUF, time);
+ if (gator_live_rate <= 0) {
+ gator_commit_buffer(get_physical_cpu(), COUNTER_BUF, time);
+ }
}
#endif
}