Skip to content

Commit df82bdb

Browse files
committed
interrupt: alloc child irq_desc on runtime heap
Changes allocation of child irq_desc from system heap to runtime heap, so it can be freed on interrupt unregister. It also requires changing the number of runtime heap blocks. 1024 size blocks can be disabled for now, as they aren't used. Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
1 parent 156d946 commit df82bdb

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/lib/interrupt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static int irq_register_child(struct irq_desc *parent, int irq,
5656
spin_lock(&parent->lock);
5757

5858
/* init child */
59-
child = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM,
59+
child = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM,
6060
sizeof(struct irq_desc));
6161
if (!child) {
6262
ret = -ENOMEM;

src/platform/apollolake/include/platform/memory.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@
138138
#define HEAP_RT_COUNT64 64
139139
#define HEAP_RT_COUNT128 32
140140
#define HEAP_RT_COUNT256 64
141-
#define HEAP_RT_COUNT512 8
142-
#define HEAP_RT_COUNT1024 4
141+
#define HEAP_RT_COUNT512 32
142+
#define HEAP_RT_COUNT1024 0
143143

144144
#define L2_VECTOR_SIZE 0x1000
145145

src/platform/cannonlake/include/platform/memory.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@
174174
#define HEAP_RT_COUNT32 128
175175
#define HEAP_RT_COUNT64 64
176176
#define HEAP_RT_COUNT128 32
177-
#define HEAP_RT_COUNT256 16
178-
#define HEAP_RT_COUNT512 8
179-
#define HEAP_RT_COUNT1024 4
177+
#define HEAP_RT_COUNT256 64
178+
#define HEAP_RT_COUNT512 32
179+
#define HEAP_RT_COUNT1024 0
180180

181181
#define L2_VECTOR_SIZE 0x1000
182182

0 commit comments

Comments
 (0)