-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PCI: Move ATS declarations in seperate header file
This patch moves the relevant declarations from the local header file in drivers/pci to a more accessible locations so that it can be used by the AMD IOMMU driver too. The file is named pci-ats.h because support for the PCI PRI capability will also be added there in a later patch-set. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
- Loading branch information
Joerg Roedel
committed
Apr 11, 2011
1 parent
7d0c5cc
commit 5cdede2
Showing
4 changed files
with
54 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
#ifndef LINUX_PCI_ATS_H | ||
#define LINUX_PCI_ATS_H | ||
|
||
/* Address Translation Service */ | ||
struct pci_ats { | ||
int pos; /* capability position */ | ||
int stu; /* Smallest Translation Unit */ | ||
int qdep; /* Invalidate Queue Depth */ | ||
int ref_cnt; /* Physical Function reference count */ | ||
unsigned int is_enabled:1; /* Enable bit is set */ | ||
}; | ||
|
||
#ifdef CONFIG_PCI_IOV | ||
|
||
extern int pci_enable_ats(struct pci_dev *dev, int ps); | ||
extern void pci_disable_ats(struct pci_dev *dev); | ||
extern int pci_ats_queue_depth(struct pci_dev *dev); | ||
/** | ||
* pci_ats_enabled - query the ATS status | ||
* @dev: the PCI device | ||
* | ||
* Returns 1 if ATS capability is enabled, or 0 if not. | ||
*/ | ||
static inline int pci_ats_enabled(struct pci_dev *dev) | ||
{ | ||
return dev->ats && dev->ats->is_enabled; | ||
} | ||
|
||
#else /* CONFIG_PCI_IOV */ | ||
|
||
static inline int pci_enable_ats(struct pci_dev *dev, int ps) | ||
{ | ||
return -ENODEV; | ||
} | ||
|
||
static inline void pci_disable_ats(struct pci_dev *dev) | ||
{ | ||
} | ||
|
||
static inline int pci_ats_queue_depth(struct pci_dev *dev) | ||
{ | ||
return -ENODEV; | ||
} | ||
|
||
static inline int pci_ats_enabled(struct pci_dev *dev) | ||
{ | ||
return 0; | ||
} | ||
|
||
#endif /* CONFIG_PCI_IOV */ | ||
|
||
#endif /* LINUX_PCI_ATS_H*/ |