Commit 2389f13
committed
schedule: zephyr_dma_domain: Add mixer support
Currently, because of the fact only registrable pipeline tasks
can be executed, the mixer no longer works since the pipeline
tasks going into the mixer are non-registrable.
In order to overcome this issue, non-registrable pipeline tasks
will point to the same struct zephyr_dma_domain_data as the
registrable pipeline task so when the DMA IRQ comes and marks
the registrable pipeline task as executable these non-registrable
pipeline tasks can also be executed. This is done by keeping track
of how many pipeline task point to the same struct
zephyr_dma_domain_data and of how many times domain_is_pending() has
been called for said struct zephyr_dma_domain_data. When pending_count
reaches 0, data->triggered can be set to false, meaning both the
registrable and non-registrable pipeline tasks have been executed.
Let's assume the following scenario with 4 pipeline tasks:
1)
Host -------> Volume --------> DAI
2)
Host -------> Mixer ----------> DAI
^
|
Host -----------|
This fix assumes that the mixer pipeline tasks will be
registered as a group, meaning the first pipeline task
will not be registered in between the pipeline tasks
associated with the mixer.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>1 parent 481766f commit 2389f13
1 file changed
Lines changed: 60 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
59 | 80 | | |
60 | 81 | | |
61 | 82 | | |
| |||
219 | 240 | | |
220 | 241 | | |
221 | 242 | | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
222 | 261 | | |
223 | 262 | | |
224 | 263 | | |
| |||
230 | 269 | | |
231 | 270 | | |
232 | 271 | | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
233 | 275 | | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | 276 | | |
242 | 277 | | |
243 | 278 | | |
| |||
285 | 320 | | |
286 | 321 | | |
287 | 322 | | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | 323 | | |
299 | 324 | | |
300 | 325 | | |
| |||
309 | 334 | | |
310 | 335 | | |
311 | 336 | | |
312 | | - | |
313 | | - | |
| 337 | + | |
| 338 | + | |
314 | 339 | | |
315 | 340 | | |
316 | 341 | | |
317 | 342 | | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
318 | 347 | | |
319 | 348 | | |
320 | 349 | | |
| |||
453 | 482 | | |
454 | 483 | | |
455 | 484 | | |
| 485 | + | |
456 | 486 | | |
457 | 487 | | |
458 | 488 | | |
459 | 489 | | |
460 | 490 | | |
461 | 491 | | |
| 492 | + | |
462 | 493 | | |
463 | 494 | | |
464 | 495 | | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
465 | 499 | | |
466 | 500 | | |
467 | 501 | | |
| |||
532 | 566 | | |
533 | 567 | | |
534 | 568 | | |
535 | | - | |
536 | 569 | | |
537 | | - | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
538 | 577 | | |
539 | 578 | | |
540 | 579 | | |
| |||
0 commit comments