#include <linux/acpi.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <acpi/nhlt.h>
#include <sound/hda_codec.h>
#include <sound/hda_i915.h>
#include <sound/hda_register.h>
#include <sound/hdaudio.h>
#include <sound/hdaudio_ext.h>
#include <sound/intel-dsp-config.h>
#include "../../codecs/hda.h"
#include "avs.h"
#include "cldma.h"
#include "messages.h"
#include "pcm.h"
static u32 pgctl_mask = …;
module_param(pgctl_mask, uint, 0444);
MODULE_PARM_DESC(…) …;
static u32 cgctl_mask = …;
module_param(cgctl_mask, uint, 0444);
MODULE_PARM_DESC(…) …;
static void
avs_hda_update_config_dword(struct hdac_bus *bus, u32 reg, u32 mask, u32 value)
{ … }
void avs_hda_power_gating_enable(struct avs_dev *adev, bool enable)
{ … }
static void avs_hdac_clock_gating_enable(struct hdac_bus *bus, bool enable)
{ … }
void avs_hda_clock_gating_enable(struct avs_dev *adev, bool enable)
{ … }
void avs_hda_l1sen_enable(struct avs_dev *adev, bool enable)
{ … }
static int avs_hdac_bus_init_streams(struct hdac_bus *bus)
{ … }
static bool avs_hdac_bus_init_chip(struct hdac_bus *bus, bool full_reset)
{ … }
static int probe_codec(struct hdac_bus *bus, int addr)
{ … }
static void avs_hdac_bus_probe_codecs(struct hdac_bus *bus)
{ … }
static void avs_hda_probe_work(struct work_struct *work)
{ … }
static void hdac_stream_update_pos(struct hdac_stream *stream, u64 buffer_size)
{ … }
static void hdac_update_stream(struct hdac_bus *bus, struct hdac_stream *stream)
{ … }
static irqreturn_t avs_hda_interrupt(struct hdac_bus *bus)
{ … }
static irqreturn_t avs_hda_irq_handler(int irq, void *dev_id)
{ … }
static irqreturn_t avs_hda_irq_thread(int irq, void *dev_id)
{ … }
static irqreturn_t avs_dsp_irq_handler(int irq, void *dev_id)
{ … }
static irqreturn_t avs_dsp_irq_thread(int irq, void *dev_id)
{ … }
static int avs_hdac_acquire_irq(struct avs_dev *adev)
{ … }
static int avs_bus_init(struct avs_dev *adev, struct pci_dev *pci, const struct pci_device_id *id)
{ … }
static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
{ … }
static void avs_pci_shutdown(struct pci_dev *pci)
{ … }
static void avs_pci_remove(struct pci_dev *pci)
{ … }
static int avs_suspend_standby(struct avs_dev *adev)
{ … }
static int __maybe_unused avs_suspend_common(struct avs_dev *adev, bool low_power)
{ … }
static int avs_resume_standby(struct avs_dev *adev)
{ … }
static int __maybe_unused avs_resume_common(struct avs_dev *adev, bool low_power, bool purge)
{ … }
static int __maybe_unused avs_suspend(struct device *dev)
{ … }
static int __maybe_unused avs_resume(struct device *dev)
{ … }
static int __maybe_unused avs_runtime_suspend(struct device *dev)
{ … }
static int __maybe_unused avs_runtime_resume(struct device *dev)
{ … }
static int __maybe_unused avs_freeze(struct device *dev)
{ … }
static int __maybe_unused avs_thaw(struct device *dev)
{ … }
static int __maybe_unused avs_poweroff(struct device *dev)
{ … }
static int __maybe_unused avs_restore(struct device *dev)
{ … }
static const struct dev_pm_ops avs_dev_pm = …;
static const struct avs_sram_spec skl_sram_spec = …;
static const struct avs_sram_spec apl_sram_spec = …;
static const struct avs_hipc_spec skl_hipc_spec = …;
static const struct avs_hipc_spec cnl_hipc_spec = …;
static const struct avs_spec skl_desc = …;
static const struct avs_spec apl_desc = …;
static const struct avs_spec cnl_desc = …;
static const struct avs_spec icl_desc = …;
static const struct avs_spec jsl_desc = …;
#define AVS_TGL_BASED_SPEC(sname) …
AVS_TGL_BASED_SPEC(lkf);
AVS_TGL_BASED_SPEC(tgl);
AVS_TGL_BASED_SPEC(ehl);
AVS_TGL_BASED_SPEC(adl);
AVS_TGL_BASED_SPEC(adl_n);
static const struct pci_device_id avs_ids[] = …;
MODULE_DEVICE_TABLE(pci, avs_ids);
static struct pci_driver avs_pci_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;