Help: ICE_STATUS_DRIVER

status of the ICE cards via the driver interface


Accessing the card status via the driver interface does not actually touch the cards.
The processes using the cards deposit status to the driver roughly every 10 seconds.
This interface can be polled as often as desired without affecting card performance.
It shows the status of the special iceram buffers and devices on this system.

Here is an example readout:

RamStart  : 68496 Mby
RamDisk   : 9000 Mby
RamMapped : 96 Mby
RamPage   : 4 Kby
RamAlloc  : 2
RamAddr   : Start=0x10b9000000 End=0x12f1800000
Buffers   : 1
Buffer#0  : Addr=0x10b9000000 Size=0x232800000
Devices   : 5
Device#0  : Revision=0x80 MemBase=0xdf700000 CardTemp=43 MJS=1491551801 PeakTemp=48 PMJS=1491390847 CompTemp=(43,-1,-1,24,24) Flags=0x00000000 Active=0
Device#1  : Revision=0x6b MemBase=0xdf600000 CardTemp=-1 MJS=1491551814 PeakTemp=-1 PMJS=1491390678 CompTemp=(-1,-1,-1,-1,-1) Flags=0x00000000 Active=0
Device#2  : Revision=0x71 MemBase=0xfb300000 CardTemp=48 MJS=1491551839 PeakTemp=48 PMJS=1491549735 CompTemp=(48,-1,-1,42,39) Flags=0x0000000c Active=0
Device#3  : Revision=0x71 MemBase=0xfb200000 CardTemp=47 MJS=1491552632 PeakTemp=47 PMJS=1491552577 CompTemp=(47,-1,-1,35,0) Flags=0x00000000 Active=20
Device#4  : Revision=0x6b MemBase=0xfb100000 CardTemp=-1 MJS=1491551860 PeakTemp=-1 PMJS=1491390679 CompTemp=(-1,-1,-1,-1,-1) Flags=0x00000000 Active=0
Version   : 398

In this case there is only one ram Buffer#0 which is the Midas ramdisk.
The partitioning of this buffer is managed by the Midas file system services.
Dynamically mapped buffers will show up as buffers 1-N in this readout.

There are 5 devices in this system.  Only one of them, Device#3, is currently active.

Revision - gives the card type (upper nibble) and PCI engine rev (lower nibble).

MemBase  - shows the PCIe address of the device's mailbox registers. 

CardTemp - shows the max of the temp sensors on the card at the ModifiedJulianSeconds MJS.

PeakTemp - shows the max of CardTemp since the last system boot (or driver reload) occurred at PMJS.

CompTemp - shows the individual temp sensor for each component (or -1 for no sensor) as follows:
    (MainBoard,IOModule1,IOModule2,ProcessorModule1,ProcessorModule2)

Flags - shows operational flags as follows:

  Bit#0 - has 10MHz  on MainBoard XSync port
  Bit#1 - has 1PPS   on MainBoard XSync port
  Bit#2 - has IRIG-B on MainBoard XSync port

  Bit#8 - has 10MHz  on IO-Module1
  Bit#9 - has 1PPS   on IO-Module1

  Bit#12 - has 10MHz  on IO-Module2
  Bit#13 - has 1PPS   on IO-Module2

The C defines for these flags are in $ICEROOT/inc/icelib.h as  DRV_FLG_*.

Active - counts the number of DMA channels currently running on the card (or -1 if halted or never reset)

Version - is the software version number of the driver