3

DMA トランザクション用のバッファの割り当てを検討していました。これを行うには、コヒーレント マッピングまたはストリーミング マッピングの 2 つの方法があることを読みました。

ここで、キャッシュ コヒーレント バッファが必要です。ただし、スキャッター/ギャザーを実行していないため、dma_map_single呼び出しの利点が必要です。bootargs にいくつかの連続したメモリを確保して、常に十分な連続したメモリを利用できるようにしています。

だから私は疑問に思っていました、私たちはそれを呼び出してから、返される仮想アドレスでそれdma_alloc_coherentを呼び出すことができますか? マップ シングルの返された物理アドレスは、その呼び出しで返された dma ハンドルとして設定されます。dma_map_singledma_alloc_coherentdma_alloc_coherent

これは理にかなっていますか?それとも、このようにするのは不必要ですか/間違っていますか?

4

1 に答える 1