Приветствую уважаемые! Осваиваю тему написания драйверов устройств под Linux с использованием DMA. Читаю документацию по DMA API. Там есть такие слова: The query for streaming mappings is performed via a call to dma_set_mask():
int dma_set_mask(struct device *dev, u64 mask);
The query for consistent allocations is performed via a call to dma_set_coherent_mask():
int dma_set_coherent_mask(struct device *dev, u64 mask);
В целом понятно, что функции проверяют способность DMA аппаратуры работать с адресами, маска которых передается в параметре mask. Но мне не понятно следующее: 1. Что подразумевается под streaming mappings и под consistent allocations? 2. В чем различие этих двух ф-ций? 3. Что значит слово coherent в данном контексте?
Сообщение отредактировал Gleb80 - Jul 2 2015, 11:15
|