mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
misc: cs40l20: Add extended-length playback support
Allowed for the MSB of the cp_trigger_index sysfs control to indicate that playback should be rendered until forcibly stopped. Change-Id: Ic9c0111a7b4110d482174bfd475697bb2ac2c17a Signed-off-by: Jeff LaBundy <jeff.labundy@cirrus.com> Signed-off-by: Ravi Vembu <raviv@motorola.com>
This commit is contained in:
parent
c699185902
commit
4993ca75e1
1 changed files with 7 additions and 4 deletions
|
|
@ -100,7 +100,7 @@ static ssize_t cs40l20_cp_trigger_index_store(struct device *dev,
|
|||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
if (index > (cs40l20->num_waves - 1))
|
||||
if ((index & 0x7FFF) > (cs40l20->num_waves - 1))
|
||||
return -EINVAL;
|
||||
|
||||
cs40l20->cp_trigger_index = index;
|
||||
|
|
@ -319,13 +319,16 @@ static void cs40l20_vibe_start_worker(struct work_struct *work)
|
|||
|
||||
mutex_lock(&cs40l20->lock);
|
||||
|
||||
if (cs40l20->cp_trigger_index)
|
||||
switch (cs40l20->cp_trigger_index) {
|
||||
case 0x0001 ... 0x7FFF:
|
||||
control_reg = cs40l20_dsp_reg(cs40l20, "TRIGGERINDEX");
|
||||
else
|
||||
break;
|
||||
default:
|
||||
control_reg = cs40l20_dsp_reg(cs40l20, "TRIGGER_MS");
|
||||
}
|
||||
|
||||
ret = regmap_write(cs40l20->regmap,
|
||||
control_reg, cs40l20->cp_trigger_index);
|
||||
control_reg, (cs40l20->cp_trigger_index & 0x7FFF));
|
||||
if (ret)
|
||||
dev_err(cs40l20->dev, "Failed to start playback\n");
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue