vme_tsi148 & vme_user driver questions

De Roo, Steven steven.deroo at arcelormittal.com
Fri May 17 07:36:44 UTC 2013


Dear all,


I'm trying to get optimal results with a XVME6300 Single Board Computer,
using the VME_TSI148 driver from Martyn Welch, combined with the VME_USER device driver.

So far, I can read/write a block of data (eg. 64 bytes, 16 LWORDS) from/to a slave on the VME-bus,
but I encounter the following problems (as seen with a VME analyzer in the crate):

- in SCT mode, each LWORD being read is separated approx 3 microseconds from eachother,
  while the duration for the read itself only takes 0.5 microseconds.
  In other words: there's lots of unused bandwith, causing slow performance.
  What could be causing the delay of 2.5 microseconds ? 

- The TSI148 bridge is using PCI-X on my-board, and is behind a PCIe-PCIX bridge.
  According to the TSI148 manual, every read will result in a 'split read',
  and the TSI148 should take further care of the read command.
  Does this mean, that the TSI148 will ensure that all my LWORDs are being read
  if I do a read of multiple bytes (eg. 64) ?
  If so, can the TSI148 itself be responsible for the 3 microseconds ?

- BLT mode is no different than SCT mode according to the signal charts I get from the analyser?
  Each read/write modifies the address-lines, which shouldn't be the case, right?
  Could it be my slave card does not support BLT transfers?

Apart from this:

- Could somebody show me how to do DMA access with the VME_TSI148 driver ?

- Is it realistic to modify the VME_USER driver to add DMA capabilities ?


PS: using simple access to /dev/mem at the correct address, 
I was able to change the Requester mode from Release-When-Done to Release-On-Request,
but this has no influence on all of the above...
(maybe this can be added to vme_tsi148 ?)

I know these are a lot of (rather difficult) questions,
but I'm very grateful to everybody that can help me out here...


Kind regards,
Steven De Roo



More information about the devel mailing list