Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01c5f1d3 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Add trace for throttling counters"

parents 256b2a66 e82f6a22
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -1279,7 +1279,7 @@ static void _setup_throttling_counters(struct adreno_device *adreno_dev)

static uint64_t _read_throttling_counters(struct adreno_device *adreno_dev)
{
	int i;
	int i, adj;
	uint32_t th[ADRENO_GPMU_THROTTLE_COUNTERS];
	struct adreno_busy_data *busy = &adreno_dev->busy_data;

@@ -1300,8 +1300,14 @@ static uint64_t _read_throttling_counters(struct adreno_device *adreno_dev)
			adreno_dev->gpmu_throttle_counters[i],
			&busy->throttle_cycles[i]);
	}
	i = th[CRC_MORE50PCT] - th[IDLE_10PCT];
	return th[CRC_50PCT] + th[CRC_LESS50PCT] / 3 + (i < 0 ? 0 : i) * 3;
	adj = th[CRC_MORE50PCT] - th[IDLE_10PCT];
	adj = th[CRC_50PCT] + th[CRC_LESS50PCT] / 3 + (adj < 0 ? 0 : adj) * 3;

	trace_kgsl_clock_throttling(
		th[IDLE_10PCT], th[CRC_50PCT],
		th[CRC_MORE50PCT], th[CRC_LESS50PCT],
		adj);
	return adj;
}

static void _update_threshold_count(struct adreno_device *adreno_dev,
+35 −0
Original line number Diff line number Diff line
@@ -1192,6 +1192,41 @@ TRACE_EVENT(sparse_unbind,
);


TRACE_EVENT(kgsl_clock_throttling,
	TP_PROTO(
		int idle_10pct,
		int crc_50pct,
		int crc_more50pct,
		int crc_less50pct,
		int adj
	),
	TP_ARGS(
		idle_10pct,
		crc_50pct,
		crc_more50pct,
		crc_less50pct,
		adj
	),
	TP_STRUCT__entry(
		__field(int, idle_10pct)
		__field(int, crc_50pct)
		__field(int, crc_more50pct)
		__field(int, crc_less50pct)
		__field(int, adj)
	),
	TP_fast_assign(
		__entry->idle_10pct = idle_10pct;
		__entry->crc_50pct = crc_50pct;
		__entry->crc_more50pct = crc_more50pct;
		__entry->crc_less50pct = crc_less50pct;
		__entry->adj = adj;
	),
	TP_printk("idle_10=%d crc_50=%d crc_more50=%d crc_less50=%d adj=%d",
		__entry->idle_10pct, __entry->crc_50pct, __entry->crc_more50pct,
		__entry->crc_less50pct, __entry->adj
	)
);

#endif /* _KGSL_TRACE_H */

/* This part must be outside protection */