summaryrefslogtreecommitdiff
path: root/drivers/misc/habanalabs/gaudi2/gaudi2_security.c
diff options
context:
space:
mode:
authorOfir Bitton <obitton@habana.ai>2022-09-15 11:10:56 +0300
committerOded Gabbay <ogabbay@kernel.org>2022-09-19 15:10:01 +0300
commitbb677d527e14184d89012ce332128f3767fa9925 (patch)
tree067420f328fef4b494c3167a2c2eea73118f289c /drivers/misc/habanalabs/gaudi2/gaudi2_security.c
parent4f3ce5e0d0f85d6be0a2bc3a2aa75ba3b649c7c6 (diff)
downloadlinux-bb677d527e14184d89012ce332128f3767fa9925.tar.xz
habanalabs/gaudi2: allow user to flush PCIE by read
In order for the user to flush PCIE he needs to read some register from PCIE block. The chosen register is SPECIAL_GLBL_SPARE_0 and hence needs to be unsecured. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'drivers/misc/habanalabs/gaudi2/gaudi2_security.c')
-rw-r--r--drivers/misc/habanalabs/gaudi2/gaudi2_security.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/misc/habanalabs/gaudi2/gaudi2_security.c b/drivers/misc/habanalabs/gaudi2/gaudi2_security.c
index c4165db06db2..c6906fb14229 100644
--- a/drivers/misc/habanalabs/gaudi2/gaudi2_security.c
+++ b/drivers/misc/habanalabs/gaudi2/gaudi2_security.c
@@ -2559,6 +2559,10 @@ static const u32 gaudi2_pb_pcie[] = {
mmPCIE_WRAP_BASE,
};
+static const u32 gaudi2_pb_pcie_unsecured_regs[] = {
+ mmPCIE_WRAP_SPECIAL_GLBL_SPARE_0,
+};
+
static const u32 gaudi2_pb_thermal_sensor0[] = {
mmDCORE0_XFT_BASE,
mmDCORE0_TSTDVS_BASE,
@@ -3418,7 +3422,8 @@ static int gaudi2_init_protection_bits(struct hl_device *hdev)
rc |= hl_init_pb(hdev, HL_PB_SHARED, HL_PB_NA,
HL_PB_SINGLE_INSTANCE, HL_PB_NA,
gaudi2_pb_pcie, ARRAY_SIZE(gaudi2_pb_pcie),
- NULL, HL_PB_NA);
+ gaudi2_pb_pcie_unsecured_regs,
+ ARRAY_SIZE(gaudi2_pb_pcie_unsecured_regs));
/* Thermal Sensor.
* Skip when security is enabled in F/W, because the blocks are protected by privileged RR.