Unverified Commit b828059f authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Mark Brown
Browse files

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: default avatarSrinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20251023102444.88158-19-srinivas.kandagatla@oss.qualcomm.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4b1edbb0
Loading
Loading
Loading
Loading
+5 −18
Original line number Diff line number Diff line
@@ -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;
}