[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PCI system integration issues

Hello, while we are on the AMCC topic, my company has a couple products
use the AMCC S5933QE PCI interface chip. We are experiencing very
strange behavior
with these products. One particular PCI card that uses the AMCC does bus
mastering DMA
from onboard hardware FIFOs to the PC's memory. This card fails
busmastering at the device
driver level occasionally. So far we can't make sense of this. I have
replaced the AMCC with the
5935QF LSI and it did not help. What we see are failures in some
operating systems and not others.
For example, the card works fine in a Windows NT system with a 440BX
chipset but it will _sometimes_
fail in a windows 95 system with a via chipset. We have also seen
fail/pass inconsistencies when moving
it around on different PCI slots. We have several different device
drivers to talk to the card as well. We also
see variability there.. some device drivers will show busmastering
failures others will run the card successfully
forever. The system as a whole has me baffled. I examined the PCI
busmaster transactions in the failing systems
and see no PCI violations. The 5933/5935 always does transfers
correctly. It will always do passthru transfers
correctly also.

    Is anyone aware of these kinds of system level issues with PCI
devices with respect to the practically infinite
combinations of PCI BIOS's, chipsets, operating systems, device drivers,
etc? I would like to pin down
what the offenders are so I know if we need to go redesign our card.
There are many systems that our card
runs flawlessly in so I hesitate. My company is setup so that our
product get to run in many different computer combinations
as our software drivers are developed. Almost every PCI product so far
has some kind of a problem in certain
systems and not others. It is frustrating because I dont know what to
debug/fix if I cant pin down what is wrong and
so far, there is no pattern as to what combinations do not play well
together. I would like to say it is our design, but
how can it work flawlessly in some systems? Also some of our design are
so simple, it could really only be the 5933
responsible and I cant blame that either!

How can a software driver do busmastering successful sometimes and not
others in same power cycle?

How can Operating system be cause bus mastering failures sometimes and
not others?

Please anybody with some advice or suggestions please respond.
I would be very thankful to anyone who could provide
some insight! Thanks!

Ben Yurick
Design Engineer
Keithley Instruments