selftests/powerpc/pmu: Fix sample field check in the mmcra_thresh_marked_sample_test
authorKajol Jain <kjain@linux.ibm.com>
Wed, 1 Mar 2023 17:09:17 +0000 (22:39 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:31 +0000 (23:03 +0900)
[ Upstream commit 8a32341cf04ba05974931b4664683c2c9fb84e56 ]

The testcase verifies the setting of different fields in Monitor Mode
Control Register A (MMCRA). In the current code, EV_CODE_EXTRACT macro
is used to extract the "sample" field, which then needs to be further
processed to fetch rand_samp_elig and rand_samp_mode bits. But the
current code is not passing valid sample field to EV_CODE_EXTRACT
macro. Patch addresses this by fixing the input for EV_CODE_EXTRACT.

Fixes: 29cf373c5766 ("selftests/powerpc/pmu: Add interface test for mmcra register fields")
Reported-by: David Binderman <dcb314@hotmail.com>
Link: https://lore.kernel.org/r/DB6P189MB0568CF002762C6C43AF6DF169CA89@DB6P189MB0568.EURP189.PROD.OUTLOOK.COM
Signed-off-by: Kajol Jain <kjain@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230301170918.69176-1-kjain@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/powerpc/pmu/sampling_tests/mmcra_thresh_marked_sample_test.c

index 022cc16..7552787 100644 (file)
@@ -63,9 +63,9 @@ static int mmcra_thresh_marked_sample(void)
                        get_mmcra_thd_stop(get_reg_value(intr_regs, "MMCRA"), 4));
        FAIL_IF(EV_CODE_EXTRACT(event.attr.config, marked) !=
                        get_mmcra_marked(get_reg_value(intr_regs, "MMCRA"), 4));
-       FAIL_IF(EV_CODE_EXTRACT(event.attr.config, sample >> 2) !=
+       FAIL_IF((EV_CODE_EXTRACT(event.attr.config, sample) >> 2) !=
                        get_mmcra_rand_samp_elig(get_reg_value(intr_regs, "MMCRA"), 4));
-       FAIL_IF(EV_CODE_EXTRACT(event.attr.config, sample & 0x3) !=
+       FAIL_IF((EV_CODE_EXTRACT(event.attr.config, sample) & 0x3) !=
                        get_mmcra_sample_mode(get_reg_value(intr_regs, "MMCRA"), 4));
        FAIL_IF(EV_CODE_EXTRACT(event.attr.config, sm) !=
                        get_mmcra_sm(get_reg_value(intr_regs, "MMCRA"), 4));