On 5/31/2018 00:02, Ranjani Sridharan wrote:
Should the prefix be mixer control? mixer might also imply the mixer component?
Yes, these naming are very confusing. The switch is implemented by mixer kcontrol. And we also have switch widget and mixer widget.
Thanks Xiuli
On Wed, 2018-05-30 at 17:51 +0800, Xiuli Pan wrote:
From: Pan Xiuli xiuli.pan@linux.intel.com
CONTROLMIXER_MIN should go pair with CONTROLMIXER_MAX. Signed-off-by: Pan Xiuli xiuli.pan@linux.intel.com
topology/m4/mixercontrol.m4 | 16 +++++++++++----- topology/sof/pipe-low-latency-capture.m4 | 3 ++- topology/sof/pipe-low-latency-playback.m4 | 2 ++ topology/sof/pipe-pcm-media.m4 | 1 + topology/sof/pipe-tone.m4 | 2 ++ topology/sof/pipe-volume-capture.m4 | 1 + topology/sof/pipe-volume-playback.m4 | 1 + 7 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/topology/m4/mixercontrol.m4 b/topology/m4/mixercontrol.m4 index a3423c3..2a16d2c 100644 --- a/topology/m4/mixercontrol.m4 +++ b/topology/m4/mixercontrol.m4 @@ -14,6 +14,11 @@ define(`CONTROLMIXER_MAX', `#$1' ` max STR($2)')
+dnl CONTROLMIXER_MIN(comment, value) +define(`CONTROLMIXER_MIN', +`#$1' +` min STR($2)')
- dnl CONTROLMIXER_TLV(comment, value) define(`CONTROLMIXER_TLV', `#$1'
@@ -28,21 +33,22 @@ define(`CONTROLMIXER_OPS', ` put STR($4)' ` }')
-dnl C_CONTROLMIXER(name, index, ops, max, invert, tlv, KCONTROL_CHANNELS) +dnl C_CONTROLMIXER(name, index, ops, min, max, invert, tlv, KCONTROL_CHANNELS) define(`C_CONTROLMIXER', `SectionControlMixer."$1 PIPELINE_ID" {' `' ` # control belongs to this index group' ` index STR($2)' `' -` #$7' -` $8' +` #$8' +` $9' ` # control uses bespoke driver get/put/info ID' ` $3' `' ` $4' -` invert STR($5)' -` $6' +` $5' +` invert STR($6)' +` $7'
`}')
diff --git a/topology/sof/pipe-low-latency-capture.m4 b/topology/sof/pipe-low-latency-capture.m4 index 39be2bc..73340a4 100644 --- a/topology/sof/pipe-low-latency-capture.m4 +++ b/topology/sof/pipe-low-latency-capture.m4 @@ -17,7 +17,8 @@ include(`mixercontrol.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(PCM PCM_ID Capture Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MAX(, 40),
- CONTROLMIXER_MIN(, 0),
- CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), Channel register and shift for Front Left/Right, diff --git a/topology/sof/pipe-low-latency-playback.m4 b/topology/sof/pipe-low-latency-playback.m4 index b40b793..b4451ff 100644 --- a/topology/sof/pipe-low-latency-playback.m4 +++ b/topology/sof/pipe-low-latency-playback.m4 @@ -33,6 +33,7 @@ include(`mixercontrol.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(PCM PCM_ID Playback Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), @@ -42,6 +43,7 @@ C_CONTROLMIXER(PCM PCM_ID Playback Volume, PIPELINE_ID, # Volume Mixer control with max value of 32 C_CONTROLMIXER(Master Playback Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), diff --git a/topology/sof/pipe-pcm-media.m4 b/topology/sof/pipe-pcm- media.m4 index 7f68977..2c0ebee 100644 --- a/topology/sof/pipe-pcm-media.m4 +++ b/topology/sof/pipe-pcm-media.m4 @@ -22,6 +22,7 @@ include(`pcm.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(PCM PCM_ID Playback Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), diff --git a/topology/sof/pipe-tone.m4 b/topology/sof/pipe-tone.m4 index 3cdd408..2bba8b7 100644 --- a/topology/sof/pipe-tone.m4 +++ b/topology/sof/pipe-tone.m4 @@ -22,6 +22,7 @@ include(`pipeline.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(Tone Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), @@ -31,6 +32,7 @@ C_CONTROLMIXER(Tone Volume, PIPELINE_ID, # Switch type Mixer Control with max value of 1 C_CONTROLMIXER(Tone Switch, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(max 1 indicates switch type control, 1), false, ,
diff --git a/topology/sof/pipe-volume-capture.m4 b/topology/sof/pipe- volume-capture.m4 index b3d3206..71ff970 100644 --- a/topology/sof/pipe-volume-capture.m4 +++ b/topology/sof/pipe-volume-capture.m4 @@ -19,6 +19,7 @@ include(`pipeline.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(Master Capture Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3), diff --git a/topology/sof/pipe-volume-playback.m4 b/topology/sof/pipe-volume-playback.m4 index 4b12d2a..163507c 100644 --- a/topology/sof/pipe-volume-playback.m4 +++ b/topology/sof/pipe-volume-playback.m4 @@ -19,6 +19,7 @@ include(`pipeline.m4') # Volume Mixer control with max value of 32 C_CONTROLMIXER(Master Playback Volume, PIPELINE_ID, CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, 256, 256),
- CONTROLMIXER_MIN(, 0), CONTROLMIXER_MAX(, 32), false, CONTROLMIXER_TLV(TLV 32 steps from -90dB to +6dB for 3dB,
vtlv_m90s3),