[Sound-open-firmware] [PATCH] memory: allocator: Remove RFLAGS_NONE/USED and use caps
Dont use RFLAGS_NONE, but use the new memory capabilities flags instead.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- src/audio/buffer.c | 4 ++-- src/audio/component.c | 2 +- src/audio/dai.c | 10 ++++++---- src/audio/eq_fir.c | 8 ++++---- src/audio/eq_iir.c | 8 ++++---- src/audio/host.c | 14 +++++++------- src/audio/mixer.c | 4 ++-- src/audio/pipeline.c | 5 +++-- src/audio/src.c | 7 ++++--- src/audio/tone.c | 4 ++-- src/audio/volume.c | 4 ++-- src/drivers/apl-ssp.c | 2 +- src/drivers/dw-dma.c | 10 ++++++---- src/drivers/hda-dma.c | 2 +- src/drivers/ssp.c | 2 +- src/include/reef/alloc.h | 8 +------- src/include/uapi/ipc.h | 2 +- src/ipc/apl-ipc.c | 5 +++-- src/ipc/byt-ipc.c | 5 +++-- src/ipc/cnl-ipc.c | 5 +++-- src/ipc/hsw-ipc.c | 5 +++-- src/ipc/ipc.c | 13 ++++++++----- src/ipc/pmc-ipc.c | 3 ++- src/lib/agent.c | 2 +- src/lib/alloc.c | 12 ++++++------ src/lib/dma-trace.c | 7 ++++--- src/lib/interrupt.c | 3 ++- src/lib/schedule.c | 2 +- src/lib/work.c | 2 +- src/platform/apollolake/clk.c | 2 +- src/platform/baytrail/clk.c | 2 +- src/platform/cannonlake/clk.c | 3 ++- src/platform/haswell/clk.c | 2 +- 33 files changed, 90 insertions(+), 79 deletions(-)
diff --git a/src/audio/buffer.c b/src/audio/buffer.c index 6ae7d92..360ad6b 100644 --- a/src/audio/buffer.c +++ b/src/audio/buffer.c @@ -60,13 +60,13 @@ struct comp_buffer *buffer_new(struct sof_ipc_buffer *desc) }
/* allocate new buffer */ - buffer = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*buffer)); + buffer = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*buffer)); if (buffer == NULL) { trace_buffer_error("ebN"); return NULL; }
- buffer->addr = rballoc(RZONE_RUNTIME, RFLAGS_NONE, desc->size); + buffer->addr = rballoc(RZONE_RUNTIME, desc->caps, desc->size); if (buffer->addr == NULL) { rfree(buffer); trace_buffer_error("ebm"); diff --git a/src/audio/component.c b/src/audio/component.c index 54a7da8..f27f350 100644 --- a/src/audio/component.c +++ b/src/audio/component.c @@ -189,7 +189,7 @@ int comp_set_state(struct comp_dev *dev, int cmd)
void sys_comp_init(void) { - cd = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*cd)); list_init(&cd->list); spinlock_init(&cd->lock); } diff --git a/src/audio/dai.c b/src/audio/dai.c index 713ab4e..061af5e 100644 --- a/src/audio/dai.c +++ b/src/audio/dai.c @@ -184,7 +184,7 @@ static struct comp_dev *dai_new(struct sof_ipc_comp *comp)
trace_dai("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_dai)); if (dev == NULL) return NULL; @@ -192,7 +192,7 @@ static struct comp_dev *dai_new(struct sof_ipc_comp *comp) dai = (struct sof_ipc_comp_dai *)&dev->comp; memcpy(dai, ipc_dai, sizeof(struct sof_ipc_comp_dai));
- dd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*dd)); + dd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*dd)); if (dd == NULL) { rfree(dev); return NULL; @@ -289,7 +289,8 @@ static int dai_playback_params(struct comp_dev *dev) /* set up cyclic list of DMA elems */ for (i = 0; i < source_config->periods_sink; i++) {
- elem = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*elem)); + elem = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(*elem)); if (elem == NULL) goto err_unwind;
@@ -356,7 +357,8 @@ static int dai_capture_params(struct comp_dev *dev) /* set up cyclic list of DMA elems */ for (i = 0; i < sink_config->periods_source; i++) {
- elem = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*elem)); + elem = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(*elem)); if (elem == NULL) goto err_unwind;
diff --git a/src/audio/eq_fir.c b/src/audio/eq_fir.c index a723cf0..b6ec58f 100644 --- a/src/audio/eq_fir.c +++ b/src/audio/eq_fir.c @@ -205,7 +205,7 @@ static int eq_fir_setup(struct fir_state_32x16 fir[], }
/* Allocate all FIR channels data in a big chunk and clear it */ - fir_data = rballoc(RZONE_SYS, RFLAGS_NONE, + fir_data = rballoc(RZONE_SYS, SOF_MEM_CAPS_RAM, length_sum * sizeof(int32_t)); if (fir_data == NULL) return -ENOMEM; @@ -253,7 +253,7 @@ static struct comp_dev *eq_fir_new(struct sof_ipc_comp *comp)
trace_eq("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_eq_fir)); if (dev == NULL) return NULL; @@ -261,7 +261,7 @@ static struct comp_dev *eq_fir_new(struct sof_ipc_comp *comp) eq_fir = (struct sof_ipc_comp_eq_fir *) &dev->comp; memcpy(eq_fir, ipc_eq_fir, sizeof(struct sof_ipc_comp_eq_fir));
- cd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*cd)); if (cd == NULL) { rfree(dev); return NULL; @@ -401,7 +401,7 @@ static int fir_cmd_set_data(struct comp_dev *dev, struct sof_ipc_ctrl_data *cdat if ((bs > SOF_EQ_FIR_MAX_SIZE) || (bs < 1)) return -EINVAL;
- cd->config = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, bs); + cd->config = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, bs); if (cd->config == NULL) return -EINVAL;
diff --git a/src/audio/eq_iir.c b/src/audio/eq_iir.c index eb464af..2a1dd59 100644 --- a/src/audio/eq_iir.c +++ b/src/audio/eq_iir.c @@ -211,7 +211,7 @@ static int eq_iir_setup(struct iir_state_df2t iir[], }
/* Allocate all IIR channels data in a big chunk and clear it */ - iir_delay = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, size_sum); + iir_delay = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, size_sum); if (iir_delay == NULL) return -ENOMEM;
@@ -256,14 +256,14 @@ static struct comp_dev *eq_iir_new(struct sof_ipc_comp *comp)
trace_eq_iir("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_eq_iir)); if (dev == NULL) return NULL;
memcpy(&dev->comp, comp, sizeof(struct sof_ipc_comp_eq_iir));
- cd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*cd)); if (cd == NULL) { rfree(dev); return NULL; @@ -397,7 +397,7 @@ static int iir_cmd_set_data(struct comp_dev *dev, struct sof_ipc_ctrl_data *cdat return -EINVAL;
/* Allocate and make a copy of the blob and setup IIR */ - cd->config = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, bs); + cd->config = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, bs); if (cd->config == NULL) return -EINVAL;
diff --git a/src/audio/host.c b/src/audio/host.c index 6d60902..a76e340 100644 --- a/src/audio/host.c +++ b/src/audio/host.c @@ -244,7 +244,7 @@ static int create_local_elems(struct comp_dev *dev) /* TODO: simplify elem storage by using an array */ for (i = 0; i < hd->period_count; i++) { /* allocate new host DMA elem and add it to our list */ - e = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*e)); + e = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*e)); if (e == NULL) goto unwind;
@@ -396,7 +396,7 @@ static int create_local_elems(struct comp_dev *dev) /* TODO: simplify elem storage by using an array */ for (i = 0; i < hd->period_count; i++) { /* allocate new host DMA elem and add it to our list */ - e = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*e)); + e = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*e)); if (e == NULL) goto unwind;
@@ -422,7 +422,7 @@ static int create_local_elems(struct comp_dev *dev) continue;
/* allocate new host DMA elem and add it to our list */ - ec = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*ec)); + ec = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*ec)); if (!ec) goto unwind;
@@ -500,7 +500,7 @@ static struct comp_dev *host_new(struct sof_ipc_comp *comp)
trace_host("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_host)); if (dev == NULL) return NULL; @@ -508,13 +508,13 @@ static struct comp_dev *host_new(struct sof_ipc_comp *comp) host = (struct sof_ipc_comp_host *)&dev->comp; memcpy(host, ipc_host, sizeof(struct sof_ipc_comp_host));
- hd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*hd)); + hd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*hd)); if (hd == NULL) { rfree(dev); return NULL; }
- elem = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*elem)); + elem = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*elem)); if (elem == NULL) { rfree(dev); rfree(hd); @@ -776,7 +776,7 @@ static int host_buffer(struct comp_dev *dev, struct dma_sg_elem *elem, struct dma_sg_elem *e;
/* allocate new host DMA elem and add it to our list */ - e = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*e)); + e = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*e)); if (e == NULL) return -ENOMEM;
diff --git a/src/audio/mixer.c b/src/audio/mixer.c index e3611d4..abc8881 100644 --- a/src/audio/mixer.c +++ b/src/audio/mixer.c @@ -87,7 +87,7 @@ static struct comp_dev *mixer_new(struct sof_ipc_comp *comp) struct mixer_data *md;
trace_mixer("new"); - dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_mixer)); if (dev == NULL) return NULL; @@ -95,7 +95,7 @@ static struct comp_dev *mixer_new(struct sof_ipc_comp *comp) mixer = (struct sof_ipc_comp_mixer *)&dev->comp; memcpy(mixer, ipc_mixer, sizeof(struct sof_ipc_comp_mixer));
- md = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*md)); + md = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*md)); if (md == NULL) { rfree(dev); return NULL; diff --git a/src/audio/pipeline.c b/src/audio/pipeline.c index 94d91b5..728b64d 100644 --- a/src/audio/pipeline.c +++ b/src/audio/pipeline.c @@ -240,7 +240,7 @@ struct pipeline *pipeline_new(struct sof_ipc_pipe_new *pipe_desc, trace_pipe("new");
/* allocate new pipeline */ - p = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*p)); + p = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*p)); if (p == NULL) { trace_pipe_error("ePN"); return NULL; @@ -1146,7 +1146,8 @@ int pipeline_init(void) { trace_pipe("PIn");
- pipe_data = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*pipe_data)); + pipe_data = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(*pipe_data)); spinlock_init(&pipe_data->lock);
return 0; diff --git a/src/audio/src.c b/src/audio/src.c index d494d96..c7ac649 100644 --- a/src/audio/src.c +++ b/src/audio/src.c @@ -274,7 +274,7 @@ static struct comp_dev *src_new(struct sof_ipc_comp *comp) return NULL; }
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_src)); if (dev == NULL) return NULL; @@ -282,7 +282,7 @@ static struct comp_dev *src_new(struct sof_ipc_comp *comp) src = (struct sof_ipc_comp_src *) &dev->comp; memcpy(src, ipc_src, sizeof(struct sof_ipc_comp_src));
- cd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*cd)); if (cd == NULL) { rfree(dev); return NULL; @@ -386,7 +386,8 @@ static int src_params(struct comp_dev *dev) if (cd->delay_lines != NULL) rfree(cd->delay_lines);
- cd->delay_lines = rballoc(RZONE_RUNTIME, RFLAGS_NONE, delay_lines_size); + cd->delay_lines = rballoc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + delay_lines_size); if (cd->delay_lines == NULL) { trace_src_error("sr3"); trace_value(delay_lines_size); diff --git a/src/audio/tone.c b/src/audio/tone.c index 581f87e..5308af0 100644 --- a/src/audio/tone.c +++ b/src/audio/tone.c @@ -405,7 +405,7 @@ static struct comp_dev *tone_new(struct sof_ipc_comp *comp)
trace_tone("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_tone)); if (dev == NULL) return NULL; @@ -413,7 +413,7 @@ static struct comp_dev *tone_new(struct sof_ipc_comp *comp) tone = (struct sof_ipc_comp_tone *) &dev->comp; memcpy(tone, ipc_tone, sizeof(struct sof_ipc_comp_tone));
- cd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*cd)); if (cd == NULL) { rfree(dev); return NULL; diff --git a/src/audio/volume.c b/src/audio/volume.c index 8e54607..ee9b361 100644 --- a/src/audio/volume.c +++ b/src/audio/volume.c @@ -364,7 +364,7 @@ static struct comp_dev *volume_new(struct sof_ipc_comp *comp)
trace_volume("new");
- dev = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + dev = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, COMP_SIZE(struct sof_ipc_comp_volume)); if (dev == NULL) return NULL; @@ -372,7 +372,7 @@ static struct comp_dev *volume_new(struct sof_ipc_comp *comp) vol = (struct sof_ipc_comp_volume *)&dev->comp; memcpy(vol, ipc_vol, sizeof(struct sof_ipc_comp_volume));
- cd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*cd)); + cd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*cd)); if (cd == NULL) { rfree(dev); return NULL; diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c index f0faba9..a726f3c 100644 --- a/src/drivers/apl-ssp.c +++ b/src/drivers/apl-ssp.c @@ -523,7 +523,7 @@ static int ssp_probe(struct dai *dai) struct ssp_pdata *ssp;
/* allocate private data */ - ssp = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*ssp)); + ssp = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*ssp)); dai_set_drvdata(dai, ssp);
spinlock_init(&ssp->lock); diff --git a/src/drivers/dw-dma.c b/src/drivers/dw-dma.c index be19e12..b47da0e 100644 --- a/src/drivers/dw-dma.c +++ b/src/drivers/dw-dma.c @@ -552,7 +552,8 @@ static int dw_dma_set_config(struct dma *dma, int channel, /* allocate descriptors for channel */ if (p->chan[channel].lli) rfree(p->chan[channel].lli); - p->chan[channel].lli = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + p->chan[channel].lli = rzalloc(RZONE_RUNTIME, + SOF_MEM_CAPS_RAM | SOF_MEM_CAPS_DMA, sizeof(struct dw_lli2) * p->chan[channel].desc_count); if (p->chan[channel].lli == NULL) { trace_dma_error("eD1"); @@ -997,7 +998,7 @@ static int dw_dma_probe(struct dma *dma) int i;
/* allocate private data */ - dw_pdata = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*dw_pdata)); + dw_pdata = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*dw_pdata)); dma_set_drvdata(dma, dw_pdata);
spinlock_init(&dma->lock); @@ -1010,7 +1011,7 @@ static int dw_dma_probe(struct dma *dma) dw_pdata->chan[i].channel = i; dw_pdata->chan[i].status = COMP_STATE_INIT;
- dma_int[i] = rzalloc(RZONE_SYS, RFLAGS_NONE, + dma_int[i] = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(struct dma_int));
dma_int[i]->dma = dma; @@ -1150,7 +1151,8 @@ static int dw_dma_probe(struct dma *dma) #endif { /* allocate private data */ - dw_pdata = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*dw_pdata)); + dw_pdata = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(*dw_pdata)); dma_set_drvdata(dmac, dw_pdata);
spinlock_init(&dmac->lock); diff --git a/src/drivers/hda-dma.c b/src/drivers/hda-dma.c index 6526b74..87221a8 100644 --- a/src/drivers/hda-dma.c +++ b/src/drivers/hda-dma.c @@ -391,7 +391,7 @@ static int hda_dma_probe(struct dma *dma) int i;
/* allocate private data */ - hda_pdata = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*hda_pdata)); + hda_pdata = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*hda_pdata)); dma_set_drvdata(dma, hda_pdata);
spinlock_init(&dma->lock); diff --git a/src/drivers/ssp.c b/src/drivers/ssp.c index 0ed570c..4b195ec 100644 --- a/src/drivers/ssp.c +++ b/src/drivers/ssp.c @@ -586,7 +586,7 @@ static int ssp_probe(struct dai *dai) struct ssp_pdata *ssp;
/* allocate private data */ - ssp = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*ssp)); + ssp = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*ssp)); dai_set_drvdata(dai, ssp);
spinlock_init(&ssp->lock); diff --git a/src/include/reef/alloc.h b/src/include/reef/alloc.h index 6b61b04..a2b0c9b 100644 --- a/src/include/reef/alloc.h +++ b/src/include/reef/alloc.h @@ -57,12 +57,6 @@ struct reef; #define RZONE_RUNTIME 1 #define RZONE_BUFFER 2
-/* - * Heap allocation memory flags. - */ -#define RFLAGS_NONE 0 -#define RFLAGS_USED 1 - struct mm_info { uint32_t used; uint32_t free; @@ -70,7 +64,7 @@ struct mm_info {
struct block_hdr { uint16_t size; /* size in blocks for continuous allocation */ - uint16_t flags; /* usage flags for page */ + uint16_t used; /* usage flags for page */ } __attribute__ ((packed));
struct block_map { diff --git a/src/include/uapi/ipc.h b/src/include/uapi/ipc.h index dec8abd..0c34013 100644 --- a/src/include/uapi/ipc.h +++ b/src/include/uapi/ipc.h @@ -572,7 +572,7 @@ struct sof_ipc_comp { struct sof_ipc_buffer { struct sof_ipc_comp comp; uint32_t size; /* buffer size in bytes */ - uint32_t type; /* SOF_MEM_CAPS_ */ + uint32_t caps; /* SOF_MEM_CAPS_ */ } __attribute__((packed));
diff --git a/src/ipc/apl-ipc.c b/src/ipc/apl-ipc.c index 167423b..4b8ee6b 100644 --- a/src/ipc/apl-ipc.c +++ b/src/ipc/apl-ipc.c @@ -182,7 +182,8 @@ int platform_ipc_init(struct ipc *ipc) _ipc = ipc;
/* init ipc data */ - iipc = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct intel_ipc_data)); + iipc = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct intel_ipc_data)); ipc_set_drvdata(_ipc, iipc); _ipc->dsp_msg = NULL; list_init(&ipc->empty_list); @@ -192,7 +193,7 @@ int platform_ipc_init(struct ipc *ipc) list_item_prepend(&ipc->message[i].list, &ipc->empty_list);
/* allocate page table buffer */ - iipc->page_table = rballoc(RZONE_SYS, RFLAGS_NONE, + iipc->page_table = rballoc(RZONE_SYS, SOF_MEM_CAPS_RAM, HOST_PAGE_SIZE); if (iipc->page_table) bzero(iipc->page_table, HOST_PAGE_SIZE); diff --git a/src/ipc/byt-ipc.c b/src/ipc/byt-ipc.c index 91d8f1b..3ab6319 100644 --- a/src/ipc/byt-ipc.c +++ b/src/ipc/byt-ipc.c @@ -208,7 +208,8 @@ int platform_ipc_init(struct ipc *ipc) _ipc = ipc;
/* init ipc data */ - iipc = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct intel_ipc_data)); + iipc = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct intel_ipc_data)); ipc_set_drvdata(_ipc, iipc); _ipc->dsp_msg = NULL; list_init(&ipc->empty_list); @@ -219,7 +220,7 @@ int platform_ipc_init(struct ipc *ipc) list_item_prepend(&ipc->message[i].list, &ipc->empty_list);
/* allocate page table buffer */ - iipc->page_table = rzalloc(RZONE_SYS, RFLAGS_NONE, + iipc->page_table = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, PLATFORM_PAGE_TABLE_SIZE); if (iipc->page_table) bzero(iipc->page_table, PLATFORM_PAGE_TABLE_SIZE); diff --git a/src/ipc/cnl-ipc.c b/src/ipc/cnl-ipc.c index 0fcc5be..15687fc 100644 --- a/src/ipc/cnl-ipc.c +++ b/src/ipc/cnl-ipc.c @@ -182,7 +182,8 @@ int platform_ipc_init(struct ipc *ipc) _ipc = ipc;
/* init ipc data */ - iipc = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct intel_ipc_data)); + iipc = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct intel_ipc_data)); ipc_set_drvdata(_ipc, iipc); _ipc->dsp_msg = NULL; list_init(&ipc->empty_list); @@ -192,7 +193,7 @@ int platform_ipc_init(struct ipc *ipc) list_item_prepend(&ipc->message[i].list, &ipc->empty_list);
/* allocate page table buffer */ - iipc->page_table = rballoc(RZONE_SYS, RFLAGS_NONE, + iipc->page_table = rballoc(RZONE_SYS, SOF_MEM_CAPS_RAM, HOST_PAGE_SIZE); if (iipc->page_table) bzero(iipc->page_table, HOST_PAGE_SIZE); diff --git a/src/ipc/hsw-ipc.c b/src/ipc/hsw-ipc.c index 5f350c1..5bfdf93 100644 --- a/src/ipc/hsw-ipc.c +++ b/src/ipc/hsw-ipc.c @@ -208,7 +208,8 @@ int platform_ipc_init(struct ipc *ipc) _ipc = ipc;
/* init ipc data */ - iipc = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct intel_ipc_data)); + iipc = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct intel_ipc_data)); ipc_set_drvdata(_ipc, iipc); _ipc->dsp_msg = NULL; list_init(&ipc->empty_list); @@ -219,7 +220,7 @@ int platform_ipc_init(struct ipc *ipc) list_item_prepend(&ipc->message[i].list, &ipc->empty_list);
/* allocate page table buffer */ - iipc->page_table = rzalloc(RZONE_SYS, RFLAGS_NONE, + iipc->page_table = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, PLATFORM_PAGE_TABLE_SIZE); if (iipc->page_table) bzero(iipc->page_table, PLATFORM_PAGE_TABLE_SIZE); diff --git a/src/ipc/ipc.c b/src/ipc/ipc.c index b753efd..4aebfb7 100644 --- a/src/ipc/ipc.c +++ b/src/ipc/ipc.c @@ -99,7 +99,8 @@ int ipc_comp_new(struct ipc *ipc, struct sof_ipc_comp *comp) }
/* allocate the IPC component container */ - icd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(struct ipc_comp_dev)); + icd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(struct ipc_comp_dev)); if (icd == NULL) { trace_ipc_error("eCm"); rfree(cd); @@ -152,7 +153,8 @@ int ipc_buffer_new(struct ipc *ipc, struct sof_ipc_buffer *desc) return -ENOMEM; }
- ibd = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(struct ipc_comp_dev)); + ibd = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(struct ipc_comp_dev)); if (ibd == NULL) { rfree(buffer); return -ENOMEM; @@ -256,7 +258,7 @@ int ipc_pipeline_new(struct ipc *ipc, }
/* allocate the IPC pipeline container */ - ipc_pipe = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, + ipc_pipe = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(struct ipc_comp_dev)); if (ipc_pipe == NULL) { pipeline_free(pipe); @@ -348,8 +350,9 @@ int ipc_init(struct reef *reef) trace_ipc("IPI");
/* init ipc data */ - reef->ipc = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*reef->ipc)); - reef->ipc->comp_data = rzalloc(RZONE_SYS, RFLAGS_NONE, SOF_IPC_MSG_MAX_SIZE); + reef->ipc = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*reef->ipc)); + reef->ipc->comp_data = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + SOF_IPC_MSG_MAX_SIZE); reef->ipc->dmat = reef->dmat;
list_init(&reef->ipc->comp_list); diff --git a/src/ipc/pmc-ipc.c b/src/ipc/pmc-ipc.c index fdb8d4b..b99e368 100644 --- a/src/ipc/pmc-ipc.c +++ b/src/ipc/pmc-ipc.c @@ -168,7 +168,8 @@ int platform_ipc_pmc_init(void) uint32_t imrlpesc;
/* init ipc data */ - _pmc = rmalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct intel_ipc_pmc_data)); + _pmc = rmalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct intel_ipc_pmc_data));
/* configure interrupt */ interrupt_register(IRQ_NUM_EXT_PMC, irq_handler, NULL); diff --git a/src/lib/agent.c b/src/lib/agent.c index 0a1ad42..2c61cb1 100644 --- a/src/lib/agent.c +++ b/src/lib/agent.c @@ -83,7 +83,7 @@ void sa_init(struct reef *reef)
trace_sa("ini");
- sa = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*sa)); + sa = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*sa)); reef->sa = sa;
/* set default tick timout */ diff --git a/src/lib/alloc.c b/src/lib/alloc.c index bbc32a3..6221d26 100644 --- a/src/lib/alloc.c +++ b/src/lib/alloc.c @@ -132,7 +132,7 @@ static void *alloc_block(struct mm_heap *heap, int level, map->free_count--; ptr = (void *)(map->base + map->first_free * map->block_size); hdr->size = 1; - hdr->flags = RFLAGS_USED; + hdr->used = 1; heap->info.used += map->block_size; heap->info.free -= map->block_size;
@@ -141,7 +141,7 @@ static void *alloc_block(struct mm_heap *heap, int level,
hdr = &map->block[i];
- if (hdr->flags == 0) { + if (hdr->used == 0) { map->first_free = i; break; } @@ -180,7 +180,7 @@ static void *alloc_cont_blocks(struct mm_heap *heap, int level, hdr = &map->block[current];
/* is block used */ - if (hdr->flags == RFLAGS_USED) + if (hdr->used) break; }
@@ -205,7 +205,7 @@ found: /* allocate each block */ for (current = start; current < end; current++) { hdr = &map->block[current]; - hdr->flags = RFLAGS_USED; + hdr->used = 1; }
/* do we need to find a new first free block ? */ @@ -216,7 +216,7 @@ found:
hdr = &map->block[i];
- if (hdr->flags == 0) { + if (hdr->used == 0) { map->first_free = i; break; } @@ -330,7 +330,7 @@ found: for (i = block; i < block + hdr->size; i++) { hdr = &block_map->block[i]; hdr->size = 0; - hdr->flags = 0; + hdr->used = 0; block_map->free_count++; heap->info.used -= block_map->block_size; heap->info.free += block_map->block_size; diff --git a/src/lib/dma-trace.c b/src/lib/dma-trace.c index c72c55b..211f34f 100644 --- a/src/lib/dma-trace.c +++ b/src/lib/dma-trace.c @@ -128,11 +128,12 @@ int dma_trace_init_early(struct reef *reef) { struct dma_trace_buf *buffer;
- trace_data = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*trace_data)); + trace_data = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*trace_data)); buffer = &trace_data->dmatb;
/* allocate new buffer */ - buffer->addr = rballoc(RZONE_RUNTIME, RFLAGS_NONE, DMA_TRACE_LOCAL_SIZE); + buffer->addr = rballoc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + DMA_TRACE_LOCAL_SIZE); if (buffer->addr == NULL) { trace_buffer_error("ebm"); return -ENOMEM; @@ -179,7 +180,7 @@ int dma_trace_host_buffer(struct dma_trace_data *d, struct dma_sg_elem *elem, struct dma_sg_elem *e;
/* allocate new host DMA elem and add it to our list */ - e = rzalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*e)); + e = rzalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, sizeof(*e)); if (e == NULL) return -ENOMEM;
diff --git a/src/lib/interrupt.c b/src/lib/interrupt.c index 4516cf3..32b6235 100644 --- a/src/lib/interrupt.c +++ b/src/lib/interrupt.c @@ -56,7 +56,8 @@ int irq_register_child(struct irq_parent *parent, int irq,
/* init child */ parent->child[REEF_IRQ_BIT(irq)] = - rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(struct irq_child)); + rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, + sizeof(struct irq_child)); parent->child[REEF_IRQ_BIT(irq)]->enabled = 0; parent->child[REEF_IRQ_BIT(irq)]->handler = handler; parent->child[REEF_IRQ_BIT(irq)]->handler_arg = arg; diff --git a/src/lib/schedule.c b/src/lib/schedule.c index bfbb1b9..7728419 100644 --- a/src/lib/schedule.c +++ b/src/lib/schedule.c @@ -372,7 +372,7 @@ int scheduler_init(struct reef *reef) { trace_pipe("ScI");
- sch = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*sch)); + sch = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*sch)); list_init(&sch->list); spinlock_init(&sch->lock); sch->clock = PLATFORM_SCHED_CLOCK; diff --git a/src/lib/work.c b/src/lib/work.c index 18d743c..eb7b223 100644 --- a/src/lib/work.c +++ b/src/lib/work.c @@ -444,7 +444,7 @@ struct work_queue *work_new_queue(struct work_queue_timesource *ts) struct work_queue *queue;
/* init work queue */ - queue = rmalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*queue_)); + queue = rmalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*queue_));
list_init(&queue->work); spinlock_init(&queue->lock); diff --git a/src/platform/apollolake/clk.c b/src/platform/apollolake/clk.c index 72d2e9f..32d3236 100644 --- a/src/platform/apollolake/clk.c +++ b/src/platform/apollolake/clk.c @@ -197,7 +197,7 @@ uint64_t clock_time_elapsed(int clock, uint64_t previous, uint64_t *current)
void init_platform_clocks(void) { - clk_pdata = rmalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*clk_pdata)); + clk_pdata = rmalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*clk_pdata));
spinlock_init(&clk_pdata->clk[0].lock); spinlock_init(&clk_pdata->clk[1].lock); diff --git a/src/platform/baytrail/clk.c b/src/platform/baytrail/clk.c index 99e1bfd..fc1cd9d 100644 --- a/src/platform/baytrail/clk.c +++ b/src/platform/baytrail/clk.c @@ -260,7 +260,7 @@ uint64_t clock_time_elapsed(int clock, uint64_t previous, uint64_t *current)
void init_platform_clocks(void) { - clk_pdata = rmalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*clk_pdata)); + clk_pdata = rmalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*clk_pdata));
spinlock_init(&clk_pdata->clk[0].lock); spinlock_init(&clk_pdata->clk[1].lock); diff --git a/src/platform/cannonlake/clk.c b/src/platform/cannonlake/clk.c index dcfe4b3..f27e691 100644 --- a/src/platform/cannonlake/clk.c +++ b/src/platform/cannonlake/clk.c @@ -191,7 +191,8 @@ uint64_t clock_time_elapsed(int clock, uint64_t previous, uint64_t *current)
void init_platform_clocks(void) { - clk_pdata = rmalloc(RZONE_RUNTIME, RFLAGS_NONE, sizeof(*clk_pdata)); + clk_pdata = rmalloc(RZONE_RUNTIME, SOF_MEM_CAPS_RAM, + sizeof(*clk_pdata));
spinlock_init(&clk_pdata->clk[0].lock); spinlock_init(&clk_pdata->clk[1].lock); diff --git a/src/platform/haswell/clk.c b/src/platform/haswell/clk.c index 76d18d1..8a724a8 100644 --- a/src/platform/haswell/clk.c +++ b/src/platform/haswell/clk.c @@ -195,7 +195,7 @@ uint64_t clock_time_elapsed(int clock, uint64_t previous, uint64_t *current)
void init_platform_clocks(void) { - clk_pdata = rzalloc(RZONE_SYS, RFLAGS_NONE, sizeof(*clk_pdata)); + clk_pdata = rzalloc(RZONE_SYS, SOF_MEM_CAPS_RAM, sizeof(*clk_pdata));
spinlock_init(&clk_pdata->clk[0].lock); spinlock_init(&clk_pdata->clk[1].lock);
participants (1)
-
Liam Girdwood