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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/spinlock.hlinux/atomic.hsound/core.hsound/pcm.hlx_core.h
Detected Declarations
struct lx_streamstruct lx6464esenum lx_stream_status
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
- Immediate include surface: `linux/spinlock.h`, `linux/atomic.h`, `sound/core.h`, `sound/pcm.h`, `lx_core.h`.
- Detected declarations: `struct lx_stream`, `struct lx6464es`, `enum lx_stream_status`.
- Atlas domain: Driver Families / sound/pci.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.