Software Archive
Read-only legacy content
17061 Discussions

DMA Controller: dstatwb results in channel error

Reto_A_
Beginner
741 Views

Hi, 

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. 

 

 

0 Kudos
2 Replies
Reto_A_
Beginner
741 Views

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?

0 Kudos
TaylorIoTKidd
New Contributor I
741 Views

Hi Reto,

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

Regards
--
Taylor

 

0 Kudos
Reply