Lines Matching refs:hext_stream

31 				     struct hdac_ext_stream *hext_stream,  in snd_hdac_ext_stream_init()  argument
35 hext_stream->pphc_addr = bus->ppcap + AZX_PPHC_BASE + in snd_hdac_ext_stream_init()
38 hext_stream->pplc_addr = bus->ppcap + AZX_PPLC_BASE + in snd_hdac_ext_stream_init()
43 hext_stream->decoupled = false; in snd_hdac_ext_stream_init()
44 snd_hdac_stream_init(bus, &hext_stream->hstream, idx, direction, tag); in snd_hdac_ext_stream_init()
62 struct hdac_ext_stream *hext_stream = in snd_hdac_ext_stream_init_all() local
63 kzalloc(sizeof(*hext_stream), GFP_KERNEL); in snd_hdac_ext_stream_init_all()
64 if (!hext_stream) in snd_hdac_ext_stream_init_all()
67 snd_hdac_ext_stream_init(bus, hext_stream, idx, dir, tag); in snd_hdac_ext_stream_init_all()
84 struct hdac_ext_stream *hext_stream; in snd_hdac_ext_stream_free_all() local
87 hext_stream = stream_to_hdac_ext_stream(s); in snd_hdac_ext_stream_free_all()
88 snd_hdac_ext_stream_decouple(bus, hext_stream, false); in snd_hdac_ext_stream_free_all()
90 kfree(hext_stream); in snd_hdac_ext_stream_free_all()
96 struct hdac_ext_stream *hext_stream, in snd_hdac_ext_stream_decouple_locked() argument
99 struct hdac_stream *hstream = &hext_stream->hstream; in snd_hdac_ext_stream_decouple_locked()
110 hext_stream->decoupled = decouple; in snd_hdac_ext_stream_decouple_locked()
121 struct hdac_ext_stream *hext_stream, bool decouple) in snd_hdac_ext_stream_decouple() argument
124 snd_hdac_ext_stream_decouple_locked(bus, hext_stream, decouple); in snd_hdac_ext_stream_decouple()
133 void snd_hdac_ext_stream_start(struct hdac_ext_stream *hext_stream) in snd_hdac_ext_stream_start() argument
135 snd_hdac_updatel(hext_stream->pplc_addr, AZX_REG_PPLCCTL, in snd_hdac_ext_stream_start()
144 void snd_hdac_ext_stream_clear(struct hdac_ext_stream *hext_stream) in snd_hdac_ext_stream_clear() argument
146 snd_hdac_updatel(hext_stream->pplc_addr, AZX_REG_PPLCCTL, AZX_PPLCCTL_RUN, 0); in snd_hdac_ext_stream_clear()
154 void snd_hdac_ext_stream_reset(struct hdac_ext_stream *hext_stream) in snd_hdac_ext_stream_reset() argument
159 snd_hdac_ext_stream_clear(hext_stream); in snd_hdac_ext_stream_reset()
161 snd_hdac_updatel(hext_stream->pplc_addr, AZX_REG_PPLCCTL, in snd_hdac_ext_stream_reset()
166 val = readl(hext_stream->pplc_addr + AZX_REG_PPLCCTL) & in snd_hdac_ext_stream_reset()
173 writel(val, hext_stream->pplc_addr + AZX_REG_PPLCCTL); in snd_hdac_ext_stream_reset()
179 val = readl(hext_stream->pplc_addr + AZX_REG_PPLCCTL) & AZX_PPLCCTL_STRST; in snd_hdac_ext_stream_reset()
193 int snd_hdac_ext_stream_setup(struct hdac_ext_stream *hext_stream, int fmt) in snd_hdac_ext_stream_setup() argument
195 struct hdac_stream *hstream = &hext_stream->hstream; in snd_hdac_ext_stream_setup()
199 snd_hdac_ext_stream_clear(hext_stream); in snd_hdac_ext_stream_setup()
201 val = readl(hext_stream->pplc_addr + AZX_REG_PPLCCTL); in snd_hdac_ext_stream_setup()
204 writel(val, hext_stream->pplc_addr + AZX_REG_PPLCCTL); in snd_hdac_ext_stream_setup()
207 writew(fmt, hext_stream->pplc_addr + AZX_REG_PPLCFMT); in snd_hdac_ext_stream_setup()
227 struct hdac_ext_stream *hext_stream = container_of(hstream, in hdac_ext_link_dma_stream_assign() local
234 if (!hext_stream->link_locked) { in hdac_ext_link_dma_stream_assign()
235 res = hext_stream; in hdac_ext_link_dma_stream_assign()
263 struct hdac_ext_stream *hext_stream = container_of(hstream, in hdac_ext_host_dma_stream_assign() local
270 res = hext_stream; in hdac_ext_host_dma_stream_assign()
306 struct hdac_ext_stream *hext_stream = NULL; in snd_hdac_ext_stream_assign() local
313 hext_stream = container_of(hstream, in snd_hdac_ext_stream_assign()
316 return hext_stream; in snd_hdac_ext_stream_assign()
337 void snd_hdac_ext_stream_release(struct hdac_ext_stream *hext_stream, int type) in snd_hdac_ext_stream_release() argument
339 struct hdac_bus *bus = hext_stream->hstream.bus; in snd_hdac_ext_stream_release()
343 snd_hdac_stream_release(&hext_stream->hstream); in snd_hdac_ext_stream_release()
349 if (!hext_stream->link_locked) in snd_hdac_ext_stream_release()
350 snd_hdac_ext_stream_decouple_locked(bus, hext_stream, false); in snd_hdac_ext_stream_release()
351 snd_hdac_stream_release_locked(&hext_stream->hstream); in snd_hdac_ext_stream_release()
358 if (!hext_stream->hstream.opened) in snd_hdac_ext_stream_release()
359 snd_hdac_ext_stream_decouple_locked(bus, hext_stream, false); in snd_hdac_ext_stream_release()
360 hext_stream->link_locked = 0; in snd_hdac_ext_stream_release()
361 hext_stream->link_substream = NULL; in snd_hdac_ext_stream_release()
389 struct hdac_ext_stream *hext_stream = stream_to_hdac_ext_stream(hstream); in snd_hdac_ext_cstream_assign() local
395 res = hext_stream; in snd_hdac_ext_cstream_assign()