x86: Disable DAC on VIA bridges
Several reports that VIA bridges don't support DAC and corrupt data. I don't know if it's fixed, but let's just blacklist them all for now. It can be overwritten with iommu=usedac Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
0b62233021
commit
388c19e176
@@ -123,6 +123,8 @@ dma_mapping_error(dma_addr_t dma_addr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern int forbid_dac;
|
||||
|
||||
static inline int
|
||||
dma_supported(struct device *dev, u64 mask)
|
||||
{
|
||||
@@ -134,6 +136,10 @@ dma_supported(struct device *dev, u64 mask)
|
||||
if(mask < 0x00ffffff)
|
||||
return 0;
|
||||
|
||||
/* Work around chipset bugs */
|
||||
if (forbid_dac > 0 && mask > 0xffffffffULL)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user