В API двигателя DMA я вижу только функцию DMAENGINE_PREP_SLAVE_SG (), поддерживающую функциональность DMA Scatter-Gater. Однако при изучении драйверов DMA из разных производителей эта функция работает только для режимов MEM_TO_DEV или DEV_TO_MEM. Для режима MEM_TO_MEM функция DMAENGINE_PREP_DMA_MEMCPY () в двигателе DMA, по-видимому, не поддерживает функциональность рассеяния-от-отключения. После просмотра драйверов различных производителей DMA, ни один, похоже, не обеспечивает возможность разбросана для режима MEM_TO_MEM. Поэтому я хочу понять: как Linux поддерживает разброс-собиратель в режиме MEM_TO_MEM, или он просто не поддерживает эту функцию?
Подробнее здесь: https://stackoverflow.com/questions/796 ... o-mem-mode