summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-03cs35l41: extend the number of fast switch configandroid-t-qpr3-beta-1_r0.4android-t-qpr3-beta-1_r0.3android-t-qpr3-beta-1_r0.1android-13.0.0_r0.93android-gs-raviole-5.10-android13-qpr3-beta1android-gs-felix-5.10-android13-d3android-gs-bluejay-5.10-android13-qpr3-beta1Robert Lee
Bug: 260653033 Test: builds Change-Id: I7217a0f6ca9d725f0f842873a430507a196499d2 Signed-off-by: Robert Lee <lerobert@google.com>
2022-12-19cs40l26: Performance improvement for short haptic effect and GPIOChase Wu
sensing rule 1. Remove lock in vibe state sysfd Since HAL will only read this attribute after sysfs_nofity is called, removing the mutex_lock to mitigate the chances that HAL only get the stopped state in triggering the back-to-back short haptic effect (e.g. TICK effct). 2. Disable falling edge GPIO sensing Extend the GPIO trigger mask to ignore GPIO1 falling edge as well. In this way, chip will not waste it's resource to monitor the GPIO falling edge change and rise the IRQ to driver, then do nothing. Bug: 262491181 Test: Manually trigger light_tick and check logs Change-Id: Ie721b804c73f89d4875da17c41c5ac463b59fde8 Signed-off-by: Chase Wu <chasewu@google.com>
2022-11-13Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3PixelBot AutoMerger
SBMerger: 478053055 Change-Id: Ic312698f8971c7427cbc5b0ed778817becdc9007 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2022-11-10amcs: support variant speaker elememntsandroid-t-qpr2-beta-2_r0.5android-t-qpr2-beta-2_r0.4android-t-qpr2-beta-2_r0.3android-t-qpr2-beta-1_r0.6android-t-qpr2-beta-1_r0.5android-t-qpr2-beta-1_r0.4android-13.0.0_r0.76android-gs-raviole-5.10-t-qpr2-beta-1android-gs-pantah-5.10-t-qpr2-beta-1android-gs-lynx-5.10-android13-d4android-gs-bluejay-5.10-t-qpr2-beta-1Roger Fang
Change speaker statistics to variant numbers up to 4. Bug: 248451580 Test: Manually test passed Change-Id: Ie287d8ee615a98a99fb07933813533c4312f9f3c Signed-off-by: Roger Fang <rogerfang@google.com>
2022-11-03amcs: add cca_rate sysfsRoger Fang
Add sysfs for CCA metrics API. Bug: 249225148 Test: manually test passed Signed-off-by: Roger Fang <rogerfang@google.com> Change-Id: I32af297b2e26505123b862ef25286e6a1791c484
2022-10-25cs40l26: version tag: cs40l26 v5.6.3 and cl_dsp v3.1.10Tai Kuo
Bug: 254810265 Test: Build pass. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Idd1207cce9baa35f9f11de4e7331d6d276c16e28
2022-10-24cs40l26: remove unused is_ram and is_rom APITai Kuo
Bug: 254810265 Test: Build pass Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I2c661e61c37fe75c055abb6cef89a93caa32ae73
2022-10-24cs40l26: merge cs40l26 v5.6.3 for firmware RAM18Tai Kuo
Merge Cirrus kernel driver (tag cs40l26 v5.6.3) for firmware RAM18 (v7.2.42 (runtime) & v1.1.34 (calib)) Branch: v5.15-cirrus-dsp-fw and v5.15-cs40l26 Tag: cs40l26-v5.6.3_5.15 Files: drivers/firmware/cirrus/cl_dsp.c (No changes) include/linux/firmware/cirrus/cl_dsp.h (No changes) drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c (No changes) 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 (No changes) Features: - Set GPI trigger duration during mapping Bug fixes: - Remapped GPI not working Commits: 498efc6 input: cs40l26: Modify handling of GPI mapping c8e0e13 input: cs40l26: Set duration for GPI triggered events Bug: 254810265 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Test: atest PtsVibratorHalTestSuite \ PtsHapticsTestCases \ VibratorHalCs40l26TestSuite \ VtsHalVibratorManagerTargetTest \ VtsHalVibratorTargetTest \ android.os.cts.VibratorTest \ android.os.cts.VibratorManagerTest \ android.os.cts.VibrationEffectTest \ android.os.cts.VibrationAttributesTest \ android.os.cts.CombinedVibrationTest Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I4e21ceae7ba76559cc4416502e5485fc8fd4509d
2022-10-24cs40l26: merge cs40l26 v5.5.0, 5.6.0, 5.6.1 and dsp v3.1.10Tai Kuo
Branch: v5.15-cirrus-dsp-fw and v5.15-cs40l26 Tag: cl-dsp-fw-v3.1.10_5.15, cs40l26-v5.6.1_5.15, cs40l26-v5.6.0_5.15 and cs40l26-v5.5.0_5.15 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h drivers/input/misc/cs40l26-i2c.c drivers/input/misc/cs40l26-spi.c 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 ... Tag: cl-dsp-fw-v3.1.10_5.10: Cirrus DSP Firmware Driver v3.1.10 - Error reporting from memchunk functions - Resolved issues causing KASAN warnings - Improved code readability Commits: b8c9ea5 firmware: cirrus: Add function cl_dsp_wavetable_check() 2e99074 firmware: cirrus: Use strscpy() instead of memcpy() for string copy 7b1080c firmware: cirrus: Incorporate ERR_PTR and related macros 0642715 firmware: cirrus: Add memchunk_read error reporting 00861ea Revert "firmware: cirrus: Add memchunk_read error reporting" 02deb1b firmware: cirrus: Add memchunk_read error reporting ... Tag: cs40l26-v5.6.1_5.10: CS40L26 v5.6.1 Bug fixes: - Resolve potential for NULL pointer derefence leading to kernel panic Commits: cd45047 input: cs40l26: Fix dangling pointer 59aea6b input: cs40l26: Check for empty list ... Tag: cs40l26-v5.6.0_5.10: CS40L26 v5.6.0 Features: - Load SVC tuning file when calibration firmware is loaded Bug fixes: - Avoid possibility of infinite loop in asp_start() - Remove PDATA_PRESENT check to set DT properties correctly - Prevent user from starting calibration if calibration firmware is not loaded - Explicitly prevent user from editing OWT effects - Address KASAN warnings Commits: 8d8ec58 input: cs40l26: Fix typo in sysfs file header a2bb173 input: cs40l26: Re-format lines > 80 characters e98056f input: cs40l26: Load SVC tuning file along with calib. F/W db62b28 input: cs40l26: Disallow editing of Open Wavetable effects 4b1cac8 input: cs40l26: Remove extraneous lines 8a2f865 input: cs40l26: Disallow calibration if correct firmware not loaded 074b436 input: cs40l26: Fix DT property not being set e2f016b input: cs40l26: Remove regmap writes before DSP start 8542587 input: cs40l26: Incorporate ERR_PTR and related macros d8d24a4 input: cs40l26: Avoid infinite loop in asp_start a6b6046 input: cs40l26: Add memchunk_read error reporting ... Tag: cs40l26-v5.5.0_5.10: CS40L26 v5.5.0 Features: - Move SVC LE Estimation procedure from probe time to runtime - API CHANGE: svc_le_stored added as a sysfs control Bug fixes: - OWT Nested Composites were not expanding properly - Added missing documentation from .yaml file cirrus,fw-defer (Skip) - Remove check of logger source count when performing BEMF, VBST, or VMON logging Commits: d79fc88 Documentation: cs40l26: Add documentation for cirrus,fw-defer (Skip) d0744f7 ASoC: cs40l26: Add pm_enter/pm_exit functions 69cc3fb input: cs40l26: Add pm_enter/pm_exit functions f1d7c12 input: cs40l26: Fix typo in SVC algo ID macro d9eb712 ASoC: cs40l26: Add dmesg for a2h tuning file load fdad29f input: cs40l26: Remove check for logger src count 432dacf ASoC: cs40l26: Update year in header comments abb2a2c input: cs40l26: Update year in header comments 2eb2548 input: cs40l26: Remove unneeded function call 53c5613 input: cs40l26: Avoid pm teardown if fw is not loaded b44e61d ASoC: cs40l26: Fix mutex and pm_runtime in kcontrols 00be432 input: cs40l26: Add support for Le est on production line 35bfaee input: cs40l26: Remove le est from tuning select 849939b input: cs40l26: Clamp effects_in_flight to minimum of 0 Bug: 249456529 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Test: atest PtsVibratorHalTestSuite \ PtsHapticsTestCases \ VibratorHalCs40l26TestSuite \ VtsHalVibratorManagerTargetTest \ VtsHalVibratorTargetTest \ android.os.cts.VibratorTest \ android.os.cts.VibratorManagerTest \ android.os.cts.VibrationEffectTest \ android.os.cts.VibrationAttributesTest \ android.os.cts.CombinedVibrationTest Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I262c3d4dd3d5205cc0cd1228f9f67607a86b2cb1
2022-10-24cs40l26: adjust bus retry count from 100 to 3Tai Kuo
Bug: 236659376 Test: add test logs to display the count setting Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I0cdf84a90e3ddae2b88a756a9198bb3e2ac6a3c0
2022-09-30Merge android13-gs-pixel-5.10-gs101-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr2Lucas Wei
Bug: 238399460 Signed-off-by: Lucas Wei <lucaswei@google.com> Change-Id: I3e933274a262ec8e3246e7e0c7c075b426d64cff
2022-09-22cs35l41: add more debug info when failed to set mailboxandroid-t-qpr1-beta-3_r0.4android-t-qpr1-beta-3_r0.3android-13.0.0_r0.59android-13.0.0_r0.58android-13.0.0_r0.54android-13.0.0_r0.53android-13.0.0_r0.49android-13.0.0_r0.48main-16k-gs-raviole-5.10android-gs-raviole-5.10-android13-qpr1-beta-3android-gs-raviole-5.10-android13-qpr1android-gs-bluejay-5.10-android13-qpr1-beta-3android-gs-bluejay-5.10-android13-qpr1Robert Lee
Bug: 231382694 Test: builds Change-Id: Ia59bdbca00e7167a08fddcb61d4cb551bb1a9fe0 Signed-off-by: Robert Lee <lerobert@google.com>
2022-09-22cs35l41: add more debug info when failed to set mailboxandroid-t-qpr1-beta-3_r0.5android-t-qpr1-beta-3.1_r0.1android-13.0.0_r0.60android-13.0.0_r0.55android-13.0.0_r0.50android-gs-pantah-5.10-t-qpr1-beta-3android-gs-pantah-5.10-android13-qpr1-beta-3android-gs-pantah-5.10-android13-qpr1Robert Lee
Bug: 231382694 Test: builds Change-Id: Ia59bdbca00e7167a08fddcb61d4cb551bb1a9fe0 Signed-off-by: Robert Lee <lerobert@google.com>
2022-08-22amcs: add ams_rate sysfsandroid-t-qpr1-beta-2_r0.5android-t-qpr1-beta-2_r0.4android-gs-raviole-5.10-t-qpr1-beta-2android-gs-bluejay-5.10-t-qpr1-beta-2Roger Fang
Add sysfs for AMS metrics API. Bug: 222428306 Test: manually test passed Signed-off-by: Roger Fang <rogerfang@google.com> Change-Id: Icb4a5e7638dda168cf9cf2a6ecb13a33f0499b3d
2022-08-19amcs: add ams_rate sysfsRoger Fang
Add sysfs for AMS metrics API. Bug: 222428306 Test: manually test passed Signed-off-by: Roger Fang <rogerfang@google.com> Change-Id: Icb4a5e7638dda168cf9cf2a6ecb13a33f0499b3d
2022-07-25cs40l26: merge cs40l26 v5.3.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.3.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 (No changes) 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 (No changes) Features: - Support for maintenance firmware revisions dating back to Rev. 39.2.22 Bug fixes: - Disallow erase call if a haptic effect is in-flight. This allows the driver maintain correct number of loaded effects when firmware fails to delete waveform if the delete is attempted when haptics playback is active. - Minor code update to handle potential failure of memchunk read from CL DSP FW driver. Commits: 6e36db4 input: cs40l26: Rollback minimum fw revision for maintenance fw 77a5ce5 input: cs40l26: Handle memchunk read failure 20efcc3 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 237047104 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Test: atest VtsHalVibratorManagerTargetTest \ VtsHalVibratorTargetTest \ android.os.cts.VibratorTest \ android.os.cts.VibratorManagerTest \ android.os.cts.VibrationEffectTest \ android.os.cts.VibrationAttributesTest \ android.os.cts.CombinedVibrationTest Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iad33742ad694ea9ed5987dc617e64fca0044f7c7
2022-07-25Revert "cs40l26: fix back-to-back OWT effects make OWT malfunction"Tai Kuo
This reverts commit 1dcf4405cceab9a3701a9d4f4822628502a5322e. Bug: 237047104 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1c6c09e30975340b15b446fb3fd671954c886f01
2022-06-24cs40l26: merge cs40l26 v5.3.0android-t-qpr1-beta-1_r0.3android-gs-raviole-5.10-android13-qpr1-betaTai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.3.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 (No changes) 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 (No changes) Features: - Support for maintenance firmware revisions dating back to Rev. 39.2.22 Bug fixes: - Disallow erase call if a haptic effect is in-flight. This allows the driver maintain correct number of loaded effects when firmware fails to delete waveform if the delete is attempted when haptics playback is active. - Minor code update to handle potential failure of memchunk read from CL DSP FW driver. Commits: 6e36db4 input: cs40l26: Rollback minimum fw revision for maintenance fw 77a5ce5 input: cs40l26: Handle memchunk read failure 20efcc3 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 237047104 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Test: atest VtsHalVibratorManagerTargetTest \ VtsHalVibratorTargetTest \ android.os.cts.VibratorTest \ android.os.cts.VibratorManagerTest \ android.os.cts.VibrationEffectTest \ android.os.cts.VibrationAttributesTest \ android.os.cts.CombinedVibrationTest Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iad33742ad694ea9ed5987dc617e64fca0044f7c7
2022-06-24Revert "cs40l26: fix back-to-back OWT effects make OWT malfunction"Tai Kuo
This reverts commit 1dcf4405cceab9a3701a9d4f4822628502a5322e. Bug: 237047104 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1c6c09e30975340b15b446fb3fd671954c886f01
2022-06-12Merge android13-gs-pixel-5.10-tm-d1 into android13-gs-pixel-5.10-tm-qpr1PixelBot AutoMerger
SBMerger: 442815275 Change-Id: I92be419165768b6f0778b7b32ce633bb8923e968 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2022-06-12Merge android13-gs-pixel-5.10-gs101-tm into ↵android-t-qpr1-beta-1_r0.4android-gs-bluejay-5.10-android13-qpr1-betaPixelBot AutoMerger
android13-gs-pixel-5.10-gs101-tm-qpr1 SBMerger: 442815275 Change-Id: I5b069ede81c354410d7b1e631eb4ff2719e78126 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2022-06-07cs40l26: fix back-to-back OWT effects make OWT malfunctionandroid-t-beta-4_r0.6android-t-beta-4_r0.5android-t-beta-4_r0.4android-t-beta-3.3_r0.4android-13.0.0_r0.5android-13.0.0_r0.44android-13.0.0_r0.43android-13.0.0_r0.4android-13.0.0_r0.20android-13.0.0_r0.19android-13.0.0_r0.15android-13.0.0_r0.14android-gs-raviole-5.10-t-beta-4android-gs-raviole-5.10-t-beta-3android-gs-raviole-5.10-android13android-gs-bluejay-5.10-t-beta-4android-gs-bluejay-5.10-android13Tai Kuo
Vendor commit: 0cd0ba7 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 231410838 Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib8d3ef2885c4b25cac208a09ea8786ba2190d655
2022-06-07cs40l26: fix back-to-back OWT effects make OWT malfunctionandroid-13.0.0_r0.45android-13.0.0_r0.32android-13.0.0_r0.31android-gs-pantah-5.10-android13-d1Tai Kuo
Vendor commit: 0cd0ba7 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 231410838 Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib8d3ef2885c4b25cac208a09ea8786ba2190d655
2022-06-06Merge android13-gs-pixel-5.10-tm-d1 into android13-gs-pixel-5.10-tm-qpr1Robin Peng
Bug: 233569354 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I95ee56dc3e5d5b5c1e95974504e185c89dac4781
2022-06-06Merge android13-gs-pixel-5.10-gs101-tm into ↵Robin Peng
android13-gs-pixel-5.10-gs101-tm-qpr1 Bug: 233569354 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: Ief5924956895e216298d678f366880435319a3ea
2022-05-31cs40l26: merge cs40l26 v5.2.1android-t-beta-3.2_r0.4Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.2.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Add vpbr_thld sysfs control - Add svc_le_est sysfs control in calibration directory Bug fixes: - Fix issue where invert and SVC were not applied to streaming data on first playback - Fix vibe_state issue when stopping an SVC effect immediately after triggering - Work around PSEQ_WRITE_REG full sign extention bug - Fix bug in SVC and invert kcontrols where driver attempts to access control before ensuring device is awake Major API changes: - None Commits: 217a3c0 ASoC: cs40l26: Use pm_runtime for kcontrols b6e471f ASoC: cs40l26: Report return value upon PM Runtime Resume Failure 112d30b input: cs40l26: Report return value upon PM Runtime Resume Failure 0b5f633 ASoC: cs40l26: PM Resume error handle for CODEC 40792b3 input: cs40l26: Improvements to SVC Le Estimation fc06825 input: cs40l26: Support for maintenance firmware branch 3952b3b input: cs40l26: Address PSEQ WRITE_FULL issue aaaf562 input: cs40l26: Add sysfs control for vpbr_thld caa3f56 input: cs40l26: Move stop delay outside mutex (Skip) 63b3998 Documentation: cs40l26: Fix timeout maximum values 2075e2f ASoC: cs40l26: Move PMU-time register writes to mixer controls (Skip) e376a83 Documentation: cs40l26: Fix "cirrus,redc-default" calculation 0bb9162 ASoC: cs40l26: Use set_pll_loop() during RECLK config 4b341ed input: cs40l26: Avoid DSP lock during driver probe Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ide206f8ea173e79267fa4506dece31f6e26a9356
2022-05-31cs40l26: merge dsp v3.1.8 and cs40l26 v5.1.1Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.8_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h (No changes) Features: - Add error print statement in case of the firmware controls linked list being empty. Commits: 3bbeced firmware: cirrus: Add print for empty list error condition ... Branch: v5.10-cs40l26 Tag: cs40l26-v5.1.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - Support for reverse frequency sweep in F0 and Q-factor calibration - Add ability to load calibration firmware at boot time - Improved firmware loading procedure, code readability - Support for PWLE zero-crossing - Support for Dynamic Boost Control via devicetree defaults Bug fixes: - f0_and_q_cal_time_ms can be read directly from "TONE_DURATION_MS" if it is non-zero. In the case where this was zero, the calculation for the time was incorrect. - Avoid race condition in case where an effect is stopped prior to the DSP registering the start of playback and vibe_state reporting is enabled. Major API changes: - Devicetree controls for default DBC parameters "cirrus,dbc-*" added. - The sysfs control "f0_and_q_cal_time_ms" now has support for negative (i.e. reverse frequency sweep) values. This is dependent on the "FREQ_SPAN" firmware control which can only be set via the calibration tuning file. - Devicetree boolean "cirrus,pwle-zero-cross-en" added. Enables to PWLE zero-cross feature. - Devicetree boolean "cirrus,calib-fw" added; loads calibration instead of runtime firmware at boot. - Devicetree boolean "cirrus,vibe-state" removed. The driver will automatically detect whether or not to enable vibe_state tracking. Commits: 24187f6 input: cs40l26: Support negative FREQ_SPAN values 3bc43e3 Documentation: cs40l26: Remove cirrus,vibe-state devicetree entry bce94c1 input: cs40l26: Remove cirrus,vibe-state devicetree entry 2040c5c Documentation: cs40l26: Load calibration firmware at boot c88c071 input: cs40l26: Load calibration firmware at boot 16cb878 input: cs40l26: Refactor firmware loading procedure f63db44 Documentation: cs40l26: Add PWLE zero crossing control 870ac63 input: cs40l26: Add PWLE zero crossing control da51a2d input: cs40l26: Add support for SVC metadata in OWT 61e85dc Documentation: cs40l26: Default Dynamic Boost Control Settings 059a235 input: cs40l26: Default Dynamic Boost Control Settings 39324ea input: cs40l26: Update reporting of calibration time Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib2f99f67469f67be0ce33ac031e553a409a569e4
2022-05-31cs40l26: merge cs40l26 v5.2.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.2.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Add vpbr_thld sysfs control - Add svc_le_est sysfs control in calibration directory Bug fixes: - Fix issue where invert and SVC were not applied to streaming data on first playback - Fix vibe_state issue when stopping an SVC effect immediately after triggering - Work around PSEQ_WRITE_REG full sign extention bug - Fix bug in SVC and invert kcontrols where driver attempts to access control before ensuring device is awake Major API changes: - None Commits: 217a3c0 ASoC: cs40l26: Use pm_runtime for kcontrols b6e471f ASoC: cs40l26: Report return value upon PM Runtime Resume Failure 112d30b input: cs40l26: Report return value upon PM Runtime Resume Failure 0b5f633 ASoC: cs40l26: PM Resume error handle for CODEC 40792b3 input: cs40l26: Improvements to SVC Le Estimation fc06825 input: cs40l26: Support for maintenance firmware branch 3952b3b input: cs40l26: Address PSEQ WRITE_FULL issue aaaf562 input: cs40l26: Add sysfs control for vpbr_thld caa3f56 input: cs40l26: Move stop delay outside mutex (Skip) 63b3998 Documentation: cs40l26: Fix timeout maximum values 2075e2f ASoC: cs40l26: Move PMU-time register writes to mixer controls (Skip) e376a83 Documentation: cs40l26: Fix "cirrus,redc-default" calculation 0bb9162 ASoC: cs40l26: Use set_pll_loop() during RECLK config 4b341ed input: cs40l26: Avoid DSP lock during driver probe Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ide206f8ea173e79267fa4506dece31f6e26a9356
2022-05-31cs40l26: merge cs40l26 v5.2.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.2.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Add vpbr_thld sysfs control - Add svc_le_est sysfs control in calibration directory Bug fixes: - Fix issue where invert and SVC were not applied to streaming data on first playback - Fix vibe_state issue when stopping an SVC effect immediately after triggering - Work around PSEQ_WRITE_REG full sign extention bug - Fix bug in SVC and invert kcontrols where driver attempts to access control before ensuring device is awake Major API changes: - None Commits: 217a3c0 ASoC: cs40l26: Use pm_runtime for kcontrols b6e471f ASoC: cs40l26: Report return value upon PM Runtime Resume Failure 112d30b input: cs40l26: Report return value upon PM Runtime Resume Failure 0b5f633 ASoC: cs40l26: PM Resume error handle for CODEC 40792b3 input: cs40l26: Improvements to SVC Le Estimation fc06825 input: cs40l26: Support for maintenance firmware branch 3952b3b input: cs40l26: Address PSEQ WRITE_FULL issue aaaf562 input: cs40l26: Add sysfs control for vpbr_thld caa3f56 input: cs40l26: Move stop delay outside mutex (Skip) 63b3998 Documentation: cs40l26: Fix timeout maximum values 2075e2f ASoC: cs40l26: Move PMU-time register writes to mixer controls (Skip) e376a83 Documentation: cs40l26: Fix "cirrus,redc-default" calculation 0bb9162 ASoC: cs40l26: Use set_pll_loop() during RECLK config 4b341ed input: cs40l26: Avoid DSP lock during driver probe Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ide206f8ea173e79267fa4506dece31f6e26a9356
2022-05-31cs40l26: merge dsp v3.1.8 and cs40l26 v5.1.1Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.8_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h (No changes) Features: - Add error print statement in case of the firmware controls linked list being empty. Commits: 3bbeced firmware: cirrus: Add print for empty list error condition ... Branch: v5.10-cs40l26 Tag: cs40l26-v5.1.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - Support for reverse frequency sweep in F0 and Q-factor calibration - Add ability to load calibration firmware at boot time - Improved firmware loading procedure, code readability - Support for PWLE zero-crossing - Support for Dynamic Boost Control via devicetree defaults Bug fixes: - f0_and_q_cal_time_ms can be read directly from "TONE_DURATION_MS" if it is non-zero. In the case where this was zero, the calculation for the time was incorrect. - Avoid race condition in case where an effect is stopped prior to the DSP registering the start of playback and vibe_state reporting is enabled. Major API changes: - Devicetree controls for default DBC parameters "cirrus,dbc-*" added. - The sysfs control "f0_and_q_cal_time_ms" now has support for negative (i.e. reverse frequency sweep) values. This is dependent on the "FREQ_SPAN" firmware control which can only be set via the calibration tuning file. - Devicetree boolean "cirrus,pwle-zero-cross-en" added. Enables to PWLE zero-cross feature. - Devicetree boolean "cirrus,calib-fw" added; loads calibration instead of runtime firmware at boot. - Devicetree boolean "cirrus,vibe-state" removed. The driver will automatically detect whether or not to enable vibe_state tracking. Commits: 24187f6 input: cs40l26: Support negative FREQ_SPAN values 3bc43e3 Documentation: cs40l26: Remove cirrus,vibe-state devicetree entry bce94c1 input: cs40l26: Remove cirrus,vibe-state devicetree entry 2040c5c Documentation: cs40l26: Load calibration firmware at boot c88c071 input: cs40l26: Load calibration firmware at boot 16cb878 input: cs40l26: Refactor firmware loading procedure f63db44 Documentation: cs40l26: Add PWLE zero crossing control 870ac63 input: cs40l26: Add PWLE zero crossing control da51a2d input: cs40l26: Add support for SVC metadata in OWT 61e85dc Documentation: cs40l26: Default Dynamic Boost Control Settings 059a235 input: cs40l26: Default Dynamic Boost Control Settings 39324ea input: cs40l26: Update reporting of calibration time Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib2f99f67469f67be0ce33ac031e553a409a569e4
2022-05-31cs40l26: merge dsp v3.1.8 and cs40l26 v5.1.1Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.8_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h (No changes) Features: - Add error print statement in case of the firmware controls linked list being empty. Commits: 3bbeced firmware: cirrus: Add print for empty list error condition ... Branch: v5.10-cs40l26 Tag: cs40l26-v5.1.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - Support for reverse frequency sweep in F0 and Q-factor calibration - Add ability to load calibration firmware at boot time - Improved firmware loading procedure, code readability - Support for PWLE zero-crossing - Support for Dynamic Boost Control via devicetree defaults Bug fixes: - f0_and_q_cal_time_ms can be read directly from "TONE_DURATION_MS" if it is non-zero. In the case where this was zero, the calculation for the time was incorrect. - Avoid race condition in case where an effect is stopped prior to the DSP registering the start of playback and vibe_state reporting is enabled. Major API changes: - Devicetree controls for default DBC parameters "cirrus,dbc-*" added. - The sysfs control "f0_and_q_cal_time_ms" now has support for negative (i.e. reverse frequency sweep) values. This is dependent on the "FREQ_SPAN" firmware control which can only be set via the calibration tuning file. - Devicetree boolean "cirrus,pwle-zero-cross-en" added. Enables to PWLE zero-cross feature. - Devicetree boolean "cirrus,calib-fw" added; loads calibration instead of runtime firmware at boot. - Devicetree boolean "cirrus,vibe-state" removed. The driver will automatically detect whether or not to enable vibe_state tracking. Commits: 24187f6 input: cs40l26: Support negative FREQ_SPAN values 3bc43e3 Documentation: cs40l26: Remove cirrus,vibe-state devicetree entry bce94c1 input: cs40l26: Remove cirrus,vibe-state devicetree entry 2040c5c Documentation: cs40l26: Load calibration firmware at boot c88c071 input: cs40l26: Load calibration firmware at boot 16cb878 input: cs40l26: Refactor firmware loading procedure f63db44 Documentation: cs40l26: Add PWLE zero crossing control 870ac63 input: cs40l26: Add PWLE zero crossing control da51a2d input: cs40l26: Add support for SVC metadata in OWT 61e85dc Documentation: cs40l26: Default Dynamic Boost Control Settings 059a235 input: cs40l26: Default Dynamic Boost Control Settings 39324ea input: cs40l26: Update reporting of calibration time Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib2f99f67469f67be0ce33ac031e553a409a569e4
2022-05-30Merge android13-gs-pixel-5.10-tm-d1 into android13-gs-pixel-5.10-tm-qpr1Robin Peng
Bug: 233569354 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: Iad5c9419e2239a6baab426886729ff541b9ee9b0
2022-05-30Merge android13-gs-pixel-5.10-gs101-tm into ↵Robin Peng
android13-gs-pixel-5.10-gs101-tm-qpr1 Bug: 233569354 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I61a71d250f69061d6c0ceb617db26464ead0a1db
2022-05-27cs35l41: update current peak to registervincenttew
Bug: 228796239 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: I38b50eda84106187f29a129e54be501af896d4e7 (cherry picked from commit 3c7c36e348481910a9d98a1881da11a418b86621)
2022-05-25cs35l41: update current peak to registervincenttew
Bug: 228796239 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: I38b50eda84106187f29a129e54be501af896d4e7
2022-05-05cs35l41: restore current limit to the last valueandroid-t-beta-3_r0.4vincenttew
1. Rewrite the Cirrus default current limit default value if controled by userspace, hibernate awake will restore to the default value. 2. Added a switch to disable hibernate mode Bug: 228796239 Signed-off-by: vincenttew <vincenttew@google.com> Change-Id: I3b974d7741dc07ddbacaf672d8840bf622b4ea6f
2022-04-18cs40l26: merge cs40l26 v5.0.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.0.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c drivers/input/misc/cs40l26-spi.c 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 - Skip cs40l26_set_tdm_slot() since removed. Features: - Support for 1.2V variant CS40L27 - Support for SVC calibration period in ASP waveforms Bug fixes: - Resolve race condition between IRQ clear write and DSP to host mailbox messages. - Avoid I2C timeouts by preventing hibernation directly after the DSP starts at probe then allowing hibernation once initialization is complete. Major API changes: - The sysfs control "fw_mode" which resided in "default" has been removed. The driver does not support a full-featured ROM mode so this control served no purpose. - The sysfs control "calib_fw_load" has moved from the "calibration" directory to the "default" directory and has been renamed "swap_firmware". The behavior of the control is unchanged. Commits: 733da2 input: cs40l26: Change firmware loading sysfs control 3120e4 input: cs40l26: Remove support for firmware mode 7db090 input: cs40l26: Print error register as hex f0c156 ASoC: cs40l26: Wait for SVC calibration 9bf4b8 input: cs40l26: Add event for end of SVC calibration c32679 input: cs40l26: Clear EINT before servicing mailbox (Skip) 9df7d5 Documentation: cs40l26: Add "cs40l27" compatible name 13710b input: cs40l26: Add support for CS40L27 and rev. B0 756dbc input: cs40l26: Prevent hibernation after DSP start 00e050 ASoC: cs40l26: Remove check of dai->id in set_tdm_slot() 80b821 input: cs40l26: Ensure write to PSEQ is acknowledged Bug: 228290494 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1961844366065acc2951c386f1516877648aaaf9
2022-04-18Revert "cs40l26: fix stuck vibe_state after continuous LOW_TICK"Tai Kuo
This reverts commit e4de0484907fe0553a472fb98090844d41f19270. Then we are able to apply the formal release (tag cs40l26-v5.0.0). Bug: 228290494 Bug: 221059363 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: If2563443fdf5a58b5429327593c12807baaa583b
2022-04-15amcs: 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>
2022-03-29cs40l25: update cirrus's latest updateandroid-t-beta-2_r0.4android-gs-raviole-5.10-t-beta-2chasewu
3020ec719047 misc: cs40l25: Change max size of PWLE string Add in the PWLE extended frequency flag for use cases where the frequency is at a range of 0.25Hz to 1023.75Hz. 3ab02c8e6360 misc: cs40l25: Change start i2s to an ack write Change write I2S start to an ack write so we can poll the status of the mailbox to ensure that the command has completed. Bug: 225008325 Test: HW check the output waveform Signed-off-by: chasewu <chasewu@google.com> Change-Id: I46892d55647cfee58a742ae447245edf0e6bda4f
2022-03-17cs40l25: correct the maximum PWLE supported sizechasewu
PWLE string needs to support to the maximum waveform length Bug: 200160363 Test: adb shell cmd vibrator_manager synced waveform -f -a -c 0 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 255 150 10 76 113 10 62 183 Signed-off-by: chasewu <chasewu@google.com> Change-Id: Iee93915a537bf161d4f5dd1a3a31d853af2f3438 Change-Id: Idbe5dafb8b7e7ab2daedecdaf8705e408a21890a
2022-03-15cs40l25: fix the PWLE size length problemchasewu
Branch: v5.10-cs40l25 Commits: 3020ec719047 misc: cs40l25: Change max size of PWLE string 0f44b3c59460 misc: cs40l25: Resolved memory leaks Bug: 200160363 Test: adb shell cmd vibrator_manager synced waveform -a -c \ 10 0 10 51 10 76 10 51 \ 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 \ 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 \ 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 \ 10 76 10 51 10 0 10 51 10 76 10 51 Signed-off-by: chasewu <chasewu@google.com> Change-Id: I700fd8eda40131d85ebc7d0e97481fb26deb3a1a
2022-03-08cs40l26: fix stuck vibe_state after continuous LOW_TICKandroid-t-beta-1_r0.4android-gs-raviole-5.10-t-beta-1Tai Kuo
Vendor commit: 778f7c4 input: cs40l26: Clear EINT before servicing mailbox Bug: 219697671 Test: Adjuest clock, select texts Test: idlcli commands Test: dumpstate, NFC, old ring patterns Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib8f56d18347667157c769cd7e36d920e95f56e93
2022-03-04cs40l26: merge dsp v3.1.7, cs40l26 v4.0.2 and v4.0.3Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.7_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Bug fixes: - Replace strlcpy() instances with strscpy() - Improved error reporting for invalid algo. rev - Minor typo fix Commits: 0a2a7f7 firmware: cirrus: Fix typo 332111a firmware: cirrus: Improve error reporting for invalid algo. rev. ec97039 firmware: cirrus: Use strscpy for string copying --- Branch: v5.10-cs40l26 Tag: cs40l26-v4.0.2_5.10, cs40l26-v4.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 drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Allow swapping firmwares of the same type (runtime/calibration) - Add support for Dynamic Boost Control via sysfs controls - Extend range of PM timeouts Bug fixes: - Fixes bug in which PSEQ list terminator was not being reset between firmware swaps. - Appropriately clear GPI mapping after erasing waveform Commits: tag: cs40l26-v4.0.3_5.10 0c520ef input: cs40l26: Reset PSEQ END_OF_SCRIPT on fw swap 956d534 input: cs40l26: Check pseq mem before adding op tag: cs40l26-v4.0.2_5.10 4a9f5e3 input: cs40l26: Update SVC tuning file name size 882895f input: cs40l26: Loosen restriction on firmware swapping 5c7f770 input: cs40l26: Use strscpy for string copying 0700a83 ASoC: cs40l26: Update Handling of SVC for ASP Streaming cfeac58 input: cs40l26: Add user controls for Dynamic Boost 6068def input: cs40l26: Update PM Transition Timeout Limits b65b511 input: cs40l26: Fix value to disable gpi triggers Bug: 222620491 Test: idlcli commands. Test: Firmware switching and then trigger haptics Test: Continuous index 0 haptics Test: Continuous index 9 hatpcis Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ic2eaca8fe2cce9ef0c4b03460ddca791ad57d852
2022-02-14misc: cs40l25: Replace strlcpy with strscpyandroid-t-preview-2_r0.4android-gs-raviole-5.10-t-preview-2chasewu
strscpy() is preferred to strlcpy() because strlcpy() requires reading past "count" bytes of memory in the source string in some cases, which can cause a buffer overflow error. Bug: 212365353 Test: adb shell cmd vibrator_manager synced waveform -a -c 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 10 0 10 51 10 76 10 51 Change-Id: I3d4b26943563a862c1a15ff4cce96f2042089ba9 Signed-off-by: James Ogletree <james.ogletree@cirrus.com> Signed-off-by: Paul Handrigan <paul.handrigan@cirrus.com> Signed-off-by: chasewu <chasewu@google.com>
2022-02-14Revert "Revert "misc: cs40l25: Add plwe ramp down interface""Chase Wu
This reverts commit bb43033eb703bfb38b3bb4a13756ae41f36f3250. Reason for revert: vendor release a 10.7.9 FW to solve this issue Bug: 205323128 Bug: 206645006 Test: Reproduce step: adb shell cmd vibrator_manager synced waveform 1 10 20 20 10 40 Change-Id: I38ee4a799ef28b86490509d168fd4a8a29db177c Change-Id: Idf8942f26c62c9de7c6a48501f4c3cc242c789f3
2022-02-08cs40l26: merge CirrusLogic cs40l26 v4.0.0Tai Kuo
Branch: v5.10-cs40l26 Tag: CS40L26-v4.0.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: - Devicetree Property "cirrus,gain-adjust" - For LRA-specific gain changes - Controls for f0 and ReDC Compensation - Sysfs control vmon_max for VMON logging maximum reporting - Allow multiple writes to one register in power on sequencer - Devicetree Property "cirrus,bst-expl-mode-disbale" - If present, will disable boost exploratory mode at the cost of the ability to reliably detect BST_SHORT_ERR instances - Imrpoved error handling for PM Runtime Resume errors Bug fixes: - Update error handling to avoid deadlock - Avoid hibernation when intializing power on sequencer - Updated handling of vibe_state to avoid race condition with firmware - Code Improvements Commits: e4b5d23 ASoC: cs40l26: Ensure recovery from PM Runtime Resume error 2d5cb03 input: cs40l26: Ensure recovery from PM Runtime Resume error (SKIP) 098d137 Documentation: cs40l26: Add DT boolean "cirrus,bst-expl-mode-disable" 30c30e7 input: cs40l26: Add DT boolean "cirrus,bst-expl-mode-disable" (SKIP) 0707fb3 Documentation: cs40l26: Add DT boolean "cirrus,vibe-state" 38592da input: cs40l26: Add DT boolean "cirrus,vibe-state" 7e0c02c input: cs40l26: Read IRQ1_STATUS after PM Runtime resume c903a82 input: cs40l26: Load calibration tuning file 26e93ab input: cs40l26: Print measured LE estimation value b8ef3b0 input: cs40l26: Disable Boost Exploratory Mode 2d8ef2c input: cs40l26: Allow multiple writes to an address in PSEQ 9f166cd input: cs40l26: Update vibe_state in mailbox handler 53f24ab input: cs40l26: Add vmon_max logging sysfs control c7708f5 input: cs40l26: Avoid hibernation when initializing PSEQ 337536d input: cs40l26: Add f0 and redc comp controls (SKIP) 6e1642c Documentation: cs40l26: Add DT property "gain-adjust" eb1fed7 input: cs40l26: Add DT property "gain-adjust" bc34f05 input: cs40l26: Move BST_IPK_FLAG unmask to proper function 0570df1 input: cs40l26: Update error handling procedure Bug: 205688153 Test: idlcli commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ic4b7cc5664c32132125178f7a41ca7c1a916123e
2022-02-08cs40l26: merge CirrusLogic cs40l26 v3.5.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v3.5.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 (No changes) Features: - ASP gain scaling factor - Expose both pm_timeout controls (active + standby) - Add default calibration properties in Devicetree - Support for A2H algorithm version 3 - Unmask critical error interrupts to enable error handling Bug fixes: - Avoid loading irrelevant tuning files for calibration firmware - Some sysfs controls were not re-enabling PM runtime after an error - Formatting fixes caught by checkpatch Commits: 15e0d2c input: cs40l26: Resolve instances of lines > 80 characters 065678b input: cs40l26: Fix error handling for sysfs controls 832ad84 input: cs40l26: Unmask critical error interrupts 426fc10 ASoC: cs40l26: A2H V3 support 3f0a90a input: cs40l26: Add IRQ mask settings to Power On Sequence 122273b input: cs40l26: Improve Readability of Power on Sequence Code f97ff40 input: cs40l26: Fix spelling error 609e98e input: cs40l26: Don't load coeffs using calibration fw (Skip) 24b77ac Documentation: cs40l26: Consolidate PM_TIMER_TIMEOUT code be949bb input: cs40l26: Consolidate PM_TIMER_TIMEOUT code (Skip) f5c7b68 Documentation: cs40l26: Add calib and BST DT properties 4aab662 input: cs40l26: Expose BST and calib settings in DT (Skip) 7bcfb09 Documentation: cs40l26: Add DT property for ASP gain scaling 1d507c1 input: cs40l26: Add DT property for ASP gain scaling Bug: 205688153 Test: idlcli commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I64a836e088c38e375a7553a0425c3bf20271f931
2022-02-08cs40l26: fix BB and run-time errorsTai Kuo
Vendor commits and fixes: - 30034b6 firmware: cirrus: arm64 compiler fix - Fix type mismatch. Bug: 205688153 Test: Probe successfully. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I8410a8f9e7340821780d1cb3d095f29c75d2236c
2022-02-08cs40l26: merge CirrusLogic dsp v3.1.6 and cs40l26 v3.4.0Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.6_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Features: - cl-dsp-fw-v3.1.4_5.10 Add memchunk flush Bug fixes: - cl-dsp-fw-v3.1.6_5.10 Fix syntax error caught by checkpatch.pl - cl_dsp-v3.1.5_5.10 Fix bug that allowed for a potential NULL pointer dereference - cl-dsp-fw-v3.1.4_5.10 Add empty check for get dsp register. Commits: 9ee092c firmware: cirrus: Fix code syntax error 16af046 firmware: cirrus: Avoid potential NULL dereference f916a30 firmware: cirrus: Add cl_dsp_memchunk_flush() 4cf0400 firmware: cirrus: Add empty check in dsp_get_reg 30034b6 firmware: cirrus: arm64 compiler fix Change-Id: I2efbf1611bad281b67fc035b31b30925e869082b --- Branch: v5.10-cs40l26 Tag: cs40l26-v3.4.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 (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - cs40l26-v3.4.0_5.10 Improved information from DSP to host mailbox transactions Additional debug logging - cs40l26-v3.3.0_5.10 Expose LRADELAYSAMPS to user Support for DVL tuning Contingency for DSP start failure on boot - cs40l26-v3.1.2_5.10 Add Support for Nested Composite Waveform Improve BUZZGEN GPI trigger support Support GPI triggers of OWT waveforms Fix NUM_OF_WAVES race condition Improve deferred firmware loading DT parameter to set idle -> hibernate DSP timeout Bug fixes: - cs40l26-v3.4.0_5.10 Updated handling of vibe_state Explicitly stop haptic playback before starting I2S stream Prevent asynchrnous I2S start message to mailbox from driver Improved code clarity Resolution of clang, cppcheck, sparse, and checkpatch warnings - cs40l26-v3.3.0_5.10 Prevent asynchrnous erase/upload calls Prevent asynchronous interrupts from affecting code under mutex lock Code improvements to write sequencer Static analysis fixes Memory leak correction - cs40l26-v3.1.2_5.10 Check for the DSP to be initialized before uploading a waveform Do not allow stop command only if the ASP is active. Commits: ba22584 input: cs40l26: Resolve Warnings caused by DEVICE_ATTR b1f116d input: cs40l26: Clarify read size in pseq_init() 3447c80 ASoC: cs40l26: Use new vibe_state handling a3e37ec input: cs40l26: Update handling of vibe_state 8ec6127 ASoC: cs40l26: remove old vibe_state handling bc9f10c input: cs40l26: Add debug message in erase_effect dd88832 input: cs40l26: Support new FW event notifiers 4a963ec input: cs40l26: Add support for FW branch fead3ba input: cs40l26: Stop playback before starting I2S 0827b6c ASoC: cs40l26: Always unlock mutex in cs40l26_pcm_ev 4753f8c input: cs40l26: Resolve clang warnings e7f25c9 input: cs40l26: Resolve cppcheck warnings 5fcb292 input: cs40l26: Ensure vibe_state_set() called under mutex lock 75ad45a input: cs40l26: Additional defines and logging 6da8378 ASoC: cs40l26: Use asp_start() to start I2S stream a14e17b input: cs40l26: Replace asp_workqueue with asp_start function 7191239 ASoC: cs40l26: Remove usage of asp_work 5a32ccf input: cs40l26: Don't remove OWT effect from list if delete fails c7272dc ASoC: cs40l26: Expose delay controls dd4491a input: cs40l26: Load DVL tuning file 4b84df2 input: cs40l26: Use devm_ for allocation 7163487 input: cs40l26: Set up parameters before dsp start 31b55dd input: cs40l26: Retry if DSP is not in run state 626f83c input: cs40l26: Set timeout to max on fw re-load f33edc6 ASoC: cs40l26: Fix potential memory leak aebbb26 input: cs40l26: Fix static analysis errors 7a5489e input: cs40l26: Adding debug prints ff55e98 input: cs40l26: Add erase and upload operations to ordered workqueue 9c9da81 input: cs40l26: Mutex protect interrupt handler 332bb17 input: cs40l26: Write sequencer updates c5be6bb input: cs40l26: No stop command during ASP 7e806e4 input: cs40l26: use type-specific min function f93a999 input: cs40l26: Check for uninitialised DSP in cs40l26_header c659dec input: cs40l26: Changing GPI map API f12a21b input: cs40l26: Add delay before stopping playback 3732052 input: cs40l26: Delay registration of IRQ until firmware is loaded 6de4136 input: cs40l26: Add fw load defer 7d5e01b input: cs40l26: Correct memory space calculation for 4-byte words e8123a3 input: cs40l26: Add Support for Nested Composite Waveforms aa472ba input: cs40l26: Read NUM_OF_WAVES before each trigger 98ff3b5 input: cs40l26: Add dt parameter for DSP transition Bug: 205688153 Test: N/A. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I606c7d75891f85995eadf367d4b833b682f8e23d