aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDrew Richardson <drew.richardson@arm.com>2014-12-19 07:20:07 -0800
committerJon Medhurst <tixy@linaro.org>2015-03-16 12:00:27 +0000
commit0e23c28fde570d7dc47a9bfe159512907277f4cb (patch)
treeb873a3dd68cef5bfc5bec5482ac0f2bb793d3631 /drivers
parent3f0dae9dd6cc2f0d6211eda5767922721f3d6608 (diff)
gator: Version 5.20.1
Signed-off-by: Drew Richardson <drew.richardson@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gator/gator_events_mali_midgard_hw.c17
-rw-r--r--drivers/gator/gator_main.c6
2 files changed, 10 insertions, 13 deletions
diff --git a/drivers/gator/gator_events_mali_midgard_hw.c b/drivers/gator/gator_events_mali_midgard_hw.c
index c8065da56815..cada130a694c 100644
--- a/drivers/gator/gator_events_mali_midgard_hw.c
+++ b/drivers/gator/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/drivers/gator/gator_main.c b/drivers/gator/gator_main.c
index 30bf60d95286..d3814c7547ce 100644
--- a/drivers/gator/gator_main.c
+++ b/drivers/gator/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
}