[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Help on 21554
->
-> >From: Christophe.LINDHEIMER@tcc.thomson-csf.com
-> >
-> >I am using a card with a 21554 in a system running NT 4.
-> >Is there a way for my card to know when NT has finished
-> configuring the
-> >21554 ?
->
-> I assume that you are speaking from the perspective of an
-> embedded CPU on the secondary side of the 21554. We use that
-> configuration, and it is somewhat problematic.
->
-> Probably the best way is to watch the primary-side BAR
-> registers to become programmed with some value. You will
-> still have to be careful about race conditions with regard
-> to other PCI devices, since you can't be sure in what
-> order they will be programmed. Good luck..
->
Yes, in fact I have a CPU on the secondary side.
I tried the method you proposed.
So I decided to spy the Downstream memory 2 Bar at address 0x5c in the
primary config space of the 21554.
It should take the value 0xf5000000.
So my peace of code is
dummy = 0;
while (dummy == 0)
{
PciConfigInLong(0,3,0x5c,&dummy);
taskDelay(1000);
}
Unfortunately it doesn't work becoz the var dummy remains equal at 0.
When I use a Dumppci tool, I see that NT didn't allocate memory for my
device...
When I don't make any PciConfigInLong() it works fine and NT allocates
memory for my device.
Any idea ??
Thanks