Skip to content

Commit 58029b7

Browse files
crojewsk-intelbroonie
authored andcommitted
ASoC: Intel: avs: Drop fifo_lock
Log gathering is already locked, thanks to ->trace_lock. Signed-off-by: Cezary Rojewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent bb03099 commit 58029b7

File tree

4 files changed

+7
-14
lines changed

4 files changed

+7
-14
lines changed

sound/soc/intel/avs/apl.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,12 @@ static int apl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg
6565
buf = apl_log_payload_addr(addr);
6666

6767
if (layout.read_ptr > layout.write_ptr) {
68-
__kfifo_fromio_locked(&adev->dbg.trace_fifo, buf + layout.read_ptr,
69-
apl_log_payload_size(adev) - layout.read_ptr,
70-
&adev->dbg.fifo_lock);
68+
__kfifo_fromio(&adev->dbg.trace_fifo, buf + layout.read_ptr,
69+
apl_log_payload_size(adev) - layout.read_ptr);
7170
layout.read_ptr = 0;
7271
}
73-
__kfifo_fromio_locked(&adev->dbg.trace_fifo, buf + layout.read_ptr,
74-
layout.write_ptr - layout.read_ptr, &adev->dbg.fifo_lock);
72+
__kfifo_fromio(&adev->dbg.trace_fifo, buf + layout.read_ptr,
73+
layout.write_ptr - layout.read_ptr);
7574

7675
wake_up(&adev->dbg.trace_waitq);
7776

sound/soc/intel/avs/avs.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ struct avs_fw_entry {
9595

9696
struct avs_debug {
9797
struct kfifo trace_fifo;
98-
spinlock_t fifo_lock; /* serialize I/O for trace_fifo */
9998
spinlock_t trace_lock; /* serialize debug window I/O between each LOG_BUFFER_STATUS */
10099
wait_queue_head_t trace_waitq;
101100
u32 aging_timer_period;
@@ -331,8 +330,7 @@ void avs_unregister_all_boards(struct avs_dev *adev);
331330

332331
/* Firmware tracing helpers */
333332

334-
unsigned int __kfifo_fromio_locked(struct kfifo *fifo, const void __iomem *src, unsigned int len,
335-
spinlock_t *lock);
333+
unsigned int __kfifo_fromio(struct kfifo *fifo, const void __iomem *src, unsigned int len);
336334

337335
#define avs_log_buffer_size(adev) \
338336
((adev)->fw_cfg.trace_log_bytes / (adev)->hw_cfg.dsp_cores)

sound/soc/intel/avs/skl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ skl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
6868

6969
/* Address is guaranteed to exist in SRAM2. */
7070
buf = avs_log_buffer_addr(adev, msg->log.core) + offset;
71-
__kfifo_fromio_locked(&adev->dbg.trace_fifo, buf, size, &adev->dbg.fifo_lock);
71+
__kfifo_fromio(&adev->dbg.trace_fifo, buf, size);
7272
wake_up(&adev->dbg.trace_waitq);
7373

7474
return 0;

sound/soc/intel/avs/utils.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,14 +301,11 @@ void avs_release_firmwares(struct avs_dev *adev)
301301
}
302302
}
303303

304-
unsigned int __kfifo_fromio_locked(struct kfifo *fifo, const void __iomem *src, unsigned int len,
305-
spinlock_t *lock)
304+
unsigned int __kfifo_fromio(struct kfifo *fifo, const void __iomem *src, unsigned int len)
306305
{
307306
struct __kfifo *__fifo = &fifo->kfifo;
308-
unsigned long flags;
309307
unsigned int l, off;
310308

311-
spin_lock_irqsave(lock, flags);
312309
len = min(len, kfifo_avail(fifo));
313310
off = __fifo->in & __fifo->mask;
314311
l = min(len, kfifo_size(fifo) - off);
@@ -318,7 +315,6 @@ unsigned int __kfifo_fromio_locked(struct kfifo *fifo, const void __iomem *src,
318315
/* Make sure data copied from SRAM is visible to all CPUs. */
319316
smp_mb();
320317
__fifo->in += len;
321-
spin_unlock_irqrestore(lock, flags);
322318

323319
return len;
324320
}

0 commit comments

Comments
 (0)