sound/soc/tegra/tegra210_ope.h

Source file repositories/reference/linux-study-clean/sound/soc/tegra/tegra210_ope.h

File Facts

System
Linux kernel
Corpus path
sound/soc/tegra/tegra210_ope.h
Extension
.h
Size
2501 bytes
Lines
91
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 tegra210_ope {
	struct regmap *regmap;
	struct regmap *peq_regmap;
	struct regmap *mbdrc_regmap;
	u32 peq_biquad_gains[TEGRA210_PEQ_GAIN_PARAM_SIZE_PER_CH];
	u32 peq_biquad_shifts[TEGRA210_PEQ_SHIFT_PARAM_SIZE_PER_CH];
	unsigned int data_dir;
};

/* Extension of soc_bytes structure defined in sound/soc.h */
struct tegra_soc_bytes {
	struct soc_bytes soc;
	u32 shift; /* Used as offset for AHUB RAM related programing */
};

/* Utility structures for using mixer control of type snd_soc_bytes */
#define TEGRA_SOC_BYTES_EXT(xname, xbase, xregs, xshift, xmask,		\
			    xhandler_get, xhandler_put, xinfo)		\
{									\
	.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,				\
	.name	= xname,						\
	.info	= xinfo,						\
	.get	= xhandler_get,						\
	.put	= xhandler_put,						\
	.private_value = ((unsigned long)&(struct tegra_soc_bytes)	\
	{								\
		.soc.base	= xbase,				\
		.soc.num_regs	= xregs,				\
		.soc.mask	= xmask,				\
		.shift		= xshift				\
	})								\
}

#endif

Annotation

Implementation Notes