Commit dc53aaf
ipc4: dai: fix DMIC DMA link setup
There are two problems with out_fmt:
(1) Audio format for gateway DMA data is sent either in copier's
base.audio_fmt or out_fmt depending on gateway direction. DMIC is
a capture gateway and its input pin format should be used to set up DMA
link. UAOL gateway (coming soon) can be either capture or playback, hence
the direction check is used.
(2) The copier pointer in copier_dai_create() points to IPC memory window
contents. However, out_fmt (now gtw_fmt) is also used when DAIs are
resumed after exiting D3 state. So cd->config (a copy of
ipc4_copier_module_cfg that is kept allocated throughout the copier module
lifetime) is used to get the address of the audio format struct.
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>1 parent 505e201 commit dc53aaf
3 files changed
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| 288 | + | |
| 289 | + | |
288 | 290 | | |
289 | 291 | | |
290 | 292 | | |
| |||
303 | 305 | | |
304 | 306 | | |
305 | 307 | | |
306 | | - | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
| |||
330 | 331 | | |
331 | 332 | | |
332 | 333 | | |
333 | | - | |
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
| 57 | + | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
0 commit comments