自分の制御外に割り当てられたメモリ バッファの DMA マッピングをセットアップしたいと考えています。dma_map_single は使用するのに適した API のように見えますが、私の HW には制限があり、マッピングが 2 のべき乗の境界を越えてはならない、たとえば 1K などがあります。マップされるバッファーのサイズは、常に境界値より小さくなりますが、それ以外は可変です。そのため、「割り当て」の部分は私が必要としているものですが、固定サイズが必要なため、DMA プールが機能しない可能性があります。
dma_map_single を実行し続けて、マッピングが要件を満たしているかどうかを確認し、そうでない場合はマッピングをリリースする必要がありますか? これにより、同じマッピングが返される可能性があり、終わりのない検索が発生する可能性がありますか? もしそうなら、適合するものが見つかるまで適合しないマッピングに固執し、適合しないすべてのマッピングを一度に解放することができます。ただし、これらは良いアイデアとは思えません。
他の/より良いアイデアを持っている人はいますか?
ありがとう。