I will get back to you as soon as I can with a specific answer but while I research it, let me give you a source for all the available tech docs on the 82541 in case you don't have them:
Well I've hooked up with one of Intel's engineers who is researching the answer. Is it possible that you could share what it is you are trying to do that you believe that disabling the PCI master latency timer will be the answer? There may be other options and we want to give you the best possible solution.
I've been part of Intel's Ethernet division for almost 15 years, and this is the first request of this nature I've ever seen. It's a good one!
As outlined in the open source developers manual (found here: http://sourceforge.net/project/showfiles.php?group_id=42302&package_id=158835), the PCI latency timer is part of the standard PCI registers. In the case of the 82541, the lower two bits are not implemented and return 0b. The upper six bits are Read/Write. Be warned that changing the values of this register from its default of 64 will cause changes to the performance of the part. Transaction burst length on PCI is determined by several factors, including the PCI latency timer expiration, the type of bus transfer (descriptor read/write or data read/write) made, the size of the data transfer (for data transfers), and whether the cycle is initiated by the receive or transmit logic.
I would suggest trying to decrease it down to a point where it works for you, and not start at 0. You modify the values using normal PCI configuration space writes. If you wanted to change these after every boot, you would need to add that to the system BIOS or some other early action. There is no way to permanently change it on the device. It must be manually changed every time. I would also recommend making sure it doesn't change after resets.
Also since we are talking about the PCI Configuration space, I want to make sure you are aware of a known issue with the 82541.
The 82541 controller includes the PCI-X Capability register (capability ID = 0x07) in its PCI configuration space. If the system software were to look only at configuration space it might mistakenly determine that the controller was capable of operation in PCI-X mode, when in fact the 82541 does not support PCI-X mode. This is outlined in the specification update: http://download.intel.com/design/network/specupdt/82541.pdf
In the future, you can get support for your Intel purchase via the route you got them. If you buy from a distributor, they can see about setting you up with a premier.intel.com support account. Not every company will get an account, and those that don't can have the distributor post questions to premier. While premier.intel.com requires a valid Corporate Non-Disclosure Agreement (CNDA) with Intel (a lot of high tech companies already have one), it allows for you to put your questions straight to the Intel support staff. It also allows for more sensitive questions and answers since it will be a private conversation and not a posting on a public forum. If you don't qualify, the distributor will provide the entry point.
Hope this helps your embedded design and thanks for using Intel Networking products.
(I edited this post to clear up some of the confusion around premier.intel.com, and to clearly mark myself as working for Intel)Message Edited by Doug B on 05-20-2009 05:22 PM