DMA Controller: dstatwb results in channel error

DMA Controller: dstatwb results in channel error


I am trying to develop my own DMA driver for Xeon Phi. The first attempt seems to work quite well. I tried to use the dstat_wb feature. However, if I try to write an address into the dstat_wb_lo and dstat_wb_hi registers the channel results in an error state when I set the descriptor ring:

Channel error register is 0x20000000. What does this bit mean? 

Do I have to write another bit in the channel control register?

The Linux driver writes this register  if model=KNC and stepping >= B0. I have a KNC and the stepping value reads 3. 



3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Partial Solved: The address was in the wrong format. The SYSMEM bit has to be set (bit 39) according to figure 2-9 of the Systems Developer Manual. The channel error is now gone.

The question remains: How can I make the DMA engine write something to the dstat_wb location when a descriptor is finished. Is this even possible?

Hi Reto,

I'm working on finding an answer to your question.



Leave a Comment

Please sign in to add a comment. Not a member? Join today