User`s guide

64 Appendix B
DB_ADDR(pDE->BAR0VirtualWindowAddress,BAR_DOWN_BAR2_XLAT_BASE));
value = sync_wait;
done = false;
PDEBUG("R2D2FindInitDevice: Waiting for signal from Primary
Interface.BAR_DOWN_BAR2_XLAT_BASE set to
%08lx\n",pDE->RemoteUserBufferLogicalAddr);
while (value-- && (!done))
{
if ((pDE->LocalDiskLogicalAddr =
readl(DB_ADDR(pDE->BAR0VirtualWindowAddress,
BAR_UP_BAR2_XLAT_BASE))) != 0)
{
pDE->fullDuplex = true;
done=true;
}
}
if (!pDE->fullDuplex)
{
PWARN("R2D2FindInitDevice: Timed out Waiting for signal from
Primary Interface.\n");
//add by scott
deviceUnMapMem(pDE);
return ERR_DEVICE_CONFIGURATION;
} else {
PDEBUG("R2D2FindInitDevice: Received signal from Primary
Interface !.BAR_UP_BAR2_XLAT_BASE at %08lx\n",pDE->LocalDiskLogicalAddr);
return 0;
}
}