Subject: bus_dma on jazzio (Re: asc driver???)
To: None <ur@a-r.org, soda@sra.co.jp>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-arc
Date: 02/21/2001 20:10:15
In <87hf1sbrc9.wl@alicia.a-r.org>
ur@a-r.org wrote:

> I'm not sure about current arc asc driver status, but I think
> it should replace to MI ncr53c9x driver.

I take a look at current asc.c and bus_dma_jazz.c functions,
and now have some questions:

1) I guess jazzio devices use virtual address translated by
   jazz_dmatlb_*() functions on DMA transfers. Is this right?

2) Even in MD device drivers, should we use MI bus_dma(9) framework
   to handle DMA rather than private DMA functions like jazz/dma.c?

3) I think DMA buffer which has linear address in CPU VA space
   can also be mapped to linear jazzio DMA VA space.
   But current jazz_bus_dmamap_load() calls generic _bus_dmamap_load()
   and jazz_bus_dmamap_alloc_sgmap(), so returned dm_segs[] would not
   fit in one segment. Isn't it better to call jazz_dmatlp_map_va()
   from jazz_bus_dmamap_load() directly like jazz/dma.c:picaDmaMap() ?

Anyway, I think it is easy to switch MI ncr53c9x driver.
It's requires only glue functions and some DMA stuff
like sys/dev/pci/pcscp.c.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp