Hi,

I'd like to know how can I change the current PCI Device Latency of
connected devices?

I experience that most of modern graphic adapters have a very high pci
latency value which causes problems on other PCI devices like USB chipsets
etc.

What I want to do is to offer an option to reduce the PCI latency of such
devices.

Now my questions:

- How can I do this? I found some structures and API calls that mention
these things, but I wasn't able to build me a proof-of-concept.

- Is that propery way to manage this at all or should this be a task for the
graphic adapter manufactureres (all of them)?

The thing is that a lot of customers complain about instability of their PCs
concerning high bandwidth/low-latency USB devices and quite often (more than
we expected) the solution seems to be to decrease the PCI latency of the
graphics adapter from 255 to 128 or 96. I experienced this with some of my
firewire devices, too.

IMHO I think this is not something one should leave to the end user.

thanks for any advice in this
doc

RE: Update PCI Latency by martinbo

martinbo
Wed Dec 28 21:45:30 CST 2005

------=_NextPart_0001_155EB99D
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

I don't see any supported method of changing the PCI latency for a device,
except by the device driver that is loaded for that device. For instance,
display drivers would use VideoPortSetBusData to do this.

Martin Borve
Windows DDK Support
This posting is provided "AS IS" with no warranties, and confers no rights.



------=_NextPart_0001_155EB99D
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20 I don't see any supported method of changing the PCI latency for a device, except by the device driver that is loaded for that device. For instance, display drivers would use VideoPortSetBusData to do this.
\par
\par Martin Borve
\par Windows DDK Support
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par
\par
\par
\par }
------=_NextPart_0001_155EB99D--


RE: Update PCI Latency by docschnipp

docschnipp
Thu Dec 29 03:36:02 CST 2005

""Martin Borve [MSFT]"" wrote:

> I don't see any supported method of changing the PCI latency for a device,
> except by the device driver that is loaded for that device. For instance,
> display drivers would use VideoPortSetBusData to do this.

take a look at this:
http://www.mark-knutson.com/t3/index.html

I experienced on 2 machines that reducing the pci latency setting for the
vga cards helped wonders in terms of stability (one machine for example had a
ATI Radeon M6 (PCI Latency=255)) .

What I found is that if I would be in the driver stack of such a device I
could work with the PCI_COMMON_CONFIG struct and IRP_MN_WRITE_CONFIG IRP.

Beside of the technical issue:

What can we recommend to our customers regarding this issue except using a
hack tool to improve their windows platform in terms of usb low latency?

thanks
doc


RE: Update PCI Latency by martinbo

martinbo
Thu Jan 05 18:20:32 CST 2006

------=_NextPart_0001_3DD5DBD9
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

>> What can we recommend to our customers regarding this issue except using
a
>> hack tool to improve their windows platform in terms of usb low latency?

I don't see any other alternatives. From an OS perspective, we're not
going to override the latency values set by the BIOS and/or device drivers
for their respective devices.

Martin Borve
Windows DDK Support
This posting is provided "AS IS" with no warranties, and confers no rights.



------=_NextPart_0001_3DD5DBD9
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20 >> What can we recommend to our customers regarding this issue except using a
\par >> hack tool to improve their windows platform in terms of usb low latency?
\par
\par I don't see any other alternatives. From an OS perspective, we're not going to override the latency values set by the BIOS and/or device drivers for their respective devices.
\par
\par Martin Borve
\par Windows DDK Support
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par
\par
\par
\par }
------=_NextPart_0001_3DD5DBD9--


RE: Update PCI Latency by docschnipp

docschnipp
Fri Jan 06 06:46:02 CST 2006

""Martin Borve [MSFT]"" wrote:

> >> What can we recommend to our customers regarding this issue except using
> a
> >> hack tool to improve their windows platform in terms of usb low latency?
>
> I don't see any other alternatives. From an OS perspective, we're not
> going to override the latency values set by the BIOS and/or device drivers
> for their respective devices.

Well, the trouble is:

- there are more and more BIOSs that do not support user settings (like
Laptop BIOS etc.) (what to do? not recommending HP/ASUS?)
and
- there is hardware (nearly all modern ATI/NVIDIA etc.) which overrides the
Latency setting, maybe to minimize their support incidents (what to do? not
recommending high performance vga adapters?)

This is pretty frustrating because on the Apple side of things this whole
things seem to work smoother. And as a USB device manufacturer your are very
dependend on the implementation of mainboard chipsets and their drivers.

Since recently there was a vacant job in the audio department of ms there
might be hope that ms also put some focus to professional audio.

best
doc