Quantcast
Viewing all articles
Browse latest Browse all 124662

Forum Post: OMP, SRIO, NDK on c6678

 I try to join omp-style programming, SRIO and NDK drivers in my project.

After long time I made it. I have full-working NDK and OMP. But SRIO driver works only in DIO mode. I use MCSDK SRIO driver. I adapted loopback example for my project. I saw, that SRIO exanges in DIO mode are completed between some boards.

But when I tried to use type 11 transaction in RAW mode I had fault. I had success with type 11 message transactions between boards when I used same project without OMP. But with OMP I have problem. When I try to use type 11 transaction with OMP I haven't any error in SRIO driver. I saw that host descriptor entered to queue number 672. But from queue 672 transaction is not exited.

After every SockSend call the A register (counter of queue items) from 672 queue incremented per 1. When I tried same project without OMP register A is equal 0 (queue is empty because TX transaction completed (I see it using packet counter in SRIO switch)).

My question is: whats a problem with 672 queue? may be I need to do additional initialisation is compare Loopback Example?

P.S. My sequence of initialisation is:

1. (Before OMP init) qmss_init, Memregion(Ethernet) init, Memregion (SRIO) init

2. OMP automatic init (memregion 3)

3. main

4. CPPI init

5. NDK init

6. SRIO driver init

P.P.S I tryed to use double _mfence instruction like in errata sheet: no effect.


Viewing all articles
Browse latest Browse all 124662


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>