Add variant entry support for wcd937x and wcd938x codecs to
differentiate between wcd9370/80 and wcd9375/85 variants.
Change-Id: Ife20d14462a0b0968e0458471af3823872592e10
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
The read compressed in IEC61937 mode doesn't unpack data to frames, but
data flow still requires frames_per_buf to be set to nonzero value.
Change-Id: Idb09219c57d7790cb90df62c97baf3ef0e9d8a2f
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
During adsp SSR, bolero runtime suspend is not called and
hw vote clks are not reset. Force bolero runtime suspend
during adsp SSR to avoid kernel panic.
Change-Id: Iff5983ef07f77ecc7f3f344948c013906b4bad60
Signed-off-by: Meng Wang <mengw@codeaurora.org>
During adsp SSR, lpi runtime suspend is not called and
hw vote clks are not reset. Force LPI runtime suspend
during adsp SSR to avoid kernel panic.
Change-Id: I153c5826a282d7beb175a41a55e2d6bf5907eb62
Signed-off-by: Meng Wang <mengw@codeaurora.org>
DMA buffer does not unmap after kernel ion map failure. It leads
to unexpected vaddr and memory leak.
Change-Id: I363dd9178a0bcbca601180bfd0a7bd7ef2430d3e
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
HW vote clock may fail to get enabled. Check if hw vote clk is
enabled in lpi_gpio_read and lpi_gpio_write to avoid kernel panic.
Change-Id: I077e5c61058d9d90be98ff3a0c0834049ad7e584
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Update pr_err to dev_err to indicate which device has
clock mismatch.
Change-Id: Icf842ed63aa0a01ace0ff461f8c05194a0e25f92
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Reset GFMUX reg for va-macro and wsa-macro when adsp is up
after SSR. And check if clock is enabled before accessing
register to avoid kernel panic.
Change-Id: Idce9695be552cab0e8e389cf72eeb7a67a754bf9
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Update TX requantizer gain coefficients to center
gain errors around zero. To reduce click and pop
on audio playback enable reference buffers of
headphone path in hifi mode and then put it to
the usecase specific power mode.
Change-Id: I0013d6258d5e5a8c92fd0f951d1d89e5906b2faf
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add HDMI Codec module in GVM for auto, to keep
consistent with BoardConfig.
Change-Id: Iba3b0ac1722797a8481ee1a6f857876814ab54ac
Signed-off-by: Timothy Sham <tsham@codeaurora.org>
Break without setting rc to error code causes param_id=0 sent to certain
effect module in adsp, If enable flag state for the module is same as
the requested state, ignore the command and continue with next command
to avoid sending param_id=0 to ADSP.
CRs-Fixed: 2478482
Change-Id: I6cddf6f5156562d2c5d6aa6163881992bfa55eeb
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
In afe_get_cal_sp_th_vi_param and afe_set_cal_sp_th_vi_cfg
functions, data size check is not present which might lead to
out of bounds access. Add size checks to fix the same.
Change-Id: I99eca6065e6f5a050527f1bfce2bfcba28123b53
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Use soundwire device wakeup API to wakeup soundwire master
during headset plug detection.
Change-Id: Icddd558df382146bb2989926d2e92e627b5a844f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Soundwire requires lpass core and lpass audio core to be enabled
to receive interrupts and soundwire register read/writes. Change
enables lpass core and lpass audio core in interrrupt service
routine and during register read/writes.
Change-Id: I56da2fc6efe7dfb1a7d59937b123b3972f633448
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add compander soft reset event that can be requested
from a slave codec to reset at power down to reduce
click and pop noise.
Change-Id: I2f6ff182e258e02979166b0e76b6a1d439b1cf87
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
In register show functions, when snprintf returns a negative value
out of bounds access occurs while copying the data to user.
Add return value check on snprintf before copy_to_user
to fix this.
Change-Id: I1eb793721c653bf6d1fbd10f4cea3436ffe6f519
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
When slim device is NULL or pdata allocation fails in wcd9xxx
slim probe, devm_kfree uses slim device leading to a NULL pointer
dereference. Fix this by returning from probe in these scenarios.
Change-Id: I232661d8ba0320469bc4486e7dd82713e9b53d73
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Update VA macro clock sequence for headset detection during
voice activation usecase to avoid soundwire bus clash interrupts.
Change-Id: Ic004d43aef9c8a9003b3028c122e6fb6a06fa58d
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>