- . -

... А деструктор?

- 1 -

1) Проверяем и увеличиваем индекс устройства

1. Создание с помощью snd_card_create()

- 2 -

2) Создаём экземпляр карты

2. Создание дополнительного устройства

- 3 -

3) Создаём основной компонент

- 4 -

4) Устанавливаем идентификатор драйвера и строки названий

- 5 -

5) Создаём другие компоненты, такие как микшер, MIDI, и так далее

- 6 -

6) Регистрируем экземпляр карты

- 7 -

7) Устанавливаем данные PCI драйвера и возвращаем ноль

- C -

core/ioctl32

core/oss

core/seq

core/seq/instr

core/seq/oss

- D -

drivers/mpu401

drivers/opl3 и opl4

- F -

FM OPL3

- I -

i2c/l3

IEC958 (S/PDIF)

- S -

snd_BUG()

snd_BUG_ON()

snd_printk() и друзья

- А -

Атомарность

- Б -

Буферы, выделенные с помощью vmalloc

Буферы, состоящие из несмежных участков

- В -

Внешние аппаратные буферы

Выделение ресурсов

- Г -

Глава 1. Структура файлового дерева

Каталог core

Каталог drivers

Каталог i2c

Каталог isa

Каталог oss

Каталог pci

Каталог pcmcia

Каталог usb

Каталоги arm, ppc и sparc

Общие сведения

Глава 10. Прочие устройства

FM OPL3

IEC958 (S/PDIF)

Устройства, зависящие от оборудования

Глава 11. Управление буфером и памятью

Буферы, выделенные с помощью vmalloc

Буферы, состоящие из несмежных участков

Внешние аппаратные буферы

Типы буферов

Глава 12. Интерфейс Proc

Глава 13. Управление питанием

Глава 14. Параметры модуля

Глава 15. Как поместить драйвер в дерево ALSA

Драйверы с исходниками в нескольких файлах

Драйверы с исходниками в одном файле

Общие сведения

Глава 16. Полезные функции

snd_BUG()

snd_BUG_ON()

snd_printk() и друзья

Глава 17. Благодарности

Глава 2. Основная технология для PCI драйверов

Деструктор

Заголовочные файлы

Конструктор

Краткое описание

Полный пример кода

Глава 3. Управление картами и компонентами

Данные, зависимые от используемого чипа

Компоненты

Регистрация и освобождение памяти

Экземпляр карты

Глава 4. Управление ресурсами PCI

Выделение ресурсов

Кое-что из того, что требуется сделать

Полный пример кода

Регистрация PCI

Регистрация структуры устройства

Глава 5. Интерфейс PCM

... А деструктор?

Атомарность

Конструктор

Обработчик прерывания

Общие сведения

Ограничения

Операции

Полный пример кода

Рабочий указатель - хранение информации PCM

Глава 6. Интерфейс Control

Имена элементов управления

Конструктор

Метаданные

Обратные вызовы

Общие сведения

Создание элементов управления

Уведомление об изменении

Флаги доступа

Глава 7. API для кодека AC97

Конструктор

Несколько кодеков

Обновление регистров в драйвере

Обратные вызовы

Общие сведения

Полный пример кода

Регулировка тактовой частоты

Файлы интерфейса Proc

Глава 8. Интерфейс MIDI (MPU401-UART)

Конструктор

Обработчик прерывания

Общие сведения

Глава 9. Интерфейс RawMIDI

Конструктор

Обзор

Обратные вызовы

- Д -

Данные, зависимые от используемого чипа

1. Создание с помощью snd_card_create()

2. Создание дополнительного устройства

Деструктор

Драйверы с исходниками в нескольких файлах

Драйверы с исходниками в одном файле

- З -

Заголовочные файлы

Закрытые данные

- И -

Имена элементов управления

Основной захват и воспроизведение

Увеличение усиления микрофона

Элементы управления 3D

Элементы управления тембром

Информация о буфере DMA

- К -

Как написать драйвер ALSA

Каталог core

core/ioctl32

core/oss

core/seq

core/seq/instr

core/seq/oss

Каталог drivers

drivers/mpu401

drivers/opl3 и opl4

Каталог i2c

i2c/l3

Каталог isa

Каталог oss

