[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: _bus_dmamem_alloc_range()
濱嶋です。
>> どのように追加するのが正しいのでしょうか? 単純にbus_dma_opsとか
>> __bd_opsとかbus_dma_protosに追加しても良いものなのでしょうか?
>
> _bus_dmamem... のように _ で始まるものは man bus_dma に記述がない、
> 内部使用のみの関数なので、この場合は bus_dmamem_alloc を使えば
> よいのではないでしょうか。
> DMA の制限で 64MB 以下のメモリを確保する必要があるとのことですが、
> その場合は bus_dmamem_allooc が 64MB 以下のメモリを確保するという
> のが正しいと思います。
はなしはふたつありまして、aiuから見た場合はdcu(vr用bus_dma)の
bus_dmamem_allocを使うようにしています。dcuでは、64MB以下のメモリを確
保するのにhpcmips用のbus_dmamem_alloc_rangeを使いたい、ということです。
dcuにhpcmips_bd_mem_allocのコードをコピーして使うとメンテナンス性が悪
くなるので、hpcmipsのbus_dmaにdmamem_alloc_rangeがあればvrもhpcmipsも
dmamem_allocはこれを利用すればすっきり収まると考えました。
> bus_dma_alloc を実装するための手段として _bus_dmamem_alloc_rangeを
> 追加するには、bus_dma_hpcmips.h に追加するのがよいと思います。
> 関数ポインタにしなくても、_hpcmips_bd_mem_alloc_range などという名前に
> すればよいのではないでしょうか。
他はすべてマクロでhpcmips_bd_xxxに展開されているので、そのまま書いてよ
いものか悩んだのですが、_hpcmips_bd_mem_alloc_rangeの名前にして以前と
同じように_HPCMIPS_BUS_DMA_PRIVATEで囲っておきます。
ところでこのコードをこのままにしておくとまた取り残されてしまいそうなの
で、この部分(hpcmipsのbus_dma)だけでもマージをお願いしたいのですが、こ
こに流せばよろしいでしょうか?