summaryrefslogtreecommitdiffstats
path: root/drivers/accel
diff options
context:
space:
mode:
authorBenjamin Dotan <bdotan@habana.ai>2023-07-26 07:58:03 +0300
committerOded Gabbay <ogabbay@kernel.org>2023-10-09 12:37:20 +0300
commit10d260f655c1af1b5a5e7d0cea001e3d0461aeaa (patch)
tree188aa59838ff49d5bab376fee8184cdbae561b37 /drivers/accel
parent571bfeb48ac24564658e58c0a3a5318904846aae (diff)
downloadlinux-stable-10d260f655c1af1b5a5e7d0cea001e3d0461aeaa.tar.gz
linux-stable-10d260f655c1af1b5a5e7d0cea001e3d0461aeaa.tar.bz2
linux-stable-10d260f655c1af1b5a5e7d0cea001e3d0461aeaa.zip
accel/habanalabs: improve etf configuration
coresight ETF blocks have different size. As a result, sync packets need to be aligned based on fifo size. Signed-off-by: Benjamin Dotan <bdotan@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'drivers/accel')
-rw-r--r--drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c b/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c
index 32e0f1a85b35..14a855cdc96b 100644
--- a/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c
+++ b/drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c
@@ -2125,10 +2125,17 @@ static int gaudi2_config_etf(struct hl_device *hdev, struct hl_debug_params *par
if (!input)
return -EINVAL;
+ val = RREG32(base_reg + mmETF_RSZ_OFFSET) << 2;
+ if (val) {
+ val = ffs(val);
+ WREG32(base_reg + mmETF_PSCR_OFFSET, val);
+ } else {
+ WREG32(base_reg + mmETF_PSCR_OFFSET, 0x10);
+ }
+
WREG32(base_reg + mmETF_BUFWM_OFFSET, 0x3FFC);
WREG32(base_reg + mmETF_MODE_OFFSET, input->sink_mode);
WREG32(base_reg + mmETF_FFCR_OFFSET, 0x4001);
- WREG32(base_reg + mmETF_PSCR_OFFSET, 0x10);
WREG32(base_reg + mmETF_CTL_OFFSET, 1);
} else {
WREG32(base_reg + mmETF_BUFWM_OFFSET, 0);