September 16, 1997
Version 1.4.5 of the V6M6 host software and FPGA configurations includes the following changes:
Host-driven DMA Transfers
V6M6 requirements for this capability are:
Current host system requirements:
Support for this capability will eventually be provided for processor boards.
Please note that because the access to the DMA controller is hardware
and operating system dependent, binary files compiled on one system type
may not be copied to a system of another type.
Data transfers are performed on arrays of 32-bit words.
The array should be allocated aligned on a page boundary (4096).
The actual required alignment may vary from system but a value of 4096
should be safe for any system.
Memory can be allocated on a specific alignment using the memalign.
system function.
For example:
The transfers are done by accessing a special address range within the
V6M6's address VME address space.
The bridge to the PCI address space is handled by the V6M6's H host resource.
Programs using host-driven DMA must obtain access to the H resource
and prepare its registers.
This initialization is performed by the pci_hostdma_setup function,
described below.
The V6M6 hardware can handle individual transfers of up to 8K words
(32,768 bytes), within its special VME address range.
The library functions break up larger arrays into blocks of 8,192 words
passing each block to the CPU's DMA controller.
Performing host-driven DMA transfers is done using functions
in the V6M6 Software Support Library.
The functions' arguments have changed in version 1.6.0 of the V6M6 software.
They are described in the
release notes for that version.
TDM Configurator Bug Fixed
Many VMEbus CPU boards contain a DMA controller which may be used to
transfer data between the CPU's on board memory and other VME cards.
A modification to the V6M6 VME interface and additions to the
Software Support Library provide support for this capability for the V6M6.
Data transfers with the V6M6 using the host's DMA controller can
increase the transfer rate by 20% to 30%.
However, the primary advantage in using the host's DMA controller
is that it reduces the load on the CPU, itself, by 80% or more
when compared with using the CPU to transfer data using memory mapped access.
u_long *data = (u_long *) memalign(4096, num_bytes) ;
In the previous release, the TDM Configurator was loading the
encoder registers of the BT8110 chips on IMG726 mini-PCI modules
with the values specified for the decoder.
This has been fixed in the current version.