smd->mm_s_place_holder = NULL;
smd->mm_r_head = 0;
smd->mm_r_last = DAT_MIX_MMAP_WR_MAX;
+ smd->mm_r_addr = NULL;
+
+ /* Activate send OP via mmap only when polling mode is set */
+ if (!mcm_op_poll)
+ return -1;
len = ALIGN_PAGE(DAT_MIX_MMAP_WR_MAX * (sizeof(dat_mix_mmap_wr_t)));
smd->mm_r_len = len;
mc->tx_busy = data;
time_ms = (data) ? 0:-1;
- if (time_ms && mcm_op_poll)
- time_ms = 0;
-
mpxy_unlock(&mc->txlock);
if (time_ms == -1) mlog(0x10," sleep\n");
mcm_select(set, time_ms);
/* data-path, loop if busy or device open & single core */
if ((mc->tx_busy || mc->rx_busy) || (smd_cnt && mcm_op_poll))
time_ms = 0;
- else {
- time_ms = 0;
- }
mcm_select(set, time_ms); /* Another sched yield */
if (time_ms == -1) mlog(0x10," OP wake\n");
mc->rx_busy = data;
time_ms = data ? 0:-1;
- if (time_ms && mcm_op_poll)
- time_ms = 0;
-
mpxy_unlock(&mc->rxlock);
if (time_ms == -1) mlog(0x10," RX sleep\n");
mcm_select(set, time_ms);
# The default is 1
mcm_affinity 1
+
+# mcm_op_poll:
+# For the OP thread. Use FD wake or use pollong for next OP
+# If 0, FD wake up will be used.
+# If 1, use polling for the next OP.
+#
+# The default is 1
+
mcm_op_poll 1
# mcm_affinity_base_mic: