]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/cpum_cf: make crypto counters upward compatible across machine types
authorThomas Richter <tmricht@linux.ibm.com>
Wed, 27 Mar 2024 08:22:43 +0000 (09:22 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 9 Apr 2024 15:29:56 +0000 (17:29 +0200)
The CPU Measurement facility crypto counter set functionality
is defined by the Second Counter Version Number. This number
varies between machine types, but is upward compatible.
Lessen the checks to reflect this behavior.

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/kernel/perf_cpum_cf.c
arch/s390/kernel/perf_cpum_cf_events.c

index 41ed6e0f0a2a927858bede1732af81493fc23086..1434642e9cba0d5c35bda8e77cc292d1cf64df20 100644 (file)
@@ -428,7 +428,7 @@ static void cpum_cf_make_setsize(enum cpumf_ctr_set ctrset)
        case CPUMF_CTR_SET_CRYPTO:
                if (cpumf_ctr_info.csvn >= 1 && cpumf_ctr_info.csvn <= 5)
                        ctrset_size = 16;
-               else if (cpumf_ctr_info.csvn == 6 || cpumf_ctr_info.csvn == 7)
+               else if (cpumf_ctr_info.csvn >= 6)
                        ctrset_size = 20;
                break;
        case CPUMF_CTR_SET_EXT:
index 0d64aafd158f2256bc60c570e557ef1735baf053..e4a6bfc910808a9ef98a208cff2f24f75eaf60ed 100644 (file)
@@ -855,16 +855,11 @@ __init const struct attribute_group **cpumf_cf_event_group(void)
        }
 
        /* Determine version specific crypto set */
-       switch (ci.csvn) {
-       case 1 ... 5:
+       csvn = none;
+       if (ci.csvn >= 1 && ci.csvn <= 5)
                csvn = cpumcf_svn_12345_pmu_event_attr;
-               break;
-       case 6 ... 7:
+       else if (ci.csvn >= 6)
                csvn = cpumcf_svn_67_pmu_event_attr;
-               break;
-       default:
-               csvn = none;
-       }
 
        /* Determine model-specific counter set(s) */
        get_cpu_id(&cpu_id);