Использование DMA в драйверах

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
IMB
Сообщения: 2561
ОС: Debian

Использование DMA в драйверах

Сообщение IMB »

Доброго дня!
Читал LinuxDeviceDriver, chapter 13 "mmap and DMA", но что-то, возможно в силу не очень хорошего знания языка, у меня не сложилось картины как необходимо программировать драйвер на использование DMA. В поиске, к сожалению, тоже ничего неайдено не было, но я не оставляю попыток.
Вопрос - может ли кто-нибудь поделится ссылкой, желательно на русском, с описанием применения DMA в драйверах или привести код с комментариями? На данный момент я даже не представляю с какой стороны подойти к решению вопроса.
Спасибо!
Спасибо сказали:
Аватара пользователя
stari_maček
Сообщения: 116
ОС: RFRemix 18

Re: Использование DMA в драйверах

Сообщение stari_maček »

IMB писал(а):
02.11.2009 14:20
Доброго дня!
Читал LinuxDeviceDriver, chapter 13 "mmap and DMA", но что-то, возможно в силу не очень хорошего знания языка, у меня не сложилось картины как необходимо программировать драйвер на использование DMA. В поиске, к сожалению, тоже ничего неайдено не было, но я не оставляю попыток.
Вопрос - может ли кто-нибудь поделится ссылкой, желательно на русском, с описанием применения DMA в драйверах или привести код с комментариями? На данный момент я даже не представляю с какой стороны подойти к решению вопроса.
Спасибо!


DMA - штука платформо-зависимая, нужно хорошо понимать, что за устройство мы программируем, имеется ли у него встроенная DMA машина, есть ли на чипе универсальный DMA контроллер и можно ли его задействовать для ввода-вывода с устройства, и только потом решать, как это сделать.

Если я правильно помню, в той главе не рассматриваются конкретные примеры программирования именно DMA контроллера, а лишь правила выделения памяти под DMA буфер и его мапирование в пользовательское пространство.

У меня есть курсач на эту тему, но он на английском. Если надо, пришлю, пиши в личку. Что не понятно будет - поясню.
Спасибо сказали:
Аватара пользователя
PodBot
Сообщения: 13
ОС: GNU/Linux

Re: Использование DMA в драйверах

Сообщение PodBot »

IMB писал(а):
02.11.2009 14:20
Доброго дня!
Читал LinuxDeviceDriver, chapter 13 "mmap and DMA", но что-то, возможно в силу не очень хорошего знания языка, у меня не сложилось картины как необходимо программировать драйвер на использование DMA. В поиске, к сожалению, тоже ничего неайдено не было, но я не оставляю попыток.
Вопрос - может ли кто-нибудь поделится ссылкой, желательно на русском, с описанием применения DMA в драйверах или привести код с комментариями? На данный момент я даже не представляю с какой стороны подойти к решению вопроса.
Спасибо!


http://lwn.net/2001/0712/a/dma-interface.php3 Неплохо написано.
drivers/net/xxxx
Как напарника для документа можно взять к примеру drivers/net/sis900.c
(probe function, rx и tx paths)
Спасибо сказали:
Ответить