| .. | .. |
|---|
| 439 | 439 | |
|---|
| 440 | 440 | skl->init_done = 0; /* to be sure */ |
|---|
| 441 | 441 | |
|---|
| 442 | | - snd_hdac_ext_stop_streams(bus); |
|---|
| 442 | + snd_hdac_stop_streams_and_chip(bus); |
|---|
| 443 | 443 | |
|---|
| 444 | 444 | if (bus->irq >= 0) |
|---|
| 445 | 445 | free_irq(bus->irq, (void *)bus); |
|---|
| .. | .. |
|---|
| 1100 | 1100 | if (!skl->init_done) |
|---|
| 1101 | 1101 | return; |
|---|
| 1102 | 1102 | |
|---|
| 1103 | | - snd_hdac_ext_stop_streams(bus); |
|---|
| 1103 | + snd_hdac_stop_streams(bus); |
|---|
| 1104 | + snd_hdac_ext_bus_link_power_down_all(bus); |
|---|
| 1105 | + skl_dsp_sleep(skl->dsp); |
|---|
| 1106 | + |
|---|
| 1104 | 1107 | list_for_each_entry(s, &bus->stream_list, list) { |
|---|
| 1105 | 1108 | stream = stream_to_hdac_ext_stream(s); |
|---|
| 1106 | 1109 | snd_hdac_ext_stream_decouple(bus, stream, false); |
|---|