Re: high max-latency times?

From: Nanning Buitenhuis (nanning@elvenkind.com)
Date: Wed May 17 2000 - 05:29:57 EST


>From: Jeff Garzik <jgarzik@mandrakesoft.com>
>> Under 2.3.x, the pci_set_master/pci_enable_device functions often
>> sets the latency higher than the "max latency" value. This sounds
>> wrong... is it?
>
> In fact, it's dead wrong. The max latency value specifies the latency
> which the PCI device can tolerate, ie. the maximum PCI clocks it can
> handle not having the bus, without dropping data (such as dropping a
> receive packet on a network card) or similar.
>
> This means if you're going to use these values, you'd need to scan the
> "min grant" and "max latency" values of all PCI devices on the same
> bus segment, and using that you can calculate a suitable latency timer
> value for a particular device.
>
> Also, the max latency value is not specified in PCI clocks in the PCI
> config space register, it uses some other ratio of some sort, I'd have
> to check the PCI standard.

The value is in 250ns steps (as is the Min_Gnt register)
Source: PCI System Architecture pg 355
According to the author of that book it indicates the maximum time
between REQ# (Request for the bus) and GNT# (signal that the bus
is granted). The value zero means "don't care"
 
> Finally, for the "min grant" value, I've seen loads of cards not set
> this value correctly.
>
> Essentially this is major PCI voodoo programming territory.

Regards,
  NaNning.

--
Ignorance got us into this mess, why can't it get us out.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:12 EST