diff --git a/drivers/perf/arm_cspmu/nvidia_cspmu.c b/drivers/perf/arm_cspmu/nvidia_cspmu.c index 5b84b701ad62..213afb7f2702 100644 --- a/drivers/perf/arm_cspmu/nvidia_cspmu.c +++ b/drivers/perf/arm_cspmu/nvidia_cspmu.c @@ -22,7 +22,9 @@ #define NV_GENERIC_FILTER_ID_MASK GENMASK_ULL(31, 0) -#define NV_PRODID_MASK GENMASK(31, 0) +#define NV_PRODID_MASK (ARM_CSPMU_PMIIDR_PRODUCTID | \ + ARM_CSPMU_PMIIDR_VARIANT | \ + ARM_CSPMU_PMIIDR_REVISION) #define NV_FORMAT_NAME_GENERIC 0 @@ -262,7 +264,7 @@ struct nv_cspmu_match { static const struct nv_cspmu_match nv_cspmu_match[] = { { - .prodid = 0x103, + .prodid = 0x10300000, .prodid_mask = NV_PRODID_MASK, .filter_mask = NV_PCIE_FILTER_ID_MASK, .filter_default_val = NV_PCIE_FILTER_ID_MASK, @@ -272,7 +274,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = { .format_attr = pcie_pmu_format_attrs }, { - .prodid = 0x104, + .prodid = 0x10400000, .prodid_mask = NV_PRODID_MASK, .filter_mask = 0x0, .filter_default_val = NV_NVL_C2C_FILTER_ID_MASK, @@ -282,7 +284,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = { .format_attr = nvlink_c2c_pmu_format_attrs }, { - .prodid = 0x105, + .prodid = 0x10500000, .prodid_mask = NV_PRODID_MASK, .filter_mask = 0x0, .filter_default_val = NV_NVL_C2C_FILTER_ID_MASK, @@ -292,7 +294,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = { .format_attr = nvlink_c2c_pmu_format_attrs }, { - .prodid = 0x106, + .prodid = 0x10600000, .prodid_mask = NV_PRODID_MASK, .filter_mask = NV_CNVL_FILTER_ID_MASK, .filter_default_val = NV_CNVL_FILTER_ID_MASK, @@ -302,7 +304,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = { .format_attr = cnvlink_pmu_format_attrs }, { - .prodid = 0x2CF, + .prodid = 0x2CF00000, .prodid_mask = NV_PRODID_MASK, .filter_mask = 0x0, .filter_default_val = 0x0, @@ -364,7 +366,7 @@ static int nv_cspmu_init_ops(struct arm_cspmu *cspmu) if (!ctx) return -ENOMEM; - prodid = FIELD_GET(ARM_CSPMU_PMIIDR_PRODUCTID, cspmu->impl.pmiidr); + prodid = cspmu->impl.pmiidr; /* Find matching PMU. */ for (; match->prodid; match++) {