hal: speaker protection is msm8974 only

Change-Id: If07c3b1ad902de283707da673c5c305451e4ee10
post_proc: Fix bassboost/virtualizer not disabled on speaker

When output is unintended device, there's no need to query enable_flag
before setting effect to disabled state. There's possiblity that
enable_flag is 0 as initialized value, which hinder effects from being
disabled.

Change-Id: Ib90c0ad0982dc8274129bb1bed7861e11670fbdb
hal: miscellaneous fixes

Fixes for the following issues reported by KW

21725, 21726, 21727, 21737, 21738, 21739, 21740, 21750,
21751, 21752, 25317, 30602, 32620, 36778, 41817, 41819,
50942, 54468, 54470, 54479, 55569, 54481, 55570, 55571,
58485, 85112, 85122, 85123

Change-Id: I9abef07db7ccdc19789a201eb268a97e1b360cad
hal: Fix no Tx issue during multi party HFP calls

- When an incoming MT HFP call is accepted during an ongoing
  MO HFP call, the MO call goes to held state. Later, if this held
  call is rejected, Tx is not heard at the far end of the incoming
  call from that moment.
- When the held call is rejected, the input device gets disabled due
  to which Tx samples are not captured.
- Fix the issue by ensuring that the input device is not set to none when
  HFP is active.

CRs-Fixed: 656928
Change-Id: Ie3f0886c0412bfdb3e450c54e9f4b651e992f84e
hal: Fix arguments passed to set_echo_reference

* set_echo_reference function takes (struct audio_device *, bool) but is
  being passed (struct mixer *, int) instead.

Change-Id: I3b4fab2b2d266eebac0d5bab80f7a377d442d8fa
hal: Fix digital USB headset combo device

 * Digital USB output was not handled in this case. Add it.

Change-Id: I8e984a2cf545dabdc6dc538b75e8ca7221fb6688