mirror of https://gitee.com/openkylin/linux.git
perf arm-spe: Add new function arm_spe_pkt_desc_counter()
This patch moves out the counter packet parsing code from arm_spe_pkt_desc() to the new function arm_spe_pkt_desc_counter(). Signed-off-by: Leo Yan <leo.yan@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Will Deacon <will@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Al Grant <Al.Grant@arm.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Dave Martin <Dave.Martin@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: John Garry <john.garry@huawei.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Wei Li <liwei391@huawei.com> Link: https://lore.kernel.org/r/20201119152441.6972-8-leo.yan@linaro.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
6550149e80
commit
c52cfe9872
|
@ -322,6 +322,33 @@ static int arm_spe_pkt_desc_addr(const struct arm_spe_pkt *packet,
|
|||
return err;
|
||||
}
|
||||
|
||||
static int arm_spe_pkt_desc_counter(const struct arm_spe_pkt *packet,
|
||||
char *buf, size_t buf_len)
|
||||
{
|
||||
u64 payload = packet->payload;
|
||||
const char *name = arm_spe_pkt_name(packet->type);
|
||||
int err = 0;
|
||||
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, "%s %d ", name,
|
||||
(unsigned short)payload);
|
||||
|
||||
switch (packet->index) {
|
||||
case 0:
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, "TOT");
|
||||
break;
|
||||
case 1:
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, "ISSUE");
|
||||
break;
|
||||
case 2:
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, "XLAT");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int arm_spe_pkt_desc(const struct arm_spe_pkt *packet, char *buf,
|
||||
size_t buf_len)
|
||||
{
|
||||
|
@ -414,21 +441,7 @@ int arm_spe_pkt_desc(const struct arm_spe_pkt *packet, char *buf,
|
|||
name, (unsigned long)payload, idx + 1);
|
||||
break;
|
||||
case ARM_SPE_COUNTER:
|
||||
arm_spe_pkt_out_string(&err, &buf, &blen, "%s %d ", name,
|
||||
(unsigned short)payload);
|
||||
switch (idx) {
|
||||
case 0:
|
||||
arm_spe_pkt_out_string(&err, &buf, &blen, "TOT");
|
||||
break;
|
||||
case 1:
|
||||
arm_spe_pkt_out_string(&err, &buf, &blen, "ISSUE");
|
||||
break;
|
||||
case 2:
|
||||
arm_spe_pkt_out_string(&err, &buf, &blen, "XLAT");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
err = arm_spe_pkt_desc_counter(packet, buf, buf_len);
|
||||
break;
|
||||
default:
|
||||
/* Unknown packet type */
|
||||
|
|
Loading…
Reference in New Issue