mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 01:24:33 +00:00
iommu/amd: Move 'struct dma_ops_domain' definition to amd_iommu.c
It is only used in this file anyway, so keep it there. Same with 'struct aperture_range'. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
a7fb668fd8
commit
007b74bab2
@ -114,6 +114,46 @@ struct kmem_cache *amd_iommu_irq_cache;
|
|||||||
static void update_domain(struct protection_domain *domain);
|
static void update_domain(struct protection_domain *domain);
|
||||||
static int protection_domain_init(struct protection_domain *domain);
|
static int protection_domain_init(struct protection_domain *domain);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For dynamic growth the aperture size is split into ranges of 128MB of
|
||||||
|
* DMA address space each. This struct represents one such range.
|
||||||
|
*/
|
||||||
|
struct aperture_range {
|
||||||
|
|
||||||
|
/* address allocation bitmap */
|
||||||
|
unsigned long *bitmap;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Array of PTE pages for the aperture. In this array we save all the
|
||||||
|
* leaf pages of the domain page table used for the aperture. This way
|
||||||
|
* we don't need to walk the page table to find a specific PTE. We can
|
||||||
|
* just calculate its address in constant time.
|
||||||
|
*/
|
||||||
|
u64 *pte_pages[64];
|
||||||
|
|
||||||
|
unsigned long offset;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Data container for a dma_ops specific protection domain
|
||||||
|
*/
|
||||||
|
struct dma_ops_domain {
|
||||||
|
/* generic protection domain information */
|
||||||
|
struct protection_domain domain;
|
||||||
|
|
||||||
|
/* size of the aperture for the mappings */
|
||||||
|
unsigned long aperture_size;
|
||||||
|
|
||||||
|
/* address we start to search for free addresses */
|
||||||
|
unsigned long next_address;
|
||||||
|
|
||||||
|
/* address space relevant data */
|
||||||
|
struct aperture_range *aperture[APERTURE_MAX_RANGES];
|
||||||
|
|
||||||
|
/* This will be set to true when TLB needs to be flushed */
|
||||||
|
bool need_flush;
|
||||||
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Helper functions
|
* Helper functions
|
||||||
|
@ -424,46 +424,6 @@ struct protection_domain {
|
|||||||
void *priv; /* private data */
|
void *priv; /* private data */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* For dynamic growth the aperture size is split into ranges of 128MB of
|
|
||||||
* DMA address space each. This struct represents one such range.
|
|
||||||
*/
|
|
||||||
struct aperture_range {
|
|
||||||
|
|
||||||
/* address allocation bitmap */
|
|
||||||
unsigned long *bitmap;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Array of PTE pages for the aperture. In this array we save all the
|
|
||||||
* leaf pages of the domain page table used for the aperture. This way
|
|
||||||
* we don't need to walk the page table to find a specific PTE. We can
|
|
||||||
* just calculate its address in constant time.
|
|
||||||
*/
|
|
||||||
u64 *pte_pages[64];
|
|
||||||
|
|
||||||
unsigned long offset;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Data container for a dma_ops specific protection domain
|
|
||||||
*/
|
|
||||||
struct dma_ops_domain {
|
|
||||||
/* generic protection domain information */
|
|
||||||
struct protection_domain domain;
|
|
||||||
|
|
||||||
/* size of the aperture for the mappings */
|
|
||||||
unsigned long aperture_size;
|
|
||||||
|
|
||||||
/* address we start to search for free addresses */
|
|
||||||
unsigned long next_address;
|
|
||||||
|
|
||||||
/* address space relevant data */
|
|
||||||
struct aperture_range *aperture[APERTURE_MAX_RANGES];
|
|
||||||
|
|
||||||
/* This will be set to true when TLB needs to be flushed */
|
|
||||||
bool need_flush;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure where we save information about one hardware AMD IOMMU in the
|
* Structure where we save information about one hardware AMD IOMMU in the
|
||||||
* system.
|
* system.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user