October 30, 2006
Overview
The following changes are introduced in this release:
Note:
This release includes a new version of the application code for the
embedded MIPS processor.
It is not necessary to update boards with the new code, but to do so,
run the dpflashup program after installation to update the code
on the DPT4 board(s).
Software Modifications to Mitigate Channel Buffer Management Problems
The first issue was that the transmit buffer bank interrupts were sometimes being inadvertently cleared by the pci_framer_tx_source and pci_hw_fast_clk library functions as they made changes to the settings in the transmit control register. These functions have been fixed to avoid clearing the interrupts. Similar operations have also been fixed in the code for the dph100test and dph100diag programs.
The second issue with channel buffer management involves saturation of throughput on the DPT4 local bus. When dpchantest first begins sending data to be transmitted, the transmit buffers are empty and the threads for each transmit channel generate and write data as fast as possible until the buffers are full. On fast host systems, the amount of data being downloaded to transmit buffers can overwhelm the board's local bus and prevent the MIPS processor from servicing the bank switch interrupts from its dual-port buffers in a timely fashion, causing corruption of data being fed to the outgoing E1 or T1 streams.
The bus saturation issue is resolved in the dpchantest by delaying the start of receive channel threads until the transmit channel buffers have been filled. Once filled, the rate at which the program can write new data is limited by the rate at which the buffers are emptied as the data is transmitted. The initial data transmitted may still get corrupted as the buffers are being filled but the receive channels don't see this data.
While the situation with dpchantest may be a worst-case scenario, other application programs need to be aware of the potential for these problems. See the discussion under known problems.
Changes were made to the embedded application program to help diagnose this problem. The updated code is version 1.4.9 and is included in this release. However, the changes do not affect normal operation of the board and it is not necessary to update the code on DPT4 boards that are already running version 1.4.8 of the embedded application code.
| dppiomem | - | Tests SDRAM on the board |
| dpdpram | - | Tests the dual-port memory on the board using both non-burst and burst modes. |
| dpchantest | - | Tests MIPS channelization and framers |