Add initial scheduling platform scheduling. TODO: fine tune the MIPS
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- topology/dsps/bdw.m4 | 44 ++++++++++++++++++++++++++++++++++---------- topology/dsps/bxt.m4 | 44 ++++++++++++++++++++++++++++++++++---------- topology/dsps/byt.m4 | 44 ++++++++++++++++++++++++++++++++++---------- topology/dsps/cht.m4 | 30 ++++++++++++++++++++---------- topology/dsps/hsw.m4 | 44 ++++++++++++++++++++++++++++++++++---------- 5 files changed, 156 insertions(+), 50 deletions(-)
diff --git a/topology/dsps/bdw.m4 b/topology/dsps/bdw.m4 index 24e0156..428e8bb 100644 --- a/topology/dsps/bdw.m4 +++ b/topology/dsps/bdw.m4 @@ -7,8 +7,7 @@ SectionVendorTuples."pipe_ll_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "0" - SOF_TKN_SCHED_MIPS "50000" + SOF_TKN_SCHED_MIPS "50000" } }
@@ -21,8 +20,7 @@ SectionVendorTuples."pipe_media_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "1" - SOF_TKN_SCHED_MIPS "100000" + SOF_TKN_SCHED_MIPS "100000" } }
@@ -35,8 +33,7 @@ SectionVendorTuples."pipe_tone_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "2" - SOF_TKN_SCHED_MIPS "200000" + SOF_TKN_SCHED_MIPS "200000" } }
@@ -49,8 +46,8 @@ SectionVendorTuples."dai0p_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "0" } }
@@ -63,11 +60,38 @@ SectionVendorTuples."dai0c_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "1" } }
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" } + +# PCM platform configuration +SectionVendorTuples."pcm_plat_tokens" { + tokens "sof_dai_tokens" + + tuples."word" { + SOF_TKN_DAI_DMAC PIPELINE_DMAC + SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN + } +} + +SectionData."pcm_plat_conf" { + tuples "pcm_plat_tokens" +} + +# DAI schedule Configuration - scheduled by IRQ +SectionVendorTuples."pipe_dai_schedule_plat_tokens" { + tokens "sof_sched_tokens" + + tuples."word" { + SOF_TKN_SCHED_MIPS "5000" + } +} + +SectionData."pipe_dai_schedule_plat" { + tuples "pipe_dai_schedule_plat_tokens" +} diff --git a/topology/dsps/bxt.m4 b/topology/dsps/bxt.m4 index fe21ae8..688e9fa 100644 --- a/topology/dsps/bxt.m4 +++ b/topology/dsps/bxt.m4 @@ -7,8 +7,7 @@ SectionVendorTuples."pipe_ll_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "0" - SOF_TKN_SCHED_MIPS "50000" + SOF_TKN_SCHED_MIPS "50000" } }
@@ -21,8 +20,7 @@ SectionVendorTuples."pipe_media_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "1" - SOF_TKN_SCHED_MIPS "100000" + SOF_TKN_SCHED_MIPS "100000" } }
@@ -35,8 +33,7 @@ SectionVendorTuples."pipe_tone_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "2" - SOF_TKN_SCHED_MIPS "200000" + SOF_TKN_SCHED_MIPS "200000" } }
@@ -49,8 +46,8 @@ SectionVendorTuples."dai0p_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "0" } }
@@ -63,11 +60,38 @@ SectionVendorTuples."dai0c_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "1" } }
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" } + +# PCM platform configuration +SectionVendorTuples."pcm_plat_tokens" { + tokens "sof_dai_tokens" + + tuples."word" { + SOF_TKN_DAI_DMAC PIPELINE_DMAC + SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN + } +} + +SectionData."pcm_plat_conf" { + tuples "pcm_plat_tokens" +} + +# DAI schedule Configuration - scheduled by IRQ +SectionVendorTuples."pipe_dai_schedule_plat_tokens" { + tokens "sof_sched_tokens" + + tuples."word" { + SOF_TKN_SCHED_MIPS "5000" + } +} + +SectionData."pipe_dai_schedule_plat" { + tuples "pipe_dai_schedule_plat_tokens" +} diff --git a/topology/dsps/byt.m4 b/topology/dsps/byt.m4 index 8aa3930..b4defaa 100644 --- a/topology/dsps/byt.m4 +++ b/topology/dsps/byt.m4 @@ -7,8 +7,7 @@ SectionVendorTuples."pipe_ll_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "0" - SOF_TKN_SCHED_MIPS "50000" + SOF_TKN_SCHED_MIPS "50000" } }
@@ -21,8 +20,7 @@ SectionVendorTuples."pipe_media_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "1" - SOF_TKN_SCHED_MIPS "100000" + SOF_TKN_SCHED_MIPS "100000" } }
@@ -35,8 +33,7 @@ SectionVendorTuples."pipe_tone_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "2" - SOF_TKN_SCHED_MIPS "200000" + SOF_TKN_SCHED_MIPS "200000" } }
@@ -49,8 +46,8 @@ SectionVendorTuples."dai0p_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "0" } }
@@ -63,11 +60,38 @@ SectionVendorTuples."dai0c_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "1" } }
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" } + +# PCM platform configuration +SectionVendorTuples."pcm_plat_tokens" { + tokens "sof_dai_tokens" + + tuples."word" { + SOF_TKN_DAI_DMAC PIPELINE_DMAC + SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN + } +} + +SectionData."pcm_plat_conf" { + tuples "pcm_plat_tokens" +} + +# DAI schedule Configuration - scheduled by IRQ +SectionVendorTuples."pipe_dai_schedule_plat_tokens" { + tokens "sof_sched_tokens" + + tuples."word" { + SOF_TKN_SCHED_MIPS "5000" + } +} + +SectionData."pipe_dai_schedule_plat" { + tuples "pipe_dai_schedule_plat_tokens" +} diff --git a/topology/dsps/cht.m4 b/topology/dsps/cht.m4 index f6976aa..d315b0c 100644 --- a/topology/dsps/cht.m4 +++ b/topology/dsps/cht.m4 @@ -7,8 +7,7 @@ SectionVendorTuples."pipe_ll_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "0" - SOF_TKN_SCHED_MIPS "50000" + SOF_TKN_SCHED_MIPS "50000" } }
@@ -21,8 +20,7 @@ SectionVendorTuples."pipe_media_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "1" - SOF_TKN_SCHED_MIPS "100000" + SOF_TKN_SCHED_MIPS "100000" } }
@@ -35,8 +33,7 @@ SectionVendorTuples."pipe_tone_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "2" - SOF_TKN_SCHED_MIPS "200000" + SOF_TKN_SCHED_MIPS "200000" } }
@@ -49,8 +46,8 @@ SectionVendorTuples."dai0p_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "0" } }
@@ -63,11 +60,24 @@ SectionVendorTuples."dai0c_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "1" } }
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" } + +# DAI schedule Configuration - scheduled by IRQ +SectionVendorTuples."pipe_dai_schedule_plat_tokens" { + tokens "sof_sched_tokens" + + tuples."word" { + SOF_TKN_SCHED_MIPS "5000" + } +} + +SectionData."pipe_dai_schedule_plat" { + tuples "pipe_dai_schedule_plat_tokens" +} diff --git a/topology/dsps/hsw.m4 b/topology/dsps/hsw.m4 index 1c155a9..edb417f 100644 --- a/topology/dsps/hsw.m4 +++ b/topology/dsps/hsw.m4 @@ -7,8 +7,7 @@ SectionVendorTuples."pipe_ll_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "0" - SOF_TKN_SCHED_MIPS "50000" + SOF_TKN_SCHED_MIPS "50000" } }
@@ -21,8 +20,7 @@ SectionVendorTuples."pipe_media_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "1" - SOF_TKN_SCHED_MIPS "100000" + SOF_TKN_SCHED_MIPS "100000" } }
@@ -35,8 +33,7 @@ SectionVendorTuples."pipe_tone_schedule_plat_tokens" { tokens "sof_sched_tokens"
tuples."word" { - SOF_TKN_SCHED_PRIORITY "2" - SOF_TKN_SCHED_MIPS "200000" + SOF_TKN_SCHED_MIPS "200000" } }
@@ -49,8 +46,8 @@ SectionVendorTuples."dai0p_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "0" } }
@@ -63,11 +60,38 @@ SectionVendorTuples."dai0c_plat_tokens" { tokens "sof_dai_tokens"
tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" + SOF_TKN_DAI_DMAC "1" + SOF_TKN_DAI_DMAC_CHAN "1" } }
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" } + +# PCM platform configuration +SectionVendorTuples."pcm_plat_tokens" { + tokens "sof_dai_tokens" + + tuples."word" { + SOF_TKN_DAI_DMAC PIPELINE_DMAC + SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN + } +} + +SectionData."pcm_plat_conf" { + tuples "pcm_plat_tokens" +} + +# DAI schedule Configuration - scheduled by IRQ +SectionVendorTuples."pipe_dai_schedule_plat_tokens" { + tokens "sof_sched_tokens" + + tuples."word" { + SOF_TKN_SCHED_MIPS "5000" + } +} + +SectionData."pipe_dai_schedule_plat" { + tuples "pipe_dai_schedule_plat_tokens" +}