aboutsummaryrefslogtreecommitdiff
path: root/src/ethosu_device.c
diff options
context:
space:
mode:
authorPer Åstrand <per.astrand@arm.com>2020-08-19 13:15:06 +0200
committerPer Åstrand <per.astrand@arm.com>2020-08-25 10:48:10 +0200
commit9716b5e00c10b000067ca3ee1ad91fef4cccbb46 (patch)
treec72bb8d954c2b941cca3218f8d79dea572764a02 /src/ethosu_device.c
parent125429a1c089775b05d4d13739ee7fc72285079f (diff)
downloadethos-u-core-driver-9716b5e00c10b000067ca3ee1ad91fef4cccbb46.tar.gz
zero initialize stack allocated register structs
Avoid writing unintentional bits when using stack allocated register structs. Change-Id: I427f8449f15a8118883cfd7214aabe30dd6372d6
Diffstat (limited to 'src/ethosu_device.c')
-rw-r--r--src/ethosu_device.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ethosu_device.c b/src/ethosu_device.c
index 404a0e7..9cb67ce 100644
--- a/src/ethosu_device.c
+++ b/src/ethosu_device.c
@@ -156,8 +156,8 @@ enum ethosu_error_codes ethosu_clear_irq_status(struct ethosu_device *dev)
#if !defined(ARM_NPU_STUB)
struct cmd_r oldcmd;
oldcmd.word = ethosu_read_reg(dev, NPU_REG_CMD);
-
struct cmd_r cmd;
+
cmd.word = 0;
cmd.clear_irq = 1;
cmd.clock_q_enable = oldcmd.clock_q_enable;
@@ -299,6 +299,7 @@ enum ethosu_error_codes ethosu_set_axi_limit0(struct ethosu_device *dev,
{
#if !defined(ARM_NPU_STUB)
struct axi_limit0_r axi_limit0;
+ axi_limit0.word = 0;
axi_limit0.max_beats = max_beats;
axi_limit0.memtype = memtype;
axi_limit0.max_outstanding_read_m1 = max_reads - 1;
@@ -325,6 +326,7 @@ enum ethosu_error_codes ethosu_set_axi_limit1(struct ethosu_device *dev,
{
#if !defined(ARM_NPU_STUB)
struct axi_limit1_r axi_limit1;
+ axi_limit1.word = 0;
axi_limit1.max_beats = max_beats;
axi_limit1.memtype = memtype;
axi_limit1.max_outstanding_read_m1 = max_reads - 1;
@@ -351,6 +353,7 @@ enum ethosu_error_codes ethosu_set_axi_limit2(struct ethosu_device *dev,
{
#if !defined(ARM_NPU_STUB)
struct axi_limit2_r axi_limit2;
+ axi_limit2.word = 0;
axi_limit2.max_beats = max_beats;
axi_limit2.memtype = memtype;
axi_limit2.max_outstanding_read_m1 = max_reads - 1;
@@ -377,6 +380,7 @@ enum ethosu_error_codes ethosu_set_axi_limit3(struct ethosu_device *dev,
{
#if !defined(ARM_NPU_STUB)
struct axi_limit3_r axi_limit3;
+ axi_limit3.word = 0;
axi_limit3.max_beats = max_beats;
axi_limit3.memtype = memtype;
axi_limit3.max_outstanding_read_m1 = max_reads - 1;