[Sound-open-firmware] [PATCH] topology: Add format and scheduling info to DAI pipelines.
Liam Girdwood
liam.r.girdwood at linux.intel.com
Wed Aug 30 23:56:16 CEST 2017
Some pipelines can be used to service DAIs before data is sent on to
other processing pipelines. Add scheduling and format info to DAI
pipelines.
Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
---
topology/m4/build.m4 | 12 +++++++++++-
topology/reef-apl-nocodec.m4 | 6 ++++--
topology/reef-bdw-rt286.m4 | 6 ++++--
topology/reef-bdw-rt5640.m4 | 6 ++++--
topology/reef-bxt-nocodec.m4 | 6 ++++--
topology/reef-byt-nocodec.m4 | 6 ++++--
topology/reef-byt-rt5640.m4 | 6 ++++--
topology/reef-byt-rt5651.m4 | 6 ++++--
topology/reef-cht-nocodec.m4 | 6 ++++--
topology/reef-hsw-rt5640.m4 | 6 ++++--
10 files changed, 47 insertions(+), 19 deletions(-)
diff --git a/topology/m4/build.m4 b/topology/m4/build.m4
index 843dcbb..7d248da 100644
--- a/topology/m4/build.m4
+++ b/topology/m4/build.m4
@@ -81,7 +81,7 @@ define(`PIPELINE_ADD',
`include($1)'
)
-dnl DAI_ADD(pipeline, dai type, dai_index, stream_name, buffer, periods)
+dnl DAI_ADD(pipeline, dai type, dai_index, stream_name, buffer, periods, format, frames, deadline, priority, core)
define(`DAI_ADD',
`undefine(`PIPELINE_ID')'
`undefine(`DAI_TYPE')'
@@ -89,6 +89,11 @@ define(`DAI_ADD',
`undefine(`DAI_SNAME')'
`undefine(`DAI_BUF')'
`undefine(`DAI_PERIODS')'
+`undefine(`DAI_FORMAT')'
+`undefine(`SCHEDULE_FRAMES')'
+`undefine(`SCHEDULE_DEADLINE')'
+`undefine(`SCHEDULE_PRIORITY')'
+`undefine(`SCHEDULE_CORE')'
`define(`PIPELINE_ID', 0)'
`define(`DAI_TYPE', STR($2))'
`define(`DAI_INDEX', STR($3))'
@@ -96,6 +101,11 @@ define(`DAI_ADD',
`define(`DAI_BUF', $5)'
`define(`DAI_NAME', $2$3)'
`define(`DAI_PERIODS', $6)'
+`define(`DAI_FORMAT', $7)'
+`define(`SCHEDULE_FRAMES', $8)'
+`define(`SCHEDULE_DEADLINE', $9)'
+`define(`SCHEDULE_PRIORITY', $10)'
+`define(`SCHEDULE_CORE', $11)'
`include($1)'
)
diff --git a/topology/reef-apl-nocodec.m4 b/topology/reef-apl-nocodec.m4
index 93b57fe..ef80fd3 100644
--- a/topology/reef-apl-nocodec.m4
+++ b/topology/reef-apl-nocodec.m4
@@ -74,10 +74,12 @@ SectionGraph."pipe-apl-nocodec" {
#
# playback DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-bdw-rt286.m4 b/topology/reef-bdw-rt286.m4
index e4b600a..e3f8dd9 100644
--- a/topology/reef-bdw-rt286.m4
+++ b/topology/reef-bdw-rt286.m4
@@ -74,10 +74,12 @@ SectionGraph."pipe-bdw-rt286" {
#
# playback DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-bdw-rt5640.m4 b/topology/reef-bdw-rt5640.m4
index 5d96236..4344605 100644
--- a/topology/reef-bdw-rt5640.m4
+++ b/topology/reef-bdw-rt5640.m4
@@ -74,10 +74,12 @@ SectionGraph."pipe-bdw-rt5640" {
#
# playback DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-bxt-nocodec.m4 b/topology/reef-bxt-nocodec.m4
index a8fd320..2028323 100644
--- a/topology/reef-bxt-nocodec.m4
+++ b/topology/reef-bxt-nocodec.m4
@@ -74,10 +74,12 @@ SectionGraph."pipe-bxt-nocodec" {
#
# playback DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-byt-nocodec.m4 b/topology/reef-byt-nocodec.m4
index 01b223d..1c3cf5f 100644
--- a/topology/reef-byt-nocodec.m4
+++ b/topology/reef-byt-nocodec.m4
@@ -65,10 +65,12 @@ SectionGraph."pipe-byt-nocodec" {
#
# playback DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-byt-rt5640.m4 b/topology/reef-byt-rt5640.m4
index 00d31c7..0629d43 100644
--- a/topology/reef-byt-rt5640.m4
+++ b/topology/reef-byt-rt5640.m4
@@ -65,10 +65,12 @@ SectionGraph."pipe-byt-rt5640" {
#
# playback DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-byt-rt5651.m4 b/topology/reef-byt-rt5651.m4
index fd5263f..1b492b7 100644
--- a/topology/reef-byt-rt5651.m4
+++ b/topology/reef-byt-rt5651.m4
@@ -65,10 +65,12 @@ SectionGraph."pipe-byt-rt5651" {
#
# playback DAI is SSP2 using "Audio" DAPM stream name and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, Audio, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, Audio, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using "Audio" DAPM stream name and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, Audio, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, Audio, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-cht-nocodec.m4 b/topology/reef-cht-nocodec.m4
index 334443b..ead0f75 100644
--- a/topology/reef-cht-nocodec.m4
+++ b/topology/reef-cht-nocodec.m4
@@ -65,10 +65,12 @@ SectionGraph."pipe-cht-nocodec" {
#
# playback DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
diff --git a/topology/reef-hsw-rt5640.m4 b/topology/reef-hsw-rt5640.m4
index 3a76223..e4d9392 100644
--- a/topology/reef-hsw-rt5640.m4
+++ b/topology/reef-hsw-rt5640.m4
@@ -74,10 +74,12 @@ SectionGraph."pipe-hsw-rt5640" {
#
# playback DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods
-DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2)
+# Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0
+DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
#
# BE configurations - overrides config in ACPI if present
--
2.11.0
More information about the Sound-open-firmware
mailing list