On Wed, May 11, 2011 at 4:21 PM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote: > Latency tolerance reporting allows devices to send messages to the root > complex indicating their latency tolerance for snooped & unsnooped > memory transactions. Add support for enabling & disabling this > feature, along with a routine to set the max latencies a device should > send upstream. > > Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> > --- > drivers/pci/pci.c | 149 ++++++++++++++++++++++++++++++++++++++++++++++ > include/linux/pci.h | 5 ++ > include/linux/pci_regs.h | 9 +++ > 3 files changed, 163 insertions(+), 0 deletions(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 01e4cab..53302cb 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -1979,6 +1979,155 @@ void pci_disable_obff(struct pci_dev *dev) > } > EXPORT_SYMBOL(pci_disable_obff); > > +/** > + * pci_ltr_supported - check whether a device supports LTR > + * @dev: PCI device > + * > + * RETURNS: > + * True if @dev supports latency tolerance reporting, false otherwise. > + */ > +bool pci_ltr_supported(struct pci_dev *dev) > +{ > + int pos; > + u32 cap; > + > + if (!pci_is_pcie(dev)) > + return false; Jesse, Based on Bjorn's comment to the initial posting of [PATCH 1/3] PCI: add ID-based ordering enable/disable support (http://marc.info/?l=linux-pci&m=130463494319762&w=2) you may want to also drop the above check both in this patch and the OBFF patch for consistency. Reviewed-by: Myron Stowe <myron.stowe@xxxxxxxxxx> Myron > + > + pos = pci_pcie_cap(dev); > + if (!pos) > + return false; > + > + pci_read_config_dword(dev, pos + PCI_EXP_DEVCAP2, &cap); > + > + return cap & PCI_EXP_DEVCAP2_LTR; > +} > +EXPORT_SYMBOL(pci_ltr_supported); > + snip -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html