Age | Commit message (Collapse) | Author |
|
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
|
|
This reverts commit 1dcf4405cceab9a3701a9d4f4822628502a5322e.
Bug: 237047104
Test: n/a
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: I1c6c09e30975340b15b446fb3fd671954c886f01
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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)
|
|
Bug: 201034056
Signed-off-by: Robin Peng <robinpeng@google.com>
Change-Id: I6654c45e6a99832d218f0cb39cf4acc03bf7c521
|
|
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
|
|
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
|
|
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
|
|
Bug: 192617687
Test: builds
Signed-off-by: Yifan Hong <elsk@google.com>
Change-Id: I7e6672f676e379107f4995d3aead9a3891722482
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Adding bst-dcm-en control to the device tree to allow users to specify
whether or not to allow the boost converter to enter low-power (dcm)
mode.
Bug: 182970777
Test: OK to boot.
Change-Id: I2161065beffa6c6c92d94cc7356627d047436484
Signed-off-by: Ben Bright <ben.bright@cirrus.com>
Signed-off-by: Tai Kuo <taikuo@google.com>
|
|
The CS40L26_TIMEOUT_MS_MAX definition is over __u16 while
the replay.lenght type is __u16. It will makes the comparison
at cs40l26.c:2155:26 always false and results in the build break.
Bug: 184610991
Test: Built pass.
Test: Device attributes were shown.
Tets: Able to perform internal calibration through vendor's script
of b/180110149#comment36 (1.1 F0, ReDC, and Q-factor estimation).
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: I1c5d409a8e6767cf6f772cc839907c3a27537d1b
|
|
5897d91abf99 input: cs40l26: Improved gain control method
18ded7ea08ca input: cs40l26: Max Back EMF API
756ce5f138dc input: cs40l26: Add support for calibration
458244dc72ca ASoC: cs40l26: Add support for TDM slot configuration
236237999946 ASoC: cs40l26: Add A2H Volume Control
1573f3fe2d5b input: cs40l26: Use END_PLAYBACK for VIBEGEN effects
346cb8cd67ba input: cs40l26: Use TIMEOUT_MS when duration undefined
40d10f025eba input: cs40l26: Remove unused variable
Bug: 184610991
Test: Driver attribute files show up.
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: I7dc25d526fcc0bcbd10619d46b3b382896dc50ac
|
|
Need to export dev_alert in ACK first before we can use it.
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: Icce8c32733cbb003893432aca56142e84961ff1e
|
|
Bug: 184610991
Test: Built pass.
Test: Driver probed.
Test: Basic function.
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: I82d0f37a74a73b2e0c23eee186a55c2823b9de34
|
|
40ae66e93fd1 input: cs40l26: Add Open Wavetable Support
5ebd6b1cdf42 firmware: cirrus: Add Open Wavetable Support
Bug: 184610991
Test: Built pass.
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: Ibd00518f1c92050dca792b9d6f9fc48aa9fb2b13
|
|
Branch: v5.10-cs40l26
Tag: cs40l26-RC1v5_5.10
Files:
drivers/input/misc/cs40l26*.[ch]
sound/soc/codecs/cs40l26.c -> cs40l26-codec.c
include/linux/mfd/cs40l26.h
Commits:
48008bf7e951 input: cs40l26: Allow MFD to number children
a466efc1776a input: cs40l26: Configure some ASP controls in core driver
3dd2be5060ce ASoC: cs40l26: Do not access firmware controls in codec_probe
0d8255c507fc input: cs40l26: Remove function for coeff. file loading
abb4c12fee99 input: cs40l26: Reserve cs40l26_ack_read for polling
a907b2432e82 input: cs40l26: Increment A0 minimum firmware revision to 5.0.4
43ae62e013fd input: cs40l26: Add minimum revision value for A1 firmware
59e7425816a7 input: cs40l26: Verify firmware in core driver
9709db269456 input: cs40l26: Support PWLE waveforms in Open Wavetable
a9dfa6d32ac8 input: cs40l26: Fix misspelled variable name
951630cb6608 ASoC: cs40l26: Reverse logic for using tdm_width
40ae66e93fd1 input: cs40l26: Add Open Wavetable Support
0a674a1ccfea input: cs40l26: Add support for pseq v2
d749863a9703 input: cs40l26: Add errata write to fix indeterminate PLL lock time
32ecacc32a36 input: cs40l26: Add support for A1 chip revision
e4c3a094ecdf input: cs40l26: Convert mailbox queue to use registers in wmfw
1b193fad6fc1 input: cs40l26: Ensure DSP can accept mailbox commands
1675126b9e1a input: cs40l26: Wait to enable pm runtime controls until firmware ready
9dae893f3448 input: cs40l26: Improvements to pm_state_transition
96e1be15046b ASoC: cs40l26: Wake device when probing codec driver.
a9444c9b2c77 input: cs40l26: Change some instances of dsp_read to regmap_read
c4b71016240d ASoC: cs40l26: Switch A2H tunings at runtime
1629fb45fec6 input: cs40l26: Re-enable I2S stream after haptic effect
ffc4e2ccfe95 ASoC: cs40l26: Add ASP vibe state enum
8733e2547135 input: cs40l26: Improve vibe_state tracking
a5b0a135f849 ASoC: cs40l26: Enable Class H tracking during ASP playback
56a8557861dd input: cs40l26: Function to set Class H
8817c80d021f ASoC: cs40l26: Add Option to Disable ASP Playback
98bf94b1df98 input: cs40l26: Changes to PM hibernate/shutdown timeout
1a09000c60d8 input: cs40l26: Remove Firmware ID check after state transition
1b5a5b26e9fe input: cs40l26: Use LAST_WAKESRC_CTL to determine GPIO status
7407cb8ffc91 input: cs40l26: Add set_gain callback
67095dcbc5ca input: cs40l26: Share of_device_id table between SPI/I2C drivers
268c9da5bcfd ASoC: cs40l26: Add set_tdm_slot callback
919ab920876b ASoC: cs40l26: Add TDM Support
77baad927c8d ASoC: cs40l26: Remove redundant stream direction check
830c4e0b5618 ASoC: cs40l26: Don't write DAI format directly from cs40l26_set_dai_fmt
f938eac74f10 ASoC: cs40l26: Remove incorrect usage of params_physical_width
f0b8a8823f06 ASoC: cs40l26: Remove unused ASP Switch
468770e2856f ASoC: cs40l26: Use PLL Open Loop when changing REFCLK
37a598f9bac0 input: cs40l26: Enable IRQ after error
a81070994853 input: cs40l26: Enable CS40L26 Codec in core driver
fc48e705a381 ASoC: cs40l26: Add CS40L26 Stub Codec Driver
e731f6adaac6 input: cs40l26: Share regmap config between I2C and SPI drivers.
1aacdf180f91 input: cs40l26: Don't build core driver module
6d75aa2d5dc0 input: cs40l26: Remove extra space in function prototype
8d287c195371 Documentation: cs40l26: Add CS40L26A/B devicetree options
74867e2b5f25 input: cs40l26: Add CS40L26A/B devicetree options
0e3bcf4b2e52 input: cs40l26: Read entire mailbox queue upon DSP write
ca583f106052 input: cs40l26: Add Runtime Power Management Support
25b5096dc06d input: cs40l26: Change include location of CL DSP
3884ddc083c2 input: cs40l26: Configure wakesource IRQs based on device settings
5b7430bf8db5 input: cs40l26: Reject indeces exceeding number of loaded waveforms
b664bc4faa40 input: cs40l26: Changes to sysfs controls
f7322edc1820 input: cs40l26: Function to read DSP state
2e1dc1d42ab4 input: cs40l26: Update Copyright Year
ea17111bb00b input: cs40l26: Add debug message for completed playback
17457b94d942 input: cs40l26: Enable DSP Shutdown and Wakeup Commands
705aa77f234c input: cs40l26: Update Start Up Procedure for A0 Silicon
a42bac99c20b input: cs40l26: Remove cs40l26_dsp_shutdown()
89fba3c7e7e1 input: cs40l26: Updates to power on sequence
4123501cf9d0 input: cs40l26: Clear Interrupt after error
f2b73020a677 input: cs40l26: Change IRQ notificatios to dev_dbg()
2be81af5037e input: cs40l26: Change msleep() to usleep_range()
fd8c8f5ab3b0 input: cs40l26: Disable VA and VP Regulators Separately
2175609afa4e input: cs40l26: Add support for CS40L26A/B
c519e1b08467 input: cs40l26: Add Support for SVC tuning
2b87832f2b0f input: cs40l26: Decrease ROM waveform bank granularity
3df8b4237b2e input: cs40l26: Graceful shutdown when handling BST errors
92a3eff7ff40 input: cs40l26: Add Support for Coefficient File Loading
f67aaddce758 input: cs40l26: Correct BUZZGEN duration setting
f25e0fd73654 input: cs40l26: Improve efficiency of Interrupt Handling
c31b95210834 input: cs40l26: Fix error release sequence
2f8d22e816a6 input: cs40l26: Add IRQ unmask function
875e70684e57 Documentation: cs40l26: Add Support for RAM firmware
96b59a7edb94 input: cs40l26: Add Support for RAM firmware
d86abc93be70 Documentation: cs40l26: Add dt-bindings file for CS40L26
71f39122dae9 input: cs40l26: Initial Commit for CS40L26
Branch: v5.10-cirrus-dsp-fw
Tag: cl-dsp-fw-v3.1.0_5.10
Files:
drivers/firmware/cirrus/cl_dsp.c
include/linux/firmware/cirrus/cl_dsp.h
Commits:
47254bf6e2c2 firmware: cirrus: Ignore Silicon Revision when looking for wavetable
f31f14932f72 firmware: cirrus: Warn user about mismatched revisions
97963c7898f1 firmware: cirrus: Let core driver handle revision checking
5ebd6b1cdf42 firmware: cirrus: Add Open Wavetable Support
6149c55ae03e firmware: cirrus: Ignore chip revision when verifying algo id
d5273a4a9ffd firmware: cirrus: Remove check before debug statement.
672fc70f5c74 firmware: cirrus: Move CL DSP to drivers/firmware
f922454891ef input: cl_dsp: Updates to coefficient descriptor list
072f7252b854 input: cl_dsp: Macros for algorithm and firmware revision
cd2c76181a67 input: cl_dsp: Improve Coefficient File Parsing
7f9340b2186d input: cl_dsp: Improve Algorithm Parsing
60323ea6b804 input: cl_dsp: Standardize HALO registers
33ae8822e6ca input: cl_dsp: Parse coeff flags and length
9485dc94122c input: cl_dsp: Process Data in WMFW Header
0af257e7d6c7 input: cl_dsp: Require regmap pointer when creating struct
d5db51b265af input: cl_dsp: Increase maximum number of algorithms
b01a1e0e0219 input: cl_dsp: Option to skip writing to RAM
c7811f4beccb input: cl_dsp: Improve firmware data parsing
276542f62ced input: cl_dsp: Move includes to .h file
ebd97015fa68 input: cl_dsp: Improved memory management
d6bcce379fb0 input: cl_dsp: Move .h file to mfd
6e8352d35ba2 input: cl_dsp: Ensure packed data is aligned to 4 words
ff235ec69691 input: cl_dsp: Catch additional errors in get_reg function
eb65b8e79dbb input: cl_dsp: Support packed types in coefficient files
9f7125dca680 input: cl_dsp: Add support for wavetable date info
a4515a386b9c input: cl_dsp: Add support for expliclty freeing coefficient memory
fbed7662b3be input: cl_dsp: Add Support for Generic Coefficient Files
2a234316bcae input: cl_dsp: Initialize return variable
d5678c49af94 input: cl_dsp: Add support for unpacked types in WMFW
7d7857d11bc9 input: cl_dsp: Add text to Kconfig for cl_dsp
2791c97e5554 input: cl_dsp: Add support for wavetable loading
a728fda6c333 input: cl_dsp: Fix typo in error message
f85e18f4ae46 input: cl_dsp: Add helper function for firmware parsing
fd5b30bc28a7 input: cl_dsp: DSP firmware loading for input devices
Bug: 184610991
Test: n/a
Signed-off-by: Tai Kuo <taikuo@google.com>
Change-Id: I2d29c23aafebe57c46fc2edee354dbc69826faf4
|