Каталог pci

Каталог pcmcia

Каталог usb

Каталоги arm, ppc и sparc

Кое-что из того, что требуется сделать

Компоненты

Конструктор

IconГлава 2. Основная технология для PCI драйверов
IconГлава 5. Интерфейс PCM
IconГлава 6. Интерфейс Control
IconГлава 7. API для кодека AC97
IconГлава 8. Интерфейс MIDI (MPU401-UART)
IconГлава 9. Интерфейс RawMIDI

1) Проверяем и увеличиваем индекс устройства

2) Создаём экземпляр карты

3) Создаём основной компонент

4) Устанавливаем идентификатор драйвера и строки названий

5) Создаём другие компоненты, такие как микшер, MIDI, и так далее

6) Регистрируем экземпляр карты

7) Устанавливаем данные PCI драйвера и возвращаем ноль

Конфигурации PCM

Краткое описание

- М -

Метаданные

- Н -

Несколько кодеков

- О -

О вызове snd_pcm_period_elapsed()

Обзор

Обновление регистров в драйвере

Обработчик прерывания

IconГлава 5. Интерфейс PCM
IconГлава 8. Интерфейс MIDI (MPU401-UART)

О вызове snd_pcm_period_elapsed()

Прерывания на границе периода (фрагмента)

Прерывания по высокочастотному таймеру

Обратные вызовы

IconГлава 6. Интерфейс Control
IconГлава 7. API для кодека AC97
IconГлава 9. Интерфейс RawMIDI

Обратные вызовы не атомарны

Обратный вызов close

Обратный вызов drain

Обратный вызов get

Обратный вызов info

Обратный вызов open

Обратный вызов put

Обратный вызов trigger для выходных субпотоков

Обратный вызов trigger для субпотоков ввода

Обратные вызовы copy и silence

Обратные вызовы не атомарны

Обратные вызовы прерывания

Обратный вызов ack

Обратный вызов close

IconГлава 5. Интерфейс PCM
IconГлава 9. Интерфейс RawMIDI

Обратный вызов drain

Обратный вызов get

Обратный вызов hw_free

Обратный вызов hw_params

Обратный вызов info

Обратный вызов ioctl

Обратный вызов open

IconГлава 5. Интерфейс PCM
IconГлава 9. Интерфейс RawMIDI

Обратный вызов page

Обратный вызов pointer

Обратный вызов prepare

Обратный вызов put

Обратный вызов trigger

Обратный вызов trigger для выходных субпотоков

Обратный вызов trigger для субпотоков ввода

Общие сведения

IconГлава 1. Структура файлового дерева
IconГлава 5. Интерфейс PCM
IconГлава 6. Интерфейс Control
IconГлава 7. API для кодека AC97
IconГлава 8. Интерфейс MIDI (MPU401-UART)
IconГлава 15. Как поместить драйвер в дерево ALSA

Ограничения

Операции

Обратные вызовы copy и silence

Обратный вызов ack

Обратный вызов close

Обратный вызов hw_free

Обратный вызов hw_params

Обратный вызов ioctl

Обратный вызов open

Обратный вызов page

Обратный вызов pointer

Обратный вызов prepare

Обратный вызов trigger

Основной захват и воспроизведение

- П -

Параметры оборудования

Полный пример кода

IconГлава 2. Основная технология для PCI драйверов
IconГлава 4. Управление ресурсами PCI
IconГлава 5. Интерфейс PCM
IconГлава 7. API для кодека AC97

Предисловие

Прерывания на границе периода (фрагмента)

Прерывания по высокочастотному таймеру

- Р -

Рабочий указатель - хранение информации PCM

Закрытые данные

Информация о буфере DMA

Конфигурации PCM

Обратные вызовы прерывания

Параметры оборудования

Статус выполнения

Регистрация PCI

Регистрация и освобождение памяти

Регистрация структуры устройства

Регулировка тактовой частоты

- С -

Создание элементов управления

Статус выполнения

- Т -

Типы буферов

- У -

Уведомление об изменении

Увеличение усиления микрофона

Устройства, зависящие от оборудования

- Ф -

Файлы интерфейса Proc

Флаги доступа

- Э -

Экземпляр карты

Элементы управления 3D

Элементы управления тембром