sound/pci/lx6464es/lx6464es.h

Source file repositories/reference/linux-study-clean/sound/pci/lx6464es/lx6464es.h

File Facts

System
Linux kernel
Corpus path
sound/pci/lx6464es/lx6464es.h
Extension
.h
Size
2396 bytes
Lines
96
Domain
Driver Families
Bucket
sound/pci
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 lx_stream {
	struct snd_pcm_substream  *stream;
	snd_pcm_uframes_t          frame_pos;
	enum lx_stream_status      status; /* free, open, running, draining
					    * pause */
	unsigned int               is_capture:1;
};


struct lx6464es {
	struct snd_card        *card;
	struct pci_dev         *pci;
	int			irq;

	u8			mac_address[6];

	struct mutex		lock;        /* interrupt lock */
	struct mutex            setup_mutex; /* mutex used in hw_params, open
					      * and close */

	/* ports */
	unsigned long		port_plx;	   /* io port (size=256) */
	void __iomem           *port_plx_remapped; /* remapped plx port */
	void __iomem           *port_dsp_bar;      /* memory port (32-bit,
						    * non-prefetchable,
						    * size=8K) */

	/* messaging */
	struct mutex		msg_lock;          /* message lock */
	struct lx_rmh           rmh;
	u32			irqsrc;

	/* configuration */
	uint			freq_ratio : 2;
	uint                    playback_mute : 1;
	uint                    hardware_running[2];
	u32                     board_sample_rate; /* sample rate read from
						    * board */
	u16                     pcm_granularity;   /* board blocksize */

	/* dma */
	struct snd_dma_buffer   capture_dma_buf;
	struct snd_dma_buffer   playback_dma_buf;

	/* pcm */
	struct snd_pcm         *pcm;

	/* streams */
	struct lx_stream        capture_stream;
	struct lx_stream        playback_stream;
};


#endif /* LX6464ES_H */

Annotation

Implementation Notes