hdaudio.h (a108772d03d8bdb43258218b00bfe43bbe1e8800) hdaudio.h (2ea13c83bf7bb3471e33b2d902b101af977ef2d4)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * HD-audio core stuff
4 */
5
6#ifndef __SOUND_HDAUDIO_H
7#define __SOUND_HDAUDIO_H
8
9#include <linux/device.h>
10#include <linux/interrupt.h>
11#include <linux/io.h>
12#include <linux/io-64-nonatomic-lo-hi.h>
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * HD-audio core stuff
4 */
5
6#ifndef __SOUND_HDAUDIO_H
7#define __SOUND_HDAUDIO_H
8
9#include <linux/device.h>
10#include <linux/interrupt.h>
11#include <linux/io.h>
12#include <linux/io-64-nonatomic-lo-hi.h>
13#include <linux/iopoll.h>
13#include <linux/pm_runtime.h>
14#include <linux/timecounter.h>
15#include <sound/core.h>
16#include <sound/pcm.h>
17#include <sound/memalloc.h>
18#include <sound/hda_verbs.h>
19#include <drm/i915_component.h>
20

--- 534 unchanged lines hidden (view full) ---

555 int dir, int stream_tag);
556
557int snd_hdac_stream_setup(struct hdac_stream *azx_dev);
558void snd_hdac_stream_cleanup(struct hdac_stream *azx_dev);
559int snd_hdac_stream_setup_periods(struct hdac_stream *azx_dev);
560int snd_hdac_stream_set_params(struct hdac_stream *azx_dev,
561 unsigned int format_val);
562void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start);
14#include <linux/pm_runtime.h>
15#include <linux/timecounter.h>
16#include <sound/core.h>
17#include <sound/pcm.h>
18#include <sound/memalloc.h>
19#include <sound/hda_verbs.h>
20#include <drm/i915_component.h>
21

--- 534 unchanged lines hidden (view full) ---

556 int dir, int stream_tag);
557
558int snd_hdac_stream_setup(struct hdac_stream *azx_dev);
559void snd_hdac_stream_cleanup(struct hdac_stream *azx_dev);
560int snd_hdac_stream_setup_periods(struct hdac_stream *azx_dev);
561int snd_hdac_stream_set_params(struct hdac_stream *azx_dev,
562 unsigned int format_val);
563void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start);
563void snd_hdac_stream_clear(struct hdac_stream *azx_dev);
564void snd_hdac_stream_stop(struct hdac_stream *azx_dev);
565void snd_hdac_stop_streams_and_chip(struct hdac_bus *bus);
566void snd_hdac_stream_reset(struct hdac_stream *azx_dev);
567void snd_hdac_stream_sync_trigger(struct hdac_stream *azx_dev, bool set,
568 unsigned int streams, unsigned int reg);
569void snd_hdac_stream_sync(struct hdac_stream *azx_dev, bool start,
570 unsigned int streams);
571void snd_hdac_stream_timecounter_init(struct hdac_stream *azx_dev,

--- 12 unchanged lines hidden (view full) ---

584#define snd_hdac_stream_writeb(dev, reg, value) \
585 snd_hdac_reg_writeb((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg, value)
586#define snd_hdac_stream_readl(dev, reg) \
587 snd_hdac_reg_readl((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
588#define snd_hdac_stream_readw(dev, reg) \
589 snd_hdac_reg_readw((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
590#define snd_hdac_stream_readb(dev, reg) \
591 snd_hdac_reg_readb((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
564void snd_hdac_stream_stop(struct hdac_stream *azx_dev);
565void snd_hdac_stop_streams_and_chip(struct hdac_bus *bus);
566void snd_hdac_stream_reset(struct hdac_stream *azx_dev);
567void snd_hdac_stream_sync_trigger(struct hdac_stream *azx_dev, bool set,
568 unsigned int streams, unsigned int reg);
569void snd_hdac_stream_sync(struct hdac_stream *azx_dev, bool start,
570 unsigned int streams);
571void snd_hdac_stream_timecounter_init(struct hdac_stream *azx_dev,

--- 12 unchanged lines hidden (view full) ---

584#define snd_hdac_stream_writeb(dev, reg, value) \
585 snd_hdac_reg_writeb((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg, value)
586#define snd_hdac_stream_readl(dev, reg) \
587 snd_hdac_reg_readl((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
588#define snd_hdac_stream_readw(dev, reg) \
589 snd_hdac_reg_readw((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
590#define snd_hdac_stream_readb(dev, reg) \
591 snd_hdac_reg_readb((dev)->bus, (dev)->sd_addr + AZX_REG_ ## reg)
592#define snd_hdac_stream_readb_poll(dev, reg, val, cond, delay_us, timeout_us) \
593 readb_poll_timeout((dev)->sd_addr + AZX_REG_ ## reg, val, cond, \
594 delay_us, timeout_us)
595#define snd_hdac_stream_readl_poll(dev, reg, val, cond, delay_us, timeout_us) \
596 readl_poll_timeout((dev)->sd_addr + AZX_REG_ ## reg, val, cond, \
597 delay_us, timeout_us)
592
593/* update a register, pass without AZX_REG_ prefix */
594#define snd_hdac_stream_updatel(dev, reg, mask, val) \
595 snd_hdac_stream_writel(dev, reg, \
596 (snd_hdac_stream_readl(dev, reg) & \
597 ~(mask)) | (val))
598#define snd_hdac_stream_updatew(dev, reg, mask, val) \
599 snd_hdac_stream_writew(dev, reg, \

--- 71 unchanged lines hidden ---
598
599/* update a register, pass without AZX_REG_ prefix */
600#define snd_hdac_stream_updatel(dev, reg, mask, val) \
601 snd_hdac_stream_writel(dev, reg, \
602 (snd_hdac_stream_readl(dev, reg) & \
603 ~(mask)) | (val))
604#define snd_hdac_stream_updatew(dev, reg, mask, val) \
605 snd_hdac_stream_writew(dev, reg, \

--- 71 unchanged lines hidden ---