Hi,
I try to connect a DM642 (DM648 in the future) to PCIexpress (and plug it into a PC). I tried to use a PEX 8112 PCI-PCIx bridge on a reference board (PEX8112 Fwd Riser) along with one of my DM642-prototype boards. Linux finds the card plugged in through the riser card. The communication towards the DSP seems to work as it does without the riser card. But the communication from DSP to the PC does not.
In my app, the PC-DM642 driver reserves memory that cannot be paged out from the OS. The adress of this section is sent to the DSP which copies Data into this memory using a master transfer. On the DM642 I use the CSL Library (csl_pci.h).
The transfer is setup using
PCI_xfrConfigArgs(dspma, pcima, pcimc, trctl);
PCI_xfrStart(PCI_WRITE);
After that I test the transfer status using
for(;;)
xfrTestStatus = PCI_xfrTest();
The function returns 1 forever.
Searching in the csl sources I found that PCI_xfrTest just returns the value of the START bits in PCIMC register. It seems that the value the START bits is reset to 0 when the transfer is complete.
Can anyone tell me his experiences with connecting a DM642 or DM648 to PCIx using a PCIx-bridge? Can anyone recommend me a PCIx bridge?
best regards,
Thomas