Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 154792
b: refs/heads/master
c: 206a73c
h: refs/heads/master
v: v3
  • Loading branch information
David Woodhouse authored and David Woodhouse committed Jul 1, 2009
1 parent e227196 commit 2b9ad38
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c85994e4771025ef2a66533eb1a4c6c2217b9cda
refs/heads/master: 206a73c102fc480ba072a9388bc2142c303113aa
12 changes: 2 additions & 10 deletions trunk/drivers/pci/intel-iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,6 @@ struct dmar_domain {
struct iova_domain iovad; /* iova's that belong to this domain */

struct dma_pte *pgd; /* virtual address */
spinlock_t mapping_lock; /* page table lock */
int gaw; /* max guest address width */

/* adjusted guest address width, 0 is level 2 30-bit */
Expand Down Expand Up @@ -701,13 +700,11 @@ static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain,
struct dma_pte *parent, *pte = NULL;
int level = agaw_to_level(domain->agaw);
int offset;
unsigned long flags;

BUG_ON(!domain->pgd);
BUG_ON(addr_width < BITS_PER_LONG && pfn >> addr_width);
parent = domain->pgd;

spin_lock_irqsave(&domain->mapping_lock, flags);
while (level > 0) {
void *tmp_page;

Expand All @@ -721,11 +718,9 @@ static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain,

tmp_page = alloc_pgtable_page();

if (!tmp_page) {
spin_unlock_irqrestore(&domain->mapping_lock,
flags);
if (!tmp_page)
return NULL;
}

domain_flush_cache(domain, tmp_page, VTD_PAGE_SIZE);
pteval = (virt_to_dma_pfn(tmp_page) << VTD_PAGE_SHIFT) | DMA_PTE_READ | DMA_PTE_WRITE;
if (cmpxchg64(&pte->val, 0ULL, pteval)) {
Expand All @@ -740,7 +735,6 @@ static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain,
level--;
}

spin_unlock_irqrestore(&domain->mapping_lock, flags);
return pte;
}

Expand Down Expand Up @@ -1375,7 +1369,6 @@ static int domain_init(struct dmar_domain *domain, int guest_width)
unsigned long sagaw;

init_iova_domain(&domain->iovad, DMA_32BIT_PFN);
spin_lock_init(&domain->mapping_lock);
spin_lock_init(&domain->iommu_lock);

domain_reserve_special_ranges(domain);
Expand Down Expand Up @@ -3336,7 +3329,6 @@ static int md_domain_init(struct dmar_domain *domain, int guest_width)
int adjust_width;

init_iova_domain(&domain->iovad, DMA_32BIT_PFN);
spin_lock_init(&domain->mapping_lock);
spin_lock_init(&domain->iommu_lock);

domain_reserve_special_ranges(domain);
Expand Down

0 comments on commit 2b9ad38

Please sign in to comment.