Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71972
b: refs/heads/master
c: 7d3b03c
h: refs/heads/master
v: v3
  • Loading branch information
Keshavamurthy, Anil S authored and Linus Torvalds committed Oct 22, 2007
1 parent 3627456 commit d9f75b5
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 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: eb3fa7cb51a2a35cd95eb92e65d8039c779468a5
refs/heads/master: 7d3b03ce7bff9d39ebaee1bb8de1968c4434b883
7 changes: 7 additions & 0 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,13 @@ and is between 256 and 4096 characters. It is defined in the file
bypassed by not enabling DMAR with this option. In
this case, gfx device will use physical address for
DMA.
forcedac [x86_64]
With this option iommu will not optimize to look
for io virtual address below 32 bit forcing dual
address cycle on pci bus for cards supporting greater
than 32 bit addressing. The default is to look
for translation below 32 bit and if not available
then look in the higher range.

io7= [HW] IO7 for Marvel based alpha systems
See comment before marvel_specify_io7 in
Expand Down
7 changes: 6 additions & 1 deletion trunk/drivers/pci/intel-iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ static void domain_remove_dev_info(struct dmar_domain *domain);

static int dmar_disabled;
static int __initdata dmar_map_gfx = 1;
static int dmar_forcedac;

#define DUMMY_DEVICE_DOMAIN_INFO ((struct device_domain_info *)(-1))
static DEFINE_SPINLOCK(device_domain_lock);
Expand All @@ -71,6 +72,10 @@ static int __init intel_iommu_setup(char *str)
dmar_map_gfx = 0;
printk(KERN_INFO
"Intel-IOMMU: disable GFX device mapping\n");
} else if (!strncmp(str, "forcedac", 8)) {
printk (KERN_INFO
"Intel-IOMMU: Forcing DAC for PCI devices\n");
dmar_forcedac = 1;
}

str += strcspn(str, ",");
Expand Down Expand Up @@ -1558,7 +1563,7 @@ static dma_addr_t __intel_map_single(struct device *dev, void *addr,

start_addr = IOVA_START_ADDR;

if (pdev->dma_mask <= DMA_32BIT_MASK) {
if ((pdev->dma_mask <= DMA_32BIT_MASK) || (dmar_forcedac)) {
iova = iommu_alloc_iova(domain, addr, size, start_addr,
pdev->dma_mask);
} else {
Expand Down

0 comments on commit d9f75b5

Please sign in to comment.