sound/soc/sof/intel/shim.h

Source file repositories/reference/linux-study-clean/sound/soc/sof/intel/shim.h

File Facts

System
Linux kernel
Corpus path
sound/soc/sof/intel/shim.h
Extension
.h
Size
6714 bytes
Lines
221
Domain
Driver Families
Bucket
sound/soc
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct sof_intel_dsp_desc {
	int cores_num;
	int host_managed_cores_mask;
	int init_core_mask; /* cores available after fw boot */
	int ipc_req;
	int ipc_req_mask;
	int ipc_ack;
	int ipc_ack_mask;
	int ipc_ctl;
	int rom_status_reg;
	int rom_init_timeout;
	int ssp_count;			/* ssp count of the platform */
	int ssp_base_offset;		/* base address of the SSPs */
	u32 sdw_shim_base;
	u32 sdw_alh_base;
	u32 d0i3_offset;
	u32 quirks;
	const char *platform;
	enum sof_intel_hw_ip_version hw_ip_version;
	int (*read_sdw_lcount)(struct snd_sof_dev *sdev);
	void (*enable_sdw_irq)(struct snd_sof_dev *sdev, bool enable);
	bool (*check_sdw_irq)(struct snd_sof_dev *sdev);
	bool (*check_sdw_wakeen_irq)(struct snd_sof_dev *sdev);
	void (*sdw_process_wakeen)(struct snd_sof_dev *sdev);
	bool (*check_ipc_irq)(struct snd_sof_dev *sdev);
	bool (*check_mic_privacy_irq)(struct snd_sof_dev *sdev, bool alt, int elid);
	void (*process_mic_privacy)(struct snd_sof_dev *sdev, bool alt, int elid);
	int (*power_down_dsp)(struct snd_sof_dev *sdev);
	int (*disable_interrupts)(struct snd_sof_dev *sdev);
	int (*cl_init)(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot);
};

extern const struct snd_sof_dsp_ops sof_tng_ops;

extern const struct sof_intel_dsp_desc tng_chip_info;

struct sof_intel_stream {
	size_t posn_offset;
};

static inline const struct sof_intel_dsp_desc *get_chip_info(struct snd_sof_pdata *pdata)
{
	const struct sof_dev_desc *desc = pdata->desc;

	return desc->chip_info;
}

#endif

Annotation

Implementation Notes