Loading asoc/msm-compress-q6-v2.c +17 −9 Original line number Diff line number Diff line Loading @@ -826,7 +826,10 @@ static void compr_event_handler(uint32_t opcode, */ if ((prtd->copied_total == prtd->bytes_sent) && atomic_read(&prtd->drain)) { pr_debug("RUN ack, wake up & continue pending drain\n"); bytes_available = prtd->bytes_received - prtd->copied_total; if (bytes_available < cstream->runtime->fragment_size) { pr_debug("%s: RUN ack, wake up & continue pending drain\n", __func__); if (prtd->last_buffer) prtd->last_buffer = 0; Loading @@ -834,6 +837,11 @@ static void compr_event_handler(uint32_t opcode, prtd->drain_ready = 1; wake_up(&prtd->drain_wait); atomic_set(&prtd->drain, 0); } else if (atomic_read(&prtd->xrun)) { pr_debug("%s: RUN ack, continue write cycle\n", __func__); atomic_set(&prtd->xrun, 0); msm_compr_send_buffer(prtd); } } spin_unlock_irqrestore(&prtd->lock, flags); Loading Loading
asoc/msm-compress-q6-v2.c +17 −9 Original line number Diff line number Diff line Loading @@ -826,7 +826,10 @@ static void compr_event_handler(uint32_t opcode, */ if ((prtd->copied_total == prtd->bytes_sent) && atomic_read(&prtd->drain)) { pr_debug("RUN ack, wake up & continue pending drain\n"); bytes_available = prtd->bytes_received - prtd->copied_total; if (bytes_available < cstream->runtime->fragment_size) { pr_debug("%s: RUN ack, wake up & continue pending drain\n", __func__); if (prtd->last_buffer) prtd->last_buffer = 0; Loading @@ -834,6 +837,11 @@ static void compr_event_handler(uint32_t opcode, prtd->drain_ready = 1; wake_up(&prtd->drain_wait); atomic_set(&prtd->drain, 0); } else if (atomic_read(&prtd->xrun)) { pr_debug("%s: RUN ack, continue write cycle\n", __func__); atomic_set(&prtd->xrun, 0); msm_compr_send_buffer(prtd); } } spin_unlock_irqrestore(&prtd->lock, flags); Loading