diff options
author | Oded Gabbay <ogabbay@kernel.org> | 2023-09-28 16:12:30 +0300 |
---|---|---|
committer | Oded Gabbay <ogabbay@kernel.org> | 2023-10-09 12:37:24 +0300 |
commit | 4db74c0fdeb8138f6438d42a015c5dcdb2e6874c (patch) | |
tree | 1693c7b99677349c5083089e474fa75c48cfa185 /drivers/accel/habanalabs | |
parent | 0426e03126fba3e3e8c549504283f7213d31831f (diff) | |
download | linux-4db74c0fdeb8138f6438d42a015c5dcdb2e6874c.tar.xz |
accel/habanalabs/gaudi2: fix spmu mask creation
event_types_num received from the user can be 0. In that case, the
event_mask should be 0.
In addition, to create a correct mask we need to match the number
of event types to the bit location such that bit 0 represents a single
event type, bit 1 represents 2 types and so on.
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Ofir Bitton <obitton@habana.ai>
Diffstat (limited to 'drivers/accel/habanalabs')
-rw-r--r-- | drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c b/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c index 14a855cdc96b..2423620ff358 100644 --- a/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c +++ b/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c @@ -2500,7 +2500,8 @@ static int gaudi2_config_spmu(struct hl_device *hdev, struct hl_debug_params *pa * set enabled events mask based on input->event_types_num */ event_mask = 0x80000000; - event_mask |= GENMASK(input->event_types_num, 0); + if (input->event_types_num) + event_mask |= GENMASK(input->event_types_num - 1, 0); WREG32(base_reg + mmSPMU_PMCNTENSET_EL0_OFFSET, event_mask); } else { |