/linux-6.6.21/sound/hda/ |
D | hdac_stream.c | 94 void snd_hdac_stream_init(struct hdac_bus *bus, struct hdac_stream *azx_dev, in snd_hdac_stream_init() argument 97 azx_dev->bus = bus; in snd_hdac_stream_init() 99 azx_dev->sd_addr = bus->remap_addr + (0x20 * idx + 0x80); in snd_hdac_stream_init() 101 azx_dev->sd_int_sta_mask = 1 << idx; in snd_hdac_stream_init() 102 azx_dev->index = idx; in snd_hdac_stream_init() 103 azx_dev->direction = direction; in snd_hdac_stream_init() 104 azx_dev->stream_tag = tag; in snd_hdac_stream_init() 105 snd_hdac_dsp_lock_init(azx_dev); in snd_hdac_stream_init() 106 list_add_tail(&azx_dev->list, &bus->stream_list); in snd_hdac_stream_init() 109 azx_dev->spib_addr = bus->spbcap + AZX_SPB_BASE + in snd_hdac_stream_init() [all …]
|
D | trace.h | 67 TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), 69 TP_ARGS(bus, azx_dev), 76 __entry->stream_tag = (azx_dev)->stream_tag; 83 TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), 84 TP_ARGS(bus, azx_dev) 88 TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), 89 TP_ARGS(bus, azx_dev)
|
D | hdac_controller.c | 474 struct hdac_stream *azx_dev; in azx_int_disable() local 477 list_for_each_entry(azx_dev, &bus->stream_list, list) in azx_int_disable() 478 snd_hdac_stream_updateb(azx_dev, SD_CTL, SD_INT_MASK, 0); in azx_int_disable() 487 struct hdac_stream *azx_dev; in azx_int_clear() local 490 list_for_each_entry(azx_dev, &bus->stream_list, list) in azx_int_clear() 491 snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); in azx_int_clear() 575 struct hdac_stream *azx_dev; in snd_hdac_bus_handle_stream_irq() local 579 list_for_each_entry(azx_dev, &bus->stream_list, list) { in snd_hdac_bus_handle_stream_irq() 580 if (status & azx_dev->sd_int_sta_mask) { in snd_hdac_bus_handle_stream_irq() 581 sd_status = snd_hdac_stream_readb(azx_dev, SD_STS); in snd_hdac_bus_handle_stream_irq() [all …]
|
/linux-6.6.21/sound/pci/hda/ |
D | hda_controller_trace.h | 12 struct azx_dev; 16 TP_PROTO(struct azx *chip, struct azx_dev *dev, int cmd), 37 TP_PROTO(struct azx *chip, struct azx_dev *dev, unsigned int pos, unsigned int delay), 59 TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 61 TP_ARGS(chip, azx_dev), 68 __entry->stream_tag = (azx_dev)->core.stream_tag; 75 TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 76 TP_ARGS(chip, azx_dev) 80 TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 81 TP_ARGS(chip, azx_dev) [all …]
|
D | hda_controller.c | 39 static inline struct azx_dev * 51 static inline void azx_release_device(struct azx_dev *azx_dev) in azx_release_device() argument 53 snd_hdac_stream_release(azx_stream(azx_dev)); in azx_release_device() 92 struct azx_dev *azx_dev = get_azx_dev(substream); in azx_pcm_close() local 94 trace_azx_pcm_close(chip, azx_dev); in azx_pcm_close() 96 azx_release_device(azx_dev); in azx_pcm_close() 110 struct azx_dev *azx_dev = get_azx_dev(substream); in azx_pcm_hw_params() local 113 trace_azx_pcm_hw_params(chip, azx_dev); in azx_pcm_hw_params() 114 dsp_lock(azx_dev); in azx_pcm_hw_params() 115 if (dsp_is_locked(azx_dev)) { in azx_pcm_hw_params() [all …]
|
D | hda_controller.h | 56 struct azx_dev { struct 69 #define stream_to_azx_dev(s) container_of(s, struct azx_dev, core) argument 78 int (*position_check)(struct azx *chip, struct azx_dev *azx_dev); 91 typedef unsigned int (*azx_get_pos_callback_t)(struct azx *, struct azx_dev *); 92 typedef int (*azx_get_delay_callback_t)(struct azx *, struct azx_dev *, unsigned int pos); 150 struct azx_dev saved_azx_dev; 183 static inline struct azx_dev *get_azx_dev(struct snd_pcm_substream *substream) in get_azx_dev() 187 unsigned int azx_get_position(struct azx *chip, struct azx_dev *azx_dev); 188 unsigned int azx_get_pos_lpib(struct azx *chip, struct azx_dev *azx_dev); 189 unsigned int azx_get_pos_posbuf(struct azx *chip, struct azx_dev *azx_dev);
|
D | hda_intel.c | 572 static int azx_get_delay_from_lpib(struct azx *chip, struct azx_dev *azx_dev, in azx_get_delay_from_lpib() argument 575 struct snd_pcm_substream *substream = azx_dev->core.substream; in azx_get_delay_from_lpib() 577 unsigned int lpib_pos = azx_get_pos_lpib(chip, azx_dev); in azx_get_delay_from_lpib() 585 if (delay >= azx_dev->core.delay_negative_threshold) in azx_get_delay_from_lpib() 588 delay += azx_dev->core.bufsize; in azx_get_delay_from_lpib() 591 if (delay >= azx_dev->core.period_bytes) { in azx_get_delay_from_lpib() 594 delay, azx_dev->core.period_bytes); in azx_get_delay_from_lpib() 603 static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev); 606 static int azx_position_check(struct azx *chip, struct azx_dev *azx_dev) in azx_position_check() argument 611 ok = azx_position_ok(chip, azx_dev); in azx_position_check() [all …]
|
/linux-6.6.21/include/sound/ |
D | hdaudio.h | 567 void snd_hdac_stream_init(struct hdac_bus *bus, struct hdac_stream *azx_dev, 571 void snd_hdac_stream_release_locked(struct hdac_stream *azx_dev); 572 void snd_hdac_stream_release(struct hdac_stream *azx_dev); 576 int snd_hdac_stream_setup(struct hdac_stream *azx_dev); 577 void snd_hdac_stream_cleanup(struct hdac_stream *azx_dev); 578 int snd_hdac_stream_setup_periods(struct hdac_stream *azx_dev); 579 int snd_hdac_stream_set_params(struct hdac_stream *azx_dev, 581 void snd_hdac_stream_start(struct hdac_stream *azx_dev); 582 void snd_hdac_stream_stop(struct hdac_stream *azx_dev); 585 void snd_hdac_stream_reset(struct hdac_stream *azx_dev); [all …]
|
D | hdaudio_ext.h | 83 struct hdac_ext_stream *azx_dev, bool decouple);
|