[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