mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-15 07:22:48 -05:00
perf arm_spe: Unify operation naming
Rename extended subclass and SVE/SME register access subclass, so that the naming can be consistent cross all sub classes. Add an log "SVE-SME-REG" for the SVE/SME register access, this is easier for parsing. Signed-off-by: Leo Yan <leo.yan@arm.com> Reviewed-by: Ian Rogers <irogers@google.com> Reviewed-by: James Clark <james.clark@linaro.org> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
@@ -200,7 +200,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder)
|
||||
decoder->record.op |= ARM_SPE_OP_ST;
|
||||
else
|
||||
decoder->record.op |= ARM_SPE_OP_LD;
|
||||
if (SPE_OP_PKT_IS_LDST_SVE(payload))
|
||||
if (SPE_OP_PKT_LDST_SUBCLASS_SVE_SME_REG(payload))
|
||||
decoder->record.op |= ARM_SPE_OP_SVE_LDST;
|
||||
break;
|
||||
case SPE_OP_PKT_HDR_CLASS_OTHER:
|
||||
|
||||
@@ -362,31 +362,30 @@ static int arm_spe_pkt_desc_op_type(const struct arm_spe_pkt *packet,
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len,
|
||||
payload & 0x1 ? "ST" : "LD");
|
||||
|
||||
if (SPE_OP_PKT_IS_LDST_ATOMIC(payload)) {
|
||||
if (SPE_OP_PKT_LDST_SUBCLASS_EXTENDED(payload)) {
|
||||
if (payload & SPE_OP_PKT_AT)
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " AT");
|
||||
if (payload & SPE_OP_PKT_EXCL)
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " EXCL");
|
||||
if (payload & SPE_OP_PKT_AR)
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " AR");
|
||||
}
|
||||
|
||||
if (SPE_OP_PKT_LDST_SUBCLASS_SIMD_FP(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_SIMD_FP(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " SIMD-FP");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_GP_REG(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_GP_REG(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " GP-REG");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_UNSPEC_REG(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_UNSPEC_REG(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " UNSPEC-REG");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_NV_SYSREG(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_NV_SYSREG(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " NV-SYSREG");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_MTE_TAG(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_MTE_TAG(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " MTE-TAG");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_MEMCPY(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_MEMCPY(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMCPY");
|
||||
else if (SPE_OP_PKT_LDST_SUBCLASS_MEMSET(payload))
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_MEMSET(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " MEMSET");
|
||||
} else if (SPE_OP_PKT_LDST_SUBCLASS_SVE_SME_REG(payload)) {
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " SVE-SME-REG");
|
||||
|
||||
if (SPE_OP_PKT_IS_LDST_SVE(payload)) {
|
||||
/* SVE effective vector length */
|
||||
arm_spe_pkt_out_string(&err, &buf, &buf_len, " EVLEN %d",
|
||||
SPE_OP_PKG_SVE_EVL(payload));
|
||||
|
||||
@@ -133,14 +133,14 @@ enum arm_spe_events {
|
||||
#define SPE_OP_PKT_LDST_SUBCLASS_MEMCPY(v) (((v) & GENMASK_ULL(7, 1)) == 0x20)
|
||||
#define SPE_OP_PKT_LDST_SUBCLASS_MEMSET(v) (((v) & GENMASK_ULL(7, 0)) == 0x25)
|
||||
|
||||
#define SPE_OP_PKT_IS_LDST_ATOMIC(v) (((v) & (GENMASK_ULL(7, 5) | BIT(1))) == 0x2)
|
||||
#define SPE_OP_PKT_LDST_SUBCLASS_EXTENDED(v) (((v) & (GENMASK_ULL(7, 5) | BIT(1))) == 0x2)
|
||||
|
||||
#define SPE_OP_PKT_AR BIT(4)
|
||||
#define SPE_OP_PKT_EXCL BIT(3)
|
||||
#define SPE_OP_PKT_AT BIT(2)
|
||||
#define SPE_OP_PKT_ST BIT(0)
|
||||
|
||||
#define SPE_OP_PKT_IS_LDST_SVE(v) (((v) & (BIT(3) | BIT(1))) == 0x8)
|
||||
#define SPE_OP_PKT_LDST_SUBCLASS_SVE_SME_REG(v) (((v) & (BIT(3) | BIT(1))) == 0x8)
|
||||
|
||||
#define SPE_OP_PKT_SVE_SG BIT(7)
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user