sound/pci/sis7019.h
Source file repositories/reference/linux-study-clean/sound/pci/sis7019.h
File Facts
- System
- Linux kernel
- Corpus path
sound/pci/sis7019.h- Extension
.h- Size
- 13021 bytes
- Lines
- 331
- 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.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef __sis7019_h__
#define __sis7019_h__
/*
* Definitions for SiS7019 Audio Accelerator
*
* Copyright (C) 2004-2007, David Dillow
* Written by David Dillow <dave@thedillows.org>
* Inspired by the Trident 4D-WaveDX/NX driver.
*
* All rights reserved.
*/
/* General Control Register */
#define SIS_GCR 0x00
#define SIS_GCR_MACRO_POWER_DOWN 0x80000000
#define SIS_GCR_MODEM_ENABLE 0x00010000
#define SIS_GCR_SOFTWARE_RESET 0x00000001
/* General Interrupt Enable Register */
#define SIS_GIER 0x04
#define SIS_GIER_MODEM_TIMER_IRQ_ENABLE 0x00100000
#define SIS_GIER_MODEM_RX_DMA_IRQ_ENABLE 0x00080000
#define SIS_GIER_MODEM_TX_DMA_IRQ_ENABLE 0x00040000
#define SIS_GIER_AC97_GPIO1_IRQ_ENABLE 0x00020000
#define SIS_GIER_AC97_GPIO0_IRQ_ENABLE 0x00010000
#define SIS_GIER_AC97_SAMPLE_TIMER_IRQ_ENABLE 0x00000010
#define SIS_GIER_AUDIO_GLOBAL_TIMER_IRQ_ENABLE 0x00000008
#define SIS_GIER_AUDIO_RECORD_DMA_IRQ_ENABLE 0x00000004
#define SIS_GIER_AUDIO_PLAY_DMA_IRQ_ENABLE 0x00000002
#define SIS_GIER_AUDIO_WAVE_ENGINE_IRQ_ENABLE 0x00000001
/* General Interrupt Status Register */
#define SIS_GISR 0x08
#define SIS_GISR_MODEM_TIMER_IRQ_STATUS 0x00100000
#define SIS_GISR_MODEM_RX_DMA_IRQ_STATUS 0x00080000
#define SIS_GISR_MODEM_TX_DMA_IRQ_STATUS 0x00040000
#define SIS_GISR_AC97_GPIO1_IRQ_STATUS 0x00020000
#define SIS_GISR_AC97_GPIO0_IRQ_STATUS 0x00010000
#define SIS_GISR_AC97_SAMPLE_TIMER_IRQ_STATUS 0x00000010
#define SIS_GISR_AUDIO_GLOBAL_TIMER_IRQ_STATUS 0x00000008
#define SIS_GISR_AUDIO_RECORD_DMA_IRQ_STATUS 0x00000004
#define SIS_GISR_AUDIO_PLAY_DMA_IRQ_STATUS 0x00000002
#define SIS_GISR_AUDIO_WAVE_ENGINE_IRQ_STATUS 0x00000001
/* DMA Control Register */
#define SIS_DMA_CSR 0x10
#define SIS_DMA_CSR_PCI_SETTINGS 0x0000001d
#define SIS_DMA_CSR_CONCURRENT_ENABLE 0x00000200
#define SIS_DMA_CSR_PIPELINE_ENABLE 0x00000100
#define SIS_DMA_CSR_RX_DRAIN_ENABLE 0x00000010
#define SIS_DMA_CSR_RX_FILL_ENABLE 0x00000008
#define SIS_DMA_CSR_TX_DRAIN_ENABLE 0x00000004
#define SIS_DMA_CSR_TX_LOWPRI_FILL_ENABLE 0x00000002
#define SIS_DMA_CSR_TX_HIPRI_FILL_ENABLE 0x00000001
/* Playback Channel Start Registers */
#define SIS_PLAY_START_A_REG 0x14
#define SIS_PLAY_START_B_REG 0x18
/* Playback Channel Stop Registers */
#define SIS_PLAY_STOP_A_REG 0x1c
#define SIS_PLAY_STOP_B_REG 0x20
/* Recording Channel Start Register */
#define SIS_RECORD_START_REG 0x24
/* Recording Channel Stop Register */
#define SIS_RECORD_STOP_REG 0x28
/* Playback Interrupt Status Registers */
#define SIS_PISR_A 0x2c
#define SIS_PISR_B 0x30
/* Recording Interrupt Status Register */
#define SIS_RISR 0x34
/* AC97 AC-link Playback Source Register */
#define SIS_AC97_PSR 0x40
#define SIS_AC97_PSR_MODEM_HEADSET_SRC_MIXER 0x0f000000
#define SIS_AC97_PSR_MODEM_LINE2_SRC_MIXER 0x00f00000
#define SIS_AC97_PSR_MODEM_LINE1_SRC_MIXER 0x000f0000
#define SIS_AC97_PSR_PCM_LFR_SRC_MIXER 0x0000f000
#define SIS_AC97_PSR_PCM_SURROUND_SRC_MIXER 0x00000f00
#define SIS_AC97_PSR_PCM_CENTER_SRC_MIXER 0x000000f0
#define SIS_AC97_PSR_PCM_LR_SRC_MIXER 0x0000000f
/* AC97 AC-link Command Register */
#define SIS_AC97_CMD 0x50
Annotation
- 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.