mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
ASoC: qcom: q6apm-dai: Use guard() for spin locks
Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Link: https://patch.msgid.link/20251023102444.88158-19-srinivas.kandagatla@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
4b1edbb028
commit
b828059f86
@@ -151,33 +151,28 @@ static void event_handler_compr(uint32_t opcode, uint32_t token,
|
||||
{
|
||||
struct q6apm_dai_rtd *prtd = priv;
|
||||
struct snd_compr_stream *substream = prtd->cstream;
|
||||
unsigned long flags;
|
||||
uint32_t wflags = 0;
|
||||
uint64_t avail;
|
||||
uint32_t bytes_written, bytes_to_write;
|
||||
bool is_last_buffer = false;
|
||||
|
||||
guard(spinlock_irqsave)(&prtd->lock);
|
||||
switch (opcode) {
|
||||
case APM_CLIENT_EVENT_CMD_EOS_DONE:
|
||||
spin_lock_irqsave(&prtd->lock, flags);
|
||||
if (prtd->notify_on_drain) {
|
||||
snd_compr_drain_notify(prtd->cstream);
|
||||
prtd->notify_on_drain = false;
|
||||
} else {
|
||||
prtd->state = Q6APM_STREAM_STOPPED;
|
||||
}
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
break;
|
||||
case APM_CLIENT_EVENT_DATA_WRITE_DONE:
|
||||
spin_lock_irqsave(&prtd->lock, flags);
|
||||
bytes_written = token >> APM_WRITE_TOKEN_LEN_SHIFT;
|
||||
prtd->copied_total += bytes_written;
|
||||
snd_compr_fragment_elapsed(substream);
|
||||
|
||||
if (prtd->state != Q6APM_STREAM_RUNNING) {
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
if (prtd->state != Q6APM_STREAM_RUNNING)
|
||||
break;
|
||||
}
|
||||
|
||||
avail = prtd->bytes_received - prtd->bytes_sent;
|
||||
|
||||
@@ -202,7 +197,6 @@ static void event_handler_compr(uint32_t opcode, uint32_t token,
|
||||
audioreach_shared_memory_send_eos(prtd->graph);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -583,14 +577,12 @@ static int q6apm_dai_compr_pointer(struct snd_soc_component *component,
|
||||
{
|
||||
struct snd_compr_runtime *runtime = stream->runtime;
|
||||
struct q6apm_dai_rtd *prtd = runtime->private_data;
|
||||
unsigned long flags;
|
||||
uint64_t temp_copied_total;
|
||||
|
||||
spin_lock_irqsave(&prtd->lock, flags);
|
||||
guard(spinlock_irqsave)(&prtd->lock);
|
||||
tstamp->copied_total = prtd->copied_total;
|
||||
temp_copied_total = tstamp->copied_total;
|
||||
tstamp->byte_offset = do_div(temp_copied_total, prtd->pcm_size);
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -633,11 +625,9 @@ static int q6apm_dai_compr_ack(struct snd_soc_component *component, struct snd_c
|
||||
{
|
||||
struct snd_compr_runtime *runtime = stream->runtime;
|
||||
struct q6apm_dai_rtd *prtd = runtime->private_data;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&prtd->lock, flags);
|
||||
guard(spinlock_irqsave)(&prtd->lock);
|
||||
prtd->bytes_received += count;
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
|
||||
return count;
|
||||
}
|
||||
@@ -762,7 +752,6 @@ static int q6apm_compr_copy(struct snd_soc_component *component,
|
||||
struct snd_compr_runtime *runtime = stream->runtime;
|
||||
struct q6apm_dai_rtd *prtd = runtime->private_data;
|
||||
void *dstn;
|
||||
unsigned long flags;
|
||||
size_t copy;
|
||||
u32 wflags = 0;
|
||||
u32 app_pointer;
|
||||
@@ -797,7 +786,7 @@ static int q6apm_compr_copy(struct snd_soc_component *component,
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&prtd->lock, flags);
|
||||
guard(spinlock_irqsave)(&prtd->lock);
|
||||
bytes_in_flight = prtd->bytes_received - prtd->copied_total;
|
||||
|
||||
if (prtd->next_track) {
|
||||
@@ -820,8 +809,6 @@ static int q6apm_compr_copy(struct snd_soc_component *component,
|
||||
prtd->bytes_sent += bytes_to_write;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&prtd->lock, flags);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user