[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: _bus_dmamem_alloc_range()



----- Original Message -----
From: "Katsuomi Hamajima/濱嶋克臣" <hamajima@nagoya.ydc.co.jp>
To: <port-hpcmips-ja@jp.netbsd.org>
Sent: Thursday, January 03, 2002 11:58 AM
Subject: _bus_dmamem_alloc_range()


> 濱嶋です。
>
> 作りかけて止まっていたVR4121のAIUドライバを一年ぶりに再開したのですが、
> 以前は include/bus.h に宣言だけあった _bus_dmamem_alloc_range() が無く
> なっていてbus_dmaまわりの定義方法が変わっているのに今ごろ気づきました。

必要に迫られて機械的に書き換えたので、結構いい加減というか、
よくわかっていない部分もあります。すみません。

> どのように追加するのが正しいのでしょうか? 単純にbus_dma_opsとか
> __bd_opsとかbus_dma_protosに追加しても良いものなのでしょうか?

_bus_dmamem... のように _ で始まるものは man bus_dma に記述がない、
内部使用のみの関数なので、この場合は bus_dmamem_alloc を使えば
よいのではないでしょうか。
DMA の制限で 64MB 以下のメモリを確保する必要があるとのことですが、
その場合は bus_dmamem_allooc が 64MB 以下のメモリを確保するという
のが正しいと思います。
bus_dma_alloc を実装するための手段として _bus_dmamem_alloc_rangeを
追加するには、bus_dma_hpcmips.h に追加するのがよいと思います。
関数ポインタにしなくても、_hpcmips_bd_mem_alloc_range などという名前に
すればよいのではないでしょうか。

Takemura