sound/soc/codecs/aw88395/aw88395_device.h

Source file repositories/reference/linux-study-clean/sound/soc/codecs/aw88395/aw88395_device.h

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/aw88395/aw88395_device.h
Extension
.h
Size
5044 bytes
Lines
219
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 aw_profctrl_desc {
	unsigned int cur_mode;
};

enum {
	CALI_RESULT_NORMAL,
	CALI_RESULT_ERROR,
};

struct aw_volume_desc {
	unsigned int init_volume;
	unsigned int mute_volume;
	unsigned int ctl_volume;
	unsigned int max_volume;
};

struct aw_dsp_mem_desc {
	unsigned int dsp_madd_reg;
	unsigned int dsp_mdat_reg;
	unsigned int dsp_fw_base_addr;
	unsigned int dsp_cfg_base_addr;
};

struct aw_vmax_desc {
	unsigned int init_vmax;
};

struct aw_cali_delay_desc {
	unsigned int delay;
};

#define AW_CALI_CFG_NUM (4)
struct cali_cfg {
	uint32_t data[AW_CALI_CFG_NUM];
};

struct aw_cali_backup_desc {
	unsigned int dsp_ng_cfg;
	unsigned int dsp_lp_cfg;
};

struct aw_cali_desc {
	u32 cali_re;
	u32 ra;
	bool cali_switch;
	bool cali_running;
	uint16_t cali_result;
	uint16_t store_vol;
	struct cali_cfg cali_cfg;
	struct aw_cali_backup_desc backup_info;
};

struct aw_container {
	int len;
	u8 data[] __counted_by(len);
};

struct aw_device {
	int status;
	struct mutex dsp_lock;

	unsigned char prof_cur;
	unsigned char prof_index;
	unsigned char dsp_crc_st;
	unsigned char dsp_cfg;
	u16 chip_id;

	unsigned int channel;
	unsigned int fade_step;
	unsigned int prof_data_type;

	struct i2c_client *i2c;
	struct device *dev;
	struct regmap *regmap;
	char *acf;

	u32 dsp_fw_len;
	u32 dsp_cfg_len;
	u8 platform;
	u8 fw_status;

	unsigned int fade_in_time;
	unsigned int fade_out_time;

	struct aw_prof_info prof_info;
	struct aw_sec_data_desc crc_dsp_cfg;
	struct aw_profctrl_desc profctrl_desc;
	struct aw_volume_desc volume_desc;
	struct aw_dsp_mem_desc dsp_mem_desc;
	struct aw_vmax_desc vmax_desc;

Annotation

Implementation Notes