ASoC: wcd9320: Handle the port disconnect correctly

In irq handler driver goes through all irq register
status bits to check which interrupt has really
triggered. However hardware sets the irq status register
regardless of mask value set by the driver. This has
an un-intended consequence of stack dump in driver as
it was not expecting this interrupt.

Change-Id: I2fd9ff93134f76cd924fdab7024e712f95caf7fe
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
ASoC: wcd9xxx: Changes for High performance mode

Add changes for high performance audio playback on headset
for better audio quality during 192KHz/24bit audio playback.

CRs-Fixed: 706322
Change-Id: Ie79293f24114d5d81a610186d24b44b1550dae9c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
ASoC: wcd9xxx: Avoid micbias glitches during audio playback

During audio playback over headset, micbias output is switched
to vddio and it's parameters are programmed so that it will do
button polling with a voltage equal to vddio (1.8v). It is observed
that during this polling interval there is a drop in micbias
voltage which would cause issues with button press. Avoid this
voltage drop by disabling mbhc micbias when vddio switch is enabled.

CRs-Fixed: 705060
Change-Id: I0c2f6a0224760aef1f8e51b1ae34c77fc9863b52
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>