aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorOded Gabbay <oded.gabbay@gmail.com>2019-04-21 09:20:46 -0400
committerOded Gabbay <oded.gabbay@gmail.com>2019-04-21 09:20:46 -0400
commitd691171d61b635fa36860ca65c4f8fde718abd09 (patch)
tree8ae775b8d77d3070e246ae093d3ff4acbdd9b633 /drivers/misc
parent883c2459a57d93efbcb974bea1d2d506db3ae9ab (diff)
uapi/habanalabs: add missing fields in bmon params
This patch adds missing fields of start address 0 and 1 in the bmon parameter structure that is received from the user in the debug IOCTL. Without these fields, the functionality of the bmon trace is broken, because there is no configuration of the base address of the filter of the bus monitor. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/habanalabs/goya/goya_coresight.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/misc/habanalabs/goya/goya_coresight.c b/drivers/misc/habanalabs/goya/goya_coresight.c
index 68726fb4c56a..1ac951f52d1e 100644
--- a/drivers/misc/habanalabs/goya/goya_coresight.c
+++ b/drivers/misc/habanalabs/goya/goya_coresight.c
@@ -459,10 +459,14 @@ static int goya_config_bmon(struct hl_device *hdev,
459 if (!input) 459 if (!input)
460 return -EINVAL; 460 return -EINVAL;
461 461
462 WREG32(base_reg + 0x208, lower_32_bits(input->addr_range0)); 462 WREG32(base_reg + 0x200, lower_32_bits(input->start_addr0));
463 WREG32(base_reg + 0x20C, upper_32_bits(input->addr_range0)); 463 WREG32(base_reg + 0x204, upper_32_bits(input->start_addr0));
464 WREG32(base_reg + 0x248, lower_32_bits(input->addr_range1)); 464 WREG32(base_reg + 0x208, lower_32_bits(input->addr_mask0));
465 WREG32(base_reg + 0x24C, upper_32_bits(input->addr_range1)); 465 WREG32(base_reg + 0x20C, upper_32_bits(input->addr_mask0));
466 WREG32(base_reg + 0x240, lower_32_bits(input->start_addr1));
467 WREG32(base_reg + 0x244, upper_32_bits(input->start_addr1));
468 WREG32(base_reg + 0x248, lower_32_bits(input->addr_mask1));
469 WREG32(base_reg + 0x24C, upper_32_bits(input->addr_mask1));
466 WREG32(base_reg + 0x224, 0); 470 WREG32(base_reg + 0x224, 0);
467 WREG32(base_reg + 0x234, 0); 471 WREG32(base_reg + 0x234, 0);
468 WREG32(base_reg + 0x30C, input->bw_win); 472 WREG32(base_reg + 0x30C, input->bw_win);
@@ -482,8 +486,12 @@ static int goya_config_bmon(struct hl_device *hdev,
482 WREG32(base_reg + 0x100, 0x11); 486 WREG32(base_reg + 0x100, 0x11);
483 WREG32(base_reg + 0x304, 0x1); 487 WREG32(base_reg + 0x304, 0x1);
484 } else { 488 } else {
489 WREG32(base_reg + 0x200, 0);
490 WREG32(base_reg + 0x204, 0);
485 WREG32(base_reg + 0x208, 0xFFFFFFFF); 491 WREG32(base_reg + 0x208, 0xFFFFFFFF);
486 WREG32(base_reg + 0x20C, 0xFFFFFFFF); 492 WREG32(base_reg + 0x20C, 0xFFFFFFFF);
493 WREG32(base_reg + 0x240, 0);
494 WREG32(base_reg + 0x244, 0);
487 WREG32(base_reg + 0x248, 0xFFFFFFFF); 495 WREG32(base_reg + 0x248, 0xFFFFFFFF);
488 WREG32(base_reg + 0x24C, 0xFFFFFFFF); 496 WREG32(base_reg + 0x24C, 0xFFFFFFFF);
489 WREG32(base_reg + 0x224, 0xFFFFFFFF); 497 WREG32(base_reg + 0x224, 0xFFFFFFFF);