#include <linux/irqdomain.h>
#include <linux/pci.h>
#include <linux/pm_domain.h>
#include <linux/platform_device.h>
#include <sound/designware_i2s.h>
#include <sound/pcm.h>
#include <linux/acpi.h>
#include <linux/dmi.h>
#include "amdgpu.h"
#include "atom.h"
#include "amdgpu_acp.h"
#include "acp_gfx_if.h"
#define ST_JADEITE …
#define ACP_TILE_ON_MASK …
#define ACP_TILE_OFF_MASK …
#define ACP_TILE_ON_RETAIN_REG_MASK …
#define ACP_TILE_OFF_RETAIN_REG_MASK …
#define ACP_TILE_P1_MASK …
#define ACP_TILE_P2_MASK …
#define ACP_TILE_DSP0_MASK …
#define ACP_TILE_DSP1_MASK …
#define ACP_TILE_DSP2_MASK …
#define ACP_DMA_REGS_END …
#define ACP_I2S_PLAY_REGS_START …
#define ACP_I2S_PLAY_REGS_END …
#define ACP_I2S_CAP_REGS_START …
#define ACP_I2S_CAP_REGS_END …
#define ACP_I2S_COMP1_CAP_REG_OFFSET …
#define ACP_I2S_COMP2_CAP_REG_OFFSET …
#define ACP_I2S_COMP1_PLAY_REG_OFFSET …
#define ACP_I2S_COMP2_PLAY_REG_OFFSET …
#define ACP_BT_PLAY_REGS_START …
#define ACP_BT_PLAY_REGS_END …
#define ACP_BT_COMP1_REG_OFFSET …
#define ACP_BT_COMP2_REG_OFFSET …
#define mmACP_PGFSM_RETAIN_REG …
#define mmACP_PGFSM_CONFIG_REG …
#define mmACP_PGFSM_READ_REG_0 …
#define mmACP_MEM_SHUT_DOWN_REQ_LO …
#define mmACP_MEM_SHUT_DOWN_REQ_HI …
#define mmACP_MEM_SHUT_DOWN_STS_LO …
#define mmACP_MEM_SHUT_DOWN_STS_HI …
#define mmACP_CONTROL …
#define mmACP_STATUS …
#define mmACP_SOFT_RESET …
#define ACP_CONTROL__ClkEn_MASK …
#define ACP_SOFT_RESET__SoftResetAud_MASK …
#define ACP_SOFT_RESET__SoftResetAudDone_MASK …
#define ACP_CLOCK_EN_TIME_OUT_VALUE …
#define ACP_SOFT_RESET_DONE_TIME_OUT_VALUE …
#define ACP_TIMEOUT_LOOP …
#define ACP_DEVS …
#define ACP_SRC_ID …
static unsigned long acp_machine_id;
enum { … };
static int acp_sw_init(void *handle)
{ … }
static int acp_sw_fini(void *handle)
{ … }
struct acp_pm_domain { … };
static int acp_poweroff(struct generic_pm_domain *genpd)
{ … }
static int acp_poweron(struct generic_pm_domain *genpd)
{ … }
static int acp_genpd_add_device(struct device *dev, void *data)
{ … }
static int acp_genpd_remove_device(struct device *dev, void *data)
{ … }
static int acp_quirk_cb(const struct dmi_system_id *id)
{ … }
static const struct dmi_system_id acp_quirk_table[] = …;
static int acp_hw_init(void *handle)
{ … }
static int acp_hw_fini(void *handle)
{ … }
static int acp_suspend(void *handle)
{ … }
static int acp_resume(void *handle)
{ … }
static int acp_early_init(void *handle)
{ … }
static bool acp_is_idle(void *handle)
{ … }
static int acp_wait_for_idle(void *handle)
{ … }
static int acp_soft_reset(void *handle)
{ … }
static int acp_set_clockgating_state(void *handle,
enum amd_clockgating_state state)
{ … }
static int acp_set_powergating_state(void *handle,
enum amd_powergating_state state)
{ … }
static const struct amd_ip_funcs acp_ip_funcs = …;
const struct amdgpu_ip_block_version acp_ip_block = …;