On 5/22/18 4:48 AM, Wu Zhigang wrote:
the script should be updated for 4-channel feature. if not, the volume of rear 2-channel cannot be adjusted.
Signed-off-by: Wu Zhigang zhigang.wu@linux.intel.com
Test with: APL-MRB with tdf8532 codec Linux topic/sof-v4.14: 33807ca8baa20bab2f98e9cc8a23c51a0822ad9f SOF master: e5dab2ada6ef98dbc6224863110cc86b5839ea01 Tool master: b4f3670870ba5a933c3ec58a51b59ff9ef8b3588
The Sanity test is for nocodec case. this change only affect the codec case. so I did not do the sanity test.
topology/sof/pipe-volume-capture.m4 | 4 ++-- topology/sof/pipe-volume-playback.m4 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/topology/sof/pipe-volume-capture.m4 b/topology/sof/pipe-volume-capture.m4 index b3d3206..3c03e68 100644 --- a/topology/sof/pipe-volume-capture.m4 +++ b/topology/sof/pipe-volume-capture.m4 @@ -22,8 +22,8 @@ C_CONTROLMIXER(Master Capture Volume, PIPELINE_ID, 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,
- LIST(` ', KCONTROL_CHANNEL(FL, 1, 0), KCONTROL_CHANNEL(FR, 1, 1)))
- Channel register and shift for Front Left/Right and Rear Left/Right,
- LIST(` ', KCONTROL_CHANNEL(FL, 1, 0), KCONTROL_CHANNEL(FR, 1, 1), KCONTROL_CHANNEL(RL, 2, 0), KCONTROL_CHANNEL(RR, 2, 1)))
This doesn't scale. This should be a parameter defining which channels should be controlled. Hard-coding to two outputs or four outputs is not going to work for the next board if it has 6 channels...
# # Components and Buffers diff --git a/topology/sof/pipe-volume-playback.m4 b/topology/sof/pipe-volume-playback.m4 index 4b12d2a..65d7894 100644 --- a/topology/sof/pipe-volume-playback.m4 +++ b/topology/sof/pipe-volume-playback.m4 @@ -22,8 +22,8 @@ C_CONTROLMIXER(Master Playback Volume, PIPELINE_ID, 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,
- LIST(` ', KCONTROL_CHANNEL(FL, 1, 0), KCONTROL_CHANNEL(FR, 1, 1)))
Channel register and shift for Front Left/Right and Rear Left/Right,
LIST(` ', KCONTROL_CHANNEL(FL, 1, 0), KCONTROL_CHANNEL(FR, 1, 1), KCONTROL_CHANNEL(RL, 2, 0), KCONTROL_CHANNEL(RR, 2, 1)))
# # Components and Buffers