Commit b984a62
committed
ASoC: SOF: chain-dma: Add support for chained DMA
Add logic for setting up and tearing down chained dma connections. The
chained dma means that the samples are not processed by the SOF DSP in
any way, they just pass through without any processing. Because of
this a lot of code needs to be by passed in chained dma case. Also
because of this in chain dma case we have to use the same stream
parameters for both back- and front-end dma, including sample format,
for both back- and front-end dai, which why we can not set the 32-bit
format mask in dai_link_fixup() callback in chained dma case.
The IPC message for setting chained dma up and to tear it down are
sent in sof_ipc4_trigger_pipelines(), but the contents are partly
collected in struct sof_ipc4_pipeline msg data member in
sof_ipc4_dai_config() and in sof_ipc4_prepare_copier_module().
Signed-off-by: Jyri Sarha <jyri.sarha@intel.com>1 parent b6b57a8 commit b984a62
5 files changed
Lines changed: 192 additions & 25 deletions
File tree
- include/uapi/sound/sof
- sound/soc/sof
- intel
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
100 | | - | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
478 | | - | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
479 | 487 | | |
480 | | - | |
| 488 | + | |
481 | 489 | | |
482 | 490 | | |
483 | | - | |
484 | 491 | | |
485 | 492 | | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | 493 | | |
491 | 494 | | |
492 | 495 | | |
493 | 496 | | |
494 | 497 | | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
499 | 504 | | |
500 | 505 | | |
501 | 506 | | |
502 | 507 | | |
503 | 508 | | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
508 | 515 | | |
509 | 516 | | |
510 | 517 | | |
| |||
517 | 524 | | |
518 | 525 | | |
519 | 526 | | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
524 | 533 | | |
525 | 534 | | |
526 | 535 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
62 | 112 | | |
63 | 113 | | |
64 | 114 | | |
| |||
82 | 132 | | |
83 | 133 | | |
84 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
85 | 143 | | |
86 | 144 | | |
87 | 145 | | |
| |||
234 | 292 | | |
235 | 293 | | |
236 | 294 | | |
| 295 | + | |
237 | 296 | | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
238 | 300 | | |
239 | 301 | | |
240 | 302 | | |
241 | 303 | | |
242 | 304 | | |
243 | 305 | | |
244 | 306 | | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
245 | 319 | | |
246 | 320 | | |
247 | 321 | | |
248 | 322 | | |
249 | 323 | | |
250 | 324 | | |
251 | 325 | | |
252 | | - | |
253 | | - | |
254 | | - | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
255 | 332 | | |
256 | 333 | | |
257 | 334 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
607 | 609 | | |
608 | 610 | | |
609 | 611 | | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
610 | 620 | | |
611 | 621 | | |
612 | 622 | | |
| |||
1116 | 1126 | | |
1117 | 1127 | | |
1118 | 1128 | | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
1119 | 1153 | | |
1120 | 1154 | | |
1121 | 1155 | | |
| |||
1145 | 1179 | | |
1146 | 1180 | | |
1147 | 1181 | | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
1148 | 1188 | | |
1149 | 1189 | | |
1150 | 1190 | | |
| |||
1447 | 1487 | | |
1448 | 1488 | | |
1449 | 1489 | | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
1450 | 1493 | | |
1451 | 1494 | | |
1452 | 1495 | | |
| |||
1468 | 1511 | | |
1469 | 1512 | | |
1470 | 1513 | | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
1471 | 1518 | | |
1472 | 1519 | | |
1473 | 1520 | | |
| |||
1480 | 1527 | | |
1481 | 1528 | | |
1482 | 1529 | | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
1483 | 1534 | | |
1484 | 1535 | | |
1485 | 1536 | | |
| |||
1572 | 1623 | | |
1573 | 1624 | | |
1574 | 1625 | | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
1575 | 1629 | | |
1576 | 1630 | | |
1577 | 1631 | | |
| |||
1588 | 1642 | | |
1589 | 1643 | | |
1590 | 1644 | | |
1591 | | - | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
1592 | 1650 | | |
1593 | 1651 | | |
1594 | 1652 | | |
| |||
1680 | 1738 | | |
1681 | 1739 | | |
1682 | 1740 | | |
| 1741 | + | |
| 1742 | + | |
1683 | 1743 | | |
1684 | 1744 | | |
| 1745 | + | |
| 1746 | + | |
1685 | 1747 | | |
1686 | 1748 | | |
1687 | 1749 | | |
1688 | 1750 | | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
1689 | 1755 | | |
1690 | 1756 | | |
1691 | 1757 | | |
| |||
1743 | 1809 | | |
1744 | 1810 | | |
1745 | 1811 | | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
1746 | 1816 | | |
1747 | 1817 | | |
1748 | 1818 | | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
1749 | 1823 | | |
1750 | 1824 | | |
1751 | 1825 | | |
| |||
1806 | 1880 | | |
1807 | 1881 | | |
1808 | 1882 | | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
1809 | 1888 | | |
1810 | 1889 | | |
1811 | 1890 | | |
| |||
0 commit comments