Lines Matching defs:hdac_bus
290 struct hdac_bus { struct
292 const struct hdac_bus_ops *ops; argument
293 const struct hdac_ext_bus_ops *ext_ops;
296 unsigned long addr;
297 void __iomem *remap_addr;
298 int irq;
300 void __iomem *ppcap;
301 void __iomem *spbcap;
302 void __iomem *mlcap;
303 void __iomem *gtscap;
304 void __iomem *drsmcap;
307 struct list_head codec_list;
308 unsigned int num_codecs;
311 struct hdac_device *caddr_tbl[HDA_MAX_CODEC_ADDRESS + 1];
314 u32 unsol_queue[HDA_UNSOL_QUEUE_SIZE * 2]; /* ring buffer */
315 unsigned int unsol_rp, unsol_wp;
316 struct work_struct unsol_work;
319 unsigned long codec_mask;
322 unsigned long codec_powered;
325 struct hdac_rb corb;
326 struct hdac_rb rirb;
327 unsigned int last_cmd[HDA_MAX_CODECS]; /* last sent command */
328 wait_queue_head_t rirb_wq;
331 struct snd_dma_buffer rb;
332 struct snd_dma_buffer posbuf;
333 int dma_type; /* SNDRV_DMA_TYPE_XXX for CORB/RIRB */
336 struct list_head stream_list;
339 bool chip_init:1; /* h/w initialized */
342 bool aligned_mmio:1; /* aligned MMIO access */
343 bool sync_write:1; /* sync after verb write */
344 bool use_posbuf:1; /* use position buffer */
345 bool snoop:1; /* enable snooping */
346 bool align_bdle_4k:1; /* BDLE align 4K boundary */
347 bool reverse_assign:1; /* assign devices in reverse order */
348 bool corbrp_self_clear:1; /* CORBRP clears itself after reset */
349 bool polling_mode:1;
350 bool needs_damn_long_delay:1;
351 bool not_use_interrupts:1; /* prohibiting the RIRB IRQ */
352 bool access_sdnctl_in_dword:1; /* accessing the sdnctl register by dword */
354 int poll_count;
356 int bdl_pos_adj; /* BDL position adjustment */
359 unsigned int dma_stop_delay;
383 int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, argument