summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-25cs35l41: separate ASPRX1 and ASPRX2 event functionandroid-t-preview-1_r0.4android-gs-raviole-5.10-t-preview-1Robert Lee
mute amp when ASPRX1 and ASPRX2 both power down. Bug: 216235756 Test: amp is not muted after run below commands adb shell "tinymix 'DSP RX1 Source' ASPRX2" adb shell "tinymix 'DSP RX1 Source' ASPRX1" Change-Id: Ib519a45f83eb675988eb908088932301dd617f68 Signed-off-by: Robert Lee <lerobert@google.com>
2022-01-11Merge android12-gs-pixel-5.10-sc-v2 into android13-gs-pixel-5.10Robin Peng
Bug: 211546634 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I4fbb05bb21d27994d0852bf96b268161df2e4759
2022-01-07cs35l41: fix unknown pin errorRobert Lee
Bug: 211559877 Test: builds and check there is no unknown pin in kernel log Change-Id: Ib38de0a4aa6506d5d4e3824bfdb59d55895a09b7 Signed-off-by: Robert Lee <lerobert@google.com>
2022-01-03Merge android12-gs-pixel-5.10-sc-v2 into android13-gs-pixel-5.10Robin Peng
Bug: 211546634 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I29253926e9c5bb7cfbb102f9459d9cea494d97cc
2022-01-03Merge android12-gs-pixel-5.10-sc-qpr2 into android12-gs-pixel-5.10-sc-v2android-s-qpr3-beta-3_r0.5android-s-qpr3-beta-2_r0.5android-s-qpr3-beta-1_r0.6android-s-qpr3-beta-1_r0.5android-12.1.0_r0.40android-12.1.0_r0.35android-12.1.0_r0.28android-gs-raviole-5.10-s-qpr3-beta-3android-gs-raviole-5.10-s-qpr3-beta-2android-gs-raviole-5.10-android12-qpr3android-gs-bluejay-5.10-android12L-d2Robin Peng
Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I31fecdfcd76965cbad32134b43c887bd11129c15
2022-01-03amcs: fix stack buffer OOB write vulnerabilityandroid-s-v2-beta-3_r0.6android-12.1.0_r0.6android-12.1.0_r0.22android-12.1.0_r0.16android-gs-raviole-5.10-s-v2-beta-3android-gs-raviole-5.10-android12LRobert Lee
add size checking before we access params. Bug: 206128522 Test: manually test with test_poc on bug Change-Id: Iac01ea063990521a8a89f186a07a157678295816 Signed-off-by: Robert Lee <lerobert@google.com>
2021-12-28amcs: fix stack buffer OOB write vulnerabilityRobert Lee
add size checking before we access params. Bug: 206128522 Test: manually test with test_poc on bug Change-Id: Iac01ea063990521a8a89f186a07a157678295816 Signed-off-by: Robert Lee <lerobert@google.com>
2021-12-22cs35l41: add new control for setting default sample rateRobert Lee
Bug: 206060532 Test: builds Change-Id: I2d9bf232a7bf72c7500f2dcc6e30db9e17dedee7 Signed-off-by: Robert Lee <lerobert@google.com>
2021-11-25Merge android12-gs-pixel-5.10-sc-v2 into android13-gs-pixel-5.10Alex Hong
Bug: 199698959 Change-Id: Ic99f92ef10b26e1b7c963098af17db52b0709cfc Signed-off-by: Alex Hong <rurumihong@google.com>
2021-11-24Merge android12-gs-pixel-5.10-sc-qpr2 into android12-gs-pixel-5.10-sc-v2PixelBot AutoMerger
Bug: 199698959 SBMerger: 410055097 Change-Id: Id02d1023d700dea7898214a712c2bb0582d76dde Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-11-24Merge android12-gs-pixel-5.10-sc-qpr1 into android12-gs-pixel-5.10-sc-qpr2PixelBot AutoMerger
Bug: 199698959 SBMerger: 410055097 Change-Id: Ifb66a5b9de23059b2087009dc7af1014d5a0549b Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-11-17Revert "misc: cs40l25: Add plwe ramp down interface"android-12.0.0_r0.42android-12.0.0_r0.36android-12.0.0_r0.26android-gs-raviole-5.10-android12-qpr1-dchasewu
This reverts commit c6f439e235577d4b540ab72dfcf0e883ca6a9827. Bug: 205323128 Test: Using talkBack app to check it Change-Id: I2e4bb844fd50ea53c696adac49460c058fa4ac48 Signed-off-by: chasewu <chasewu@google.com>
2021-10-21Merge android12-gs-pixel-5.10-sc-v2 into android13-gs-pixel-5.10Alex Hong
Bug: 199698959 Change-Id: I16385477fb2992013ca1e102a945f37d3b9938c2 Signed-off-by: Alex Hong <rurumihong@google.com>
2021-10-10Merge android12-gs-pixel-5.10-sc-qpr2 into android12-gs-pixel-5.10-sc-v2PixelBot AutoMerger
SBMerger: 379283923 Change-Id: Icc2b626e60267acd6a391ac72d64b20d2b4a3eef Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-10-10Merge android12-gs-pixel-5.10-sc-qpr1 into android12-gs-pixel-5.10-sc-qpr2PixelBot AutoMerger
SBMerger: 379283923 Change-Id: I13007d5590076e55654ae43f43752c5f89b9698c Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-10-08Merge "Merge android12-gs-pixel-5.10-sc-qpr2 into ↵Roger Liao
android12-gs-pixel-5.10-sc-v2" into android12-gs-pixel-5.10-sc-v2
2021-10-05misc: cs40l25: Add plwe ramp down interfaceVince Leung
Add a sysfs interface to set the ramp down time on pwle waveforms. The rampdown time is in steps of 1ms with a maximum ramp down time of 50ms. A zero value indicates that the feature is off. Bug: 200713702 Test: verified that new node is added and working Change-Id: I5a8898bd873c47c4d306d0dc1ccc79b082119459 Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: Vince Leung <leungv@google.com>
2021-10-05cs40l26: merge CirrusLogic cs40l26 v3.0.3Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v3.0.3_5.10 Files: - drivers/input/misc/cs40l26-i2c.c (No changes) - drivers/input/misc/cs40l26-spi.c (No changes) - drivers/input/misc/cs40l26-sysfs.c - drivers/input/misc/cs40l26-tables.c (No changes) - drivers/input/misc/cs40l26.c - include/linux/mfd/cs40l26.h - sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Fetures: - Defer Class H Handling to Firmware (rev >= 7.2.10) - Add bost_disable_delay sysfs control - Support for indefinite SVC and Wavetable tunings based on LE value - Add F0_Offset sysfs control - Use firmware timer instead of HR Timer to schedule haptics Bug fixes: - Avoid infinite vibration race-condition - Graceful exiting of interrupt handler if wake fails - Use programmed duration for OWT effects instead of calculated waveform lentgth Commits: 48d307c79dfb input: cs40l26: Use firmware timer to schedule haptic effects 93880c7a2a41 input: cs40l26: Recover from wakeup error in interrupt handler a330f54756ee input: cs40l26: Change timeout control for OWT a7209b6bce3b input: cs40l26: Add F0 offset sysfs (Skip) 80e7aa51feaa Documentation: cs40l26: Support for multiple SVC LE ranges 83e57c54b934 input: cs40l26: Support for multiple SVC LE ranges 0bc5f644a3fd input: cs40l26: Use STOP_PLAYBACK mailbox command a8c2d057d971 input: cs40l26: Add boost_disable_delay control 0f0eb802dd0f input: cs40l26: Remove Class H handling 18877c7a715c ASoC: cs40l26: Remove Class H handling Bug: 193793095 Test: NFC, bugreport, notification vibration can stop. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iec2a75aa2c94e14c6079b05c2b438afd6c7beca1 (cherry picked from commit aaad7003272facb3e7eb2c768520885390ccb963)
2021-10-03Merge android12-gs-pixel-5.10-sc-qpr2 into android12-gs-pixel-5.10-sc-v2PixelBot AutoMerger
SBMerger: 379283923 Change-Id: Ic6e358a38664c53e63f8a657504bb54b9da0710b Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-10-03Merge android12-gs-pixel-5.10-sc-qpr1 into android12-gs-pixel-5.10-sc-qpr2PixelBot AutoMerger
SBMerger: 379283923 Change-Id: I159bf0ccb029df707d4f1faab30f072b306ba448 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-10-01cs40l26: merge CirrusLogic cs40l26 v3.0.3Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v3.0.3_5.10 Files: - drivers/input/misc/cs40l26-i2c.c (No changes) - drivers/input/misc/cs40l26-spi.c (No changes) - drivers/input/misc/cs40l26-sysfs.c - drivers/input/misc/cs40l26-tables.c (No changes) - drivers/input/misc/cs40l26.c - include/linux/mfd/cs40l26.h - sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Fetures: - Defer Class H Handling to Firmware (rev >= 7.2.10) - Add bost_disable_delay sysfs control - Support for indefinite SVC and Wavetable tunings based on LE value - Add F0_Offset sysfs control - Use firmware timer instead of HR Timer to schedule haptics Bug fixes: - Avoid infinite vibration race-condition - Graceful exiting of interrupt handler if wake fails - Use programmed duration for OWT effects instead of calculated waveform lentgth Commits: 48d307c79dfb input: cs40l26: Use firmware timer to schedule haptic effects 93880c7a2a41 input: cs40l26: Recover from wakeup error in interrupt handler a330f54756ee input: cs40l26: Change timeout control for OWT a7209b6bce3b input: cs40l26: Add F0 offset sysfs (Skip) 80e7aa51feaa Documentation: cs40l26: Support for multiple SVC LE ranges 83e57c54b934 input: cs40l26: Support for multiple SVC LE ranges 0bc5f644a3fd input: cs40l26: Use STOP_PLAYBACK mailbox command a8c2d057d971 input: cs40l26: Add boost_disable_delay control 0f0eb802dd0f input: cs40l26: Remove Class H handling 18877c7a715c ASoC: cs40l26: Remove Class H handling Bug: 193793095 Test: NFC, bugreport, notification vibration can stop. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iec2a75aa2c94e14c6079b05c2b438afd6c7beca1
2021-09-30ASoC: cs40l25: Remove standby and wake from clock swapchasewu
Remove force firmware standby and force firmware wake since it is not required. Bug: 200067948 Test: Manual trigger audio coupled haptics by sound picker Test: Typing, receive a notification Change-Id: I96155838a0edb165bf0d19e531606d9a75e8b585 Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: chasewu <chasewu@google.com>
2021-09-30cs40l25: Clear vibe_state when A2H is still activechasewu
Both the vibe_state and wake lock are gated on haptics effects and not on A2H so should be cleared regardless of if A2H is still active. Bug: 200067948 Test: request QMC to do the fundamental test Change-Id: Id128c795d2c0a8c4ee55c6ec78aadd40fc503e25 Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: chasewu <chasewu@google.com>
2021-09-29Fix unused-but-set-variable build breakage clang migrate to r433403Robin Peng
Bug: 201034056 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I6654c45e6a99832d218f0cb39cf4acc03bf7c521
2021-09-28cs35l41: Ensure dai_set_sysclk can handle higher frequenciesAdam Brickman
Frequencies above 6.144 MHz would error out as they did not exist in the lookup table. These frequencies should be allowed and use hard-coded fs1, fs2 values instead of values pre-calculated in the lookup table Bug: 182350699 Test: manual audio tests. Signed-off-by: juyuchen <juyuchen@google.com> Change-Id: I7b412d79727afd3ba225d36cbd82190ccd1ce218
2021-09-25cs40l25: Remove unreliable condition checking and add status controlchasewu
Since the chip might got stuck, removing the unreliable condition checking could solve device enter ramdump mode due to performance watchdog mechanism. Following the concept in cs40l26-codec.c, I add the vibe_state update function when device is running the audio coupled haptics effects. Bug: 200067948 Test: Manual trigger audio coupled haptics by sound picker Test: Typing, receive a notification Signed-off-by: chasewu <chasewu@google.com> Change-Id: I21b3d4972e78581c2b621390139565f97efd4807
2021-09-14Merge "Merge android12-gs-pixel-5.10-sc-qpr2 into -sc-v2" into ↵Petri Gynther
android12-gs-pixel-5.10-sc-v2
2021-09-14cs40l26: merge CirrusLogic dsp v3.1.3 and cs40l26 v2.0.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v2.0.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - I2S VMON Mixer Control - DSP bypass streaming - 96 kHz streaming - Support for multiple OWT waveforms - sysfs control for number of waveforms Bug fixes: - Fix conditional Class H handling for SVC streaming - sysfs control owt_free_space shows space in byte commits: 8aa3d7e996ab input: cs40l26: Remove acknowledge debug message d87c12eb9614 ASoC: cs40l26: Do not enable Class H if SVC is enabled e99f87cb6afb input: cs40l26: Handle Class H Corner Cases 4ea6bac22a23 input: cs40l26: Add sysfs control to get number of waveforms 32c7894579fb input: cs40l26: Display OWT free space in bytes 5ff5dc33ad15 input: cs40l26: Handle Multiple OWT Waveforms 30fde7eeb877 ASoC: Adding support for 96kHz fs and DSP bypass eccaf3df6af1 ASoC: cs40l26: Use workqueue to start I2S stream e9d0a46bfbbb input: cs40l26: Use workqueue to start I2S stream 770ab3b80cab ASoC: cs40l26: Display VMON value 487c966bba02 input: cs40l26: Add SPKMON_VMON_DEC_OUT_DATA as readable register Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.3_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Increase maximum number of waveforms that can be uploaded via .bin file to 254 from 128. commits: d3be11f7f382 firmware: cirrus: Increase maximum number of wavetable entries Bug: 193782625 Bug: 196485489 Test: Check idlcli vibrator commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ifa4828cb32ee342fee31306d288313e5ea7b857a
2021-09-14cs40l26: Add the RX slots control function backchasewu
Since the latest haptics codec cannot be used in our current setting, I add the previous function to suppot our setting. Bug: 197691879 Test: Use sound picker to trigger audio coupled haptics Signed-off-by: chasewu <chasewu@google.com> Change-Id: I5d5477bd6155edff7b42ecf56c8bde38d4f1bd34
2021-09-14cs40l26: merge CirrusLogic dsp v3.1.3 and cs40l26 v2.0.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v2.0.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - I2S VMON Mixer Control - DSP bypass streaming - 96 kHz streaming - Support for multiple OWT waveforms - sysfs control for number of waveforms Bug fixes: - Fix conditional Class H handling for SVC streaming - sysfs control owt_free_space shows space in byte commits: 8aa3d7e996ab input: cs40l26: Remove acknowledge debug message d87c12eb9614 ASoC: cs40l26: Do not enable Class H if SVC is enabled e99f87cb6afb input: cs40l26: Handle Class H Corner Cases 4ea6bac22a23 input: cs40l26: Add sysfs control to get number of waveforms 32c7894579fb input: cs40l26: Display OWT free space in bytes 5ff5dc33ad15 input: cs40l26: Handle Multiple OWT Waveforms 30fde7eeb877 ASoC: Adding support for 96kHz fs and DSP bypass eccaf3df6af1 ASoC: cs40l26: Use workqueue to start I2S stream e9d0a46bfbbb input: cs40l26: Use workqueue to start I2S stream 770ab3b80cab ASoC: cs40l26: Display VMON value 487c966bba02 input: cs40l26: Add SPKMON_VMON_DEC_OUT_DATA as readable register Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.3_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Increase maximum number of waveforms that can be uploaded via .bin file to 254 from 128. commits: d3be11f7f382 firmware: cirrus: Increase maximum number of wavetable entries Bug: 193782625 Bug: 196485489 Test: Check idlcli vibrator commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ifa4828cb32ee342fee31306d288313e5ea7b857a
2021-09-13Merge android12-gs-pixel-5.10-sc-qpr2 into -sc-v2Petri Gynther
Signed-off-by: Petri Gynther <pgynther@google.com> Change-Id: I40e088067745bccc2c25a17900475f534f6b6247
2021-09-10cs35l41: add cs35l41_component_ignore_suspendRobert Lee
Bug: 187170536 Test: Builds Change-Id: I8b0cc03ae9e62ab7c9f4a34b4415918db03cb44d Signed-off-by: Robert Lee <lerobert@google.com>
2021-09-09kleaf: drop snd-soc-wm-adsp.ko from cs35l41Yifan Hong
The module from cs35l45 takes priority as defined by build.config.cloudripper. This fix the following error: Exception: Multiple archives contain the same files. File lib/modules/5.10.60/extra/snd-soc-wm-adsp.ko appeared in 2 archives: bazel-out/k8-fastbuild/bin/private/google-modules/amplifiers/cs35l41/module_staging_archive.tar.gz bazel-out/k8-fastbuild/bin/private/google-modules/amplifiers/cs35l45/module_staging_archive.tar.gz Change-Id: Ie0f042cb10b47e1f7917a9bd11c17df9a1baf6dc
2021-09-09Kleaf: build amplifiers kernel modules for cloudripperYifan Hong
Bug: 192617687 Test: builds Signed-off-by: Yifan Hong <elsk@google.com> Change-Id: I7e6672f676e379107f4995d3aead9a3891722482
2021-09-08cs40l26: merge CirrusLogic dsp v3.1.2 and cs40l26 v1.1.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v1.1.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Increase A2H Volume Granularity - Add more debug-level statements - sysfs control to get amount of space left in wavetable - DT control to set maximum boost peak current - sysfs control to read die temperature - sysfs control to swap firmware variants at runtime - Load firmware synchronously - Inverted streaming and waveform playback - SVC enable for effects streamed via ASP - Map Haptic Effects to GPI events - Actuator Safe Mode workaround - Remove support for A0 silicon Bug fixes: - Remove unused variables - Cancel worker threads before deleting workqueue commits: c07047bd1087 ASoC: cs40l26: Add control to enable invert streaming data 7d0b08956875 input: cs40l26: Remove A0 silicon support d6c20f8342fd input: cs40l26: Update firmware swap function (Skip) 421500c4eb47 Documentation: cs40l26: Add option to load specified SVC tuning a3fb83ecc3b3 input: cs40l26: Add option to load specified SVC tuning 736aa239110c ASoC: cs40l26: Add control to enable SVC for streaming data 7c060144b291 input: cs40l26: Implement actuator safe mode workaround 9b866d0e0362 input: cs40l26: Map Haptic Effects to GPI Events e28e0a5131cc input: cs40l26: Add ability to invert waveform playback 961e4ba3a4bb input: cs40l26: Load firmware synchronously 23463ef1ab4a input: cs40l26: Add ability to swap firmware variants 05b2d67e3c66 input: cs40l26: Remove ENABLE/DISABLE macros b6bd69389b17 input: cs40l26: Remove unneeded use of variable in cs40l26_pcm_ev 27af6399be8c input: cs40l26: Cancel worker threads before destroying workqueue 1794f854a2d0 input: cs40l26: Add control to read die temperature when DSP is active 50bf4051b3a8 input: cs40l26: Remove silicon rev. checks for algorithm IDs (Skip) 3982e2db9db5 Documentation: cs40l26: Allow user to set peak boost current 756186d689c5 input: cs40l26: Allow user to set peak boost current ed0f6bc72faa input: cs40l26: Control to read remaining space in wavetable 72510182f0f2 input: cs40l26: Use percentage value to set A0 gain 91d781c96e12 input: cs40l26: Make status registers readable via regmap a8beb7e4c41f ASoC: cs40l26: Add dev_dbg statments to ALSA callbacks c5b8320ebbce input: cs40l26: Add debug statements 17b3a65e18d1 input: cs40l26: Control to read Power On Sequence 8c4f68e0194a ASoC: cs40l26: Increase A2H Volume granularity Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.2_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Allocate array memory for .bin file data dynamically instead of using a hard-coded value to avoid possibility of a kernel crash. Allow firmware to load even if there are incompatibilities between the expected firmware version, the loaded firmware, and the tuning file revisions. commits: 79a4a41e4fc6 firmware: cirrus: Allocate data array dynamically 19140c2d644b firmware: cirrus: Loosen restrictions on firmware loading 8e02f2e42990 firmware: cirrus: Don't explicitly free coefficient parent name Bug: 191658078 Bug: 180110149 Bug: 194540033 Bug: 193793095 Test: Check idlcli vibrator commands. Test: Back EMF for internal calibration. Test: Firmware swap. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I7db82ce23663772a83e69490b88cfb47e4bf93f3
2021-08-27cs40l26: Add the RX slots control function backchasewu
Since the latest haptics codec cannot be used in our current setting, I add the previous function to suppot our setting. Bug: 197691879 Test: Use sound picker to trigger audio coupled haptics Signed-off-by: chasewu <chasewu@google.com> Change-Id: I5d5477bd6155edff7b42ecf56c8bde38d4f1bd34
2021-08-26amcs: Change Excursion output format same as ImpedanceRoger Fang
cat /sys/devices/platform/audiometrics/speaker_excursion 0.07638,0.33925 Bug: 175736081 Test: manually cat strings Signed-off-by: Roger Fang <rogerfang@google.com> Change-Id: I1b6c2910547d2444436e3ab201648d9a77447cdd
2021-08-25cs40l26: merge CirrusLogic dsp v3.1.2 and cs40l26 v1.1.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v1.1.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Increase A2H Volume Granularity - Add more debug-level statements - sysfs control to get amount of space left in wavetable - DT control to set maximum boost peak current - sysfs control to read die temperature - sysfs control to swap firmware variants at runtime - Load firmware synchronously - Inverted streaming and waveform playback - SVC enable for effects streamed via ASP - Map Haptic Effects to GPI events - Actuator Safe Mode workaround - Remove support for A0 silicon Bug fixes: - Remove unused variables - Cancel worker threads before deleting workqueue commits: c07047bd1087 ASoC: cs40l26: Add control to enable invert streaming data 7d0b08956875 input: cs40l26: Remove A0 silicon support d6c20f8342fd input: cs40l26: Update firmware swap function (Skip) 421500c4eb47 Documentation: cs40l26: Add option to load specified SVC tuning a3fb83ecc3b3 input: cs40l26: Add option to load specified SVC tuning 736aa239110c ASoC: cs40l26: Add control to enable SVC for streaming data 7c060144b291 input: cs40l26: Implement actuator safe mode workaround 9b866d0e0362 input: cs40l26: Map Haptic Effects to GPI Events e28e0a5131cc input: cs40l26: Add ability to invert waveform playback 961e4ba3a4bb input: cs40l26: Load firmware synchronously 23463ef1ab4a input: cs40l26: Add ability to swap firmware variants 05b2d67e3c66 input: cs40l26: Remove ENABLE/DISABLE macros b6bd69389b17 input: cs40l26: Remove unneeded use of variable in cs40l26_pcm_ev 27af6399be8c input: cs40l26: Cancel worker threads before destroying workqueue 1794f854a2d0 input: cs40l26: Add control to read die temperature when DSP is active 50bf4051b3a8 input: cs40l26: Remove silicon rev. checks for algorithm IDs (Skip) 3982e2db9db5 Documentation: cs40l26: Allow user to set peak boost current 756186d689c5 input: cs40l26: Allow user to set peak boost current ed0f6bc72faa input: cs40l26: Control to read remaining space in wavetable 72510182f0f2 input: cs40l26: Use percentage value to set A0 gain 91d781c96e12 input: cs40l26: Make status registers readable via regmap a8beb7e4c41f ASoC: cs40l26: Add dev_dbg statments to ALSA callbacks c5b8320ebbce input: cs40l26: Add debug statements 17b3a65e18d1 input: cs40l26: Control to read Power On Sequence 8c4f68e0194a ASoC: cs40l26: Increase A2H Volume granularity Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.2_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Allocate array memory for .bin file data dynamically instead of using a hard-coded value to avoid possibility of a kernel crash. Allow firmware to load even if there are incompatibilities between the expected firmware version, the loaded firmware, and the tuning file revisions. commits: 79a4a41e4fc6 firmware: cirrus: Allocate data array dynamically 19140c2d644b firmware: cirrus: Loosen restrictions on firmware loading 8e02f2e42990 firmware: cirrus: Don't explicitly free coefficient parent name Bug: 191658078 Bug: 180110149 Bug: 194540033 Bug: 193793095 Test: Check idlcli vibrator commands. Test: Back EMF for internal calibration. Test: Firmware swap. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I7db82ce23663772a83e69490b88cfb47e4bf93f3
2021-08-18Merge android-gs-pixel-5.10 into android13-gs-pixel-5.10Aaron Ding
Change-Id: I48a867a79dee49f49e956cd31a1661cd3ef078c1 Signed-off-by: Aaron Ding <aaronding@google.com>
2021-08-02Merge android-gs-pixel-5.10 into android12-gs-pixel-5.10-scandroid-12.0.0_r0.9android-12.0.0_r0.8android-12.0.0_r0.17android-12.0.0_r0.16android-gs-raviole-5.10-android12-d1Aaron Ding
Bug: 194964579 Change-Id: Ia87d2145866813ce80a273be491c2e97324ebf52 Signed-off-by: Aaron Ding <aaronding@google.com>
2021-07-29cs40l26: support input device name setupTai Kuo
Bug: 184610991 Bug: 194675679 Test: adb shell cat /proc/bus/input/devices Test: adb shell getevent -lp Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I9464ab7b775a5c4d0b52ae8ee9b2789baa791476
2021-07-23cs35l41: keep hibernation awake if force wakevincenttew
Test: playback, phonecall, ringtone, idle with screen on/off Bug: 194457608 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: Ie53a1efb6b2c18ed43661a4b49984d613cce714d
2021-07-21misc: cs40l2x: Remove redundant disable_irq in trigger index storeCharles Keepax
The locking provides synchronisation between cs40l2x_cp_trigger_index and cs40l2x_irq, so the disable of the IRQ is now redundant. Further more this disable is an issue, since it is done under the lock. As disable_irq will wait for the IRQ thread to finish, this can deadlock with the IRQ handler which also takes the lock. Bug: 193740406 Test: compiles Change-Id: I4d403d02140995d86fe3df16d998c0cf53d6ae13 Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Vince Leung <leungv@google.com>
2021-07-20cs35l41: unblock hibernation cannot exitvincenttew
Test: build pass Bug: 172779951 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: I8e729e8d9ddae94a40053619e0aea6dcbb14ce4e
2021-07-14misc: cs40l2x: Fix some more locking issues on GPIO sysfsCharles Keepax
A couple of other locking issues were missed when the mutex was reintroduced to the GPIO sysfs files. Remove the erroneous locking. Bug: 192684143 Test: Verify that reading the GPIO sysfs nodes do not cause a deadlock Change-Id: Ia69f5749beac50d34fe1f28e0cf6a74d2f51d13a Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Vince Leung <leungv@google.com>
2021-07-09cs40l26: move attribute groups from input to bus deviceTai Kuo
1. Simplify the attribute groups creation and remove. 2. Create groups on input device will be affacted by probe order. Move the attribute groups from the input device to the bus device. e.g. Before: /sys/bus/i2c/devices/i2c-4/4-0043/input/input2/ After: /sys/bus/i2c/devices/i2c-4/4-0043/ 3. Enable dynamic debug feature. Bug: 184610991 Test: adb shell ls /sys/bus/i2c/devices/i2c-4/4-0043/ Test: adb shell ls /sys/class/input/input2/ Test: adb shell rmmod input_cs40l26_i2c Test: adb shell insmod /vendor/lib/modules/input-cs40l26-i2c.ko Test: adb shell 'echo -n "file ../google-modules/amplifiers/cs40l26/\ cs40l26.c +p" > /sys/kernel/debug/dynamic_debug/control'; adb shell 'cat /sys/kernel/debug/dynamic_debug/control | grep cs40l26' Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I6ac24becd3bd464ae07b654c4fca66eff6cf761e
2021-07-08cs40l26: fix BB for CirrusLogic cs40l26-RC2_5.10Tai Kuo
Commits: 2dbcb12 cs40l26: fix BB for CirrusLogic RC2v1 1a241e1 cs40l26: convert dev_alert to dev_err ba22cd0 cs40l26: fix BB of "Add Open Wavetable Support" Bug: 184610991 Test: build pass Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I129e582b049a5a61599f3e8ec45cb43d72a6ffab
2021-07-08cs40l26: snap from CirrusLogic cs40l26-RC2_5.10Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-RC2_5.10 Files: drivers/input/misc/cs40l26*.[ch] sound/soc/codecs/cs40l26.c -> cs40l26-codec.c include/linux/mfd/cs40l26.h commits: 3cbb0ce07f52 input: cs40l26: Update Open Wavetable Controls (Skip) 5165eb5311b7 Documentation: cs40l26: Add cirrus,bst-dcm-en parameter a305a491026d input: cs40l26: Add dcm-en control to device tree 97bf00f3033f input: cs40l26: Improved gain control method a0620f60b09e input: cs40l26: Max VBST and Max Back EMF Reproting 21afb84718b8 input: cs40l26: Add support for calibration 557581c4e4ef ASoC: cs40l26: Add support for TDM slot configuration fbff8ee424c3 ASoC: cs40l26: Add A2H Volume Control 31cce50083e5 input: cs40l26: Use END_PLAYBACK for VIBEGEN effects a06bc9bd293d input: cs40l26: Use TIMEOUT_MS when duration undefined 07405c86dacb input: cs40l26: Remove unused variable Bug: 184610991 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I75e3349dbcf5e9358158ee9754fd7a085afd133c
2021-07-02cs35l41: add RX slot register to cache registervincenttew
RX slot add to cache register to recover after exit hibernation to prevent slot setting is incorrect. Test: build pass Bug: 192513243 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: I7f41aba0b37535065817bceab6baaf6d7f7742df
2021-06-30amcs: add hwinfo_partnumber for HardwareInfo appRoger Fang
Update chip revision strings to HardwareInfo service. Bug: 188757638 Test: manually cat string passed Signed-off-by: Roger Fang <rogerfang@google.com> Change-Id: I2929099852949d08de2da37e4438adbde97690e7