Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ats.c File Reference
#include <linux/export.h>
#include <linux/pci-ats.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include "pci.h"

Go to the source code of this file.


int pci_enable_ats (struct pci_dev *dev, int ps)
 EXPORT_SYMBOL_GPL (pci_enable_ats)
void pci_disable_ats (struct pci_dev *dev)
 EXPORT_SYMBOL_GPL (pci_disable_ats)
void pci_restore_ats_state (struct pci_dev *dev)
 EXPORT_SYMBOL_GPL (pci_restore_ats_state)
int pci_ats_queue_depth (struct pci_dev *dev)
 EXPORT_SYMBOL_GPL (pci_ats_queue_depth)

Function Documentation

EXPORT_SYMBOL_GPL ( pci_enable_ats  )
EXPORT_SYMBOL_GPL ( pci_disable_ats  )
EXPORT_SYMBOL_GPL ( pci_restore_ats_state  )
EXPORT_SYMBOL_GPL ( pci_ats_queue_depth  )
int pci_ats_queue_depth ( struct pci_dev dev)

pci_ats_queue_depth - query the ATS Invalidate Queue Depth : the PCI device

Returns the queue depth on success, or negative on failure.

The ATS spec uses 0 in the Invalidate Queue Depth field to indicate that the function can accept 32 Invalidate Request. But here we use the `real' values (i.e. 1~32) for the Queue Depth; and 0 indicates the function shares the Queue with other functions (doesn't exclusively own a Queue).

Definition at line 160 of file ats.c.

void pci_disable_ats ( struct pci_dev dev)

pci_disable_ats - disable the ATS capability : the PCI device

Definition at line 104 of file ats.c.

int pci_enable_ats ( struct pci_dev dev,
int  ps 

pci_enable_ats - enable the ATS capability : the PCI device : the IOMMU page shift

Returns 0 on success, or negative on failure.

Definition at line 57 of file ats.c.

void pci_restore_ats_state ( struct pci_dev dev)

Definition at line 131 of file ats.c.