Hi all.

I¡¯m jangwoo.

 

I have some question about l4linux DMA usage.

 

Currently if use dma_alloc_coherent api, it works well.

 

You kwow that ¡°dma_alloc_coherent¡± get virt addr and phys addr concurrently.

But most case of dma usage is to change virt addr into phys addr.

Mostly virt addr comes from generic layer of linux kernel. Os it is hard to modify.

 

So, I tried to call virt_to_phys(internal mapping l4x_virt_to_phys), but this function wasn¡¯t direct mapping.

I feel like delaying to sync between virt addr and phys addr.(when I check with Trace32)

Anyway as ¡°virt_to_phys¡± have these issues, DMA operation hit miss.

 

Currently l4linux don¡¯t support most dma function. how can I work DMA although it is expedient method?

Please.

 

p.s :

Not support dma list

dma_mmap,

___dma_single_cpu_to_dev,

___dma_page_cpu_to_dev,

___dma_page_dev_to_cpu,

dma_map_sg,

dma_sync_sg_for_cpu

etc

 

 

thanks all.