topology: pipeline: Add flag to selcect either timer or IRQ scheduling

Add a flag to specify whether the pipeline processing work can be
scheduled via a timer or an IRQ source. IRQ scheduling will primarily be
used by pipelines that include a DAI.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This commit is contained in:
Liam Girdwood 2017-09-11 16:03:57 +01:00
parent 2b41652007
commit 30d3d92928
10 changed files with 12 additions and 10 deletions

View File

@ -370,7 +370,7 @@ define(`NPIPELINE_BUFFER', `BUF'$1`.'$2)
dnl Pipeline name)
define(`N_PIPELINE', `PIPELINE.'PIPELINE_ID`.'$1)
dnl W_PIPELINE(stream, deadline, priority, frames, core, platform)
dnl W_PIPELINE(stream, deadline, priority, frames, core, timer, platform)
define(`W_PIPELINE',
`SectionVendorTuples."'N_PIPELINE($1)`_tuples" {'
` tokens "sof_sched_tokens"'
@ -379,6 +379,7 @@ define(`W_PIPELINE',
` SOF_TKN_SCHED_PRIORITY' STR($3)
` SOF_TKN_SCHED_CORE' STR($5)
` SOF_TKN_SCHED_FRAMES' STR($4)
` SOF_TKN_SCHED_TIMER' STR($6)
` }'
`}'
`SectionData."'N_PIPELINE($1)`_data" {'
@ -391,7 +392,7 @@ define(`W_PIPELINE',
` stream_name "'$1`"'
` data ['
` "'N_PIPELINE($1)`_data"'
` "'$6`"'
` "'$7`"'
` ]'
`}')

View File

@ -11,7 +11,7 @@ W_DAI_IN(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 2, 0, 0, dai0c_plat_conf)
#
# DAI pipeline - always use 0 for DAIs
#
W_PIPELINE(N_DAI_IN, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat)
W_PIPELINE(N_DAI_IN, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
#
# Graph connections to pipelines

View File

@ -11,7 +11,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, 2, 2, dai0p_plat_conf)
#
# DAI pipeline - always use 0 for DAIs
#
W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat)
W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
#
# Graph connections to pipelines

View File

@ -81,7 +81,7 @@ indir(`define', concat(`PIPELINE_SINK_', PIPELINE_ID), N_BUFFER(0))
# Pipeline Configuration.
#
W_PIPELINE(N_PGA(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
#W_PIPELINE(N_PGA(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
#
# PCM Configuration

View File

@ -146,7 +146,7 @@ indir(`define', concat(`PIPELINE_MIXER_', PIPELINE_ID), N_MIXER(0))
# Pipeline Configuration.
#
W_PIPELINE(N_PGA(1), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
#W_PIPELINE(N_PGA(1), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
#
# PCM Configuration

View File

@ -28,7 +28,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, 2, 2, dai0p_plat_conf)
#
# DAI pipeline - always use 0 for DAIs
#
W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat)
W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
#
# Pipeline Graph

View File

@ -65,7 +65,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, DAI_PERIODS,
# DAI pipeline - always use 0 for DAIs
#
W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES,
SCHEDULE_CORE, pipe_dai_schedule_plat)
SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
#
# Pipeline Graph

View File

@ -111,7 +111,7 @@ indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(2))
# Pipeline Configuration.
#
W_PIPELINE(N_SRC(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_media_schedule_plat)
W_PIPELINE(N_SRC(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 1, pipe_media_schedule_plat)
#
# PCM Configuration

View File

@ -84,4 +84,4 @@ indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(1))
# Pipeline Configuration.
#
W_PIPELINE(N_TONE(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_tone_schedule_plat)
W_PIPELINE(N_TONE(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 1, pipe_tone_schedule_plat)

View File

@ -28,6 +28,7 @@ SectionVendorTokens."sof_sched_tokens" {
SOF_TKN_SCHED_MIPS "202"
SOF_TKN_SCHED_CORE "203"
SOF_TKN_SCHED_FRAMES "204"
SOF_TKN_SCHED_TIMER "205"
}
SectionVendorTokens."sof_volume_tokens" {