aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/kernel/pci-dma.c82
1 files changed, 41 insertions, 41 deletions
diff --git a/arch/x86_64/kernel/pci-dma.c b/arch/x86_64/kernel/pci-dma.c
index 225e19941b67..58be7929b4e2 100644
--- a/arch/x86_64/kernel/pci-dma.c
+++ b/arch/x86_64/kernel/pci-dma.c
@@ -248,58 +248,58 @@ EXPORT_SYMBOL(dma_set_mask);
248*/ 248*/
249__init int iommu_setup(char *p) 249__init int iommu_setup(char *p)
250{ 250{
251 iommu_merge = 1; 251 iommu_merge = 1;
252 252
253 if (!p) 253 if (!p)
254 return -EINVAL; 254 return -EINVAL;
255 255
256 while (*p) { 256 while (*p) {
257 if (!strncmp(p,"off",3)) 257 if (!strncmp(p,"off",3))
258 no_iommu = 1; 258 no_iommu = 1;
259 /* gart_parse_options has more force support */ 259 /* gart_parse_options has more force support */
260 if (!strncmp(p,"force",5)) 260 if (!strncmp(p,"force",5))
261 force_iommu = 1; 261 force_iommu = 1;
262 if (!strncmp(p,"noforce",7)) { 262 if (!strncmp(p,"noforce",7)) {
263 iommu_merge = 0; 263 iommu_merge = 0;
264 force_iommu = 0; 264 force_iommu = 0;
265 } 265 }
266 266
267 if (!strncmp(p, "biomerge",8)) { 267 if (!strncmp(p, "biomerge",8)) {
268 iommu_bio_merge = 4096; 268 iommu_bio_merge = 4096;
269 iommu_merge = 1; 269 iommu_merge = 1;
270 force_iommu = 1; 270 force_iommu = 1;
271 } 271 }
272 if (!strncmp(p, "panic",5)) 272 if (!strncmp(p, "panic",5))
273 panic_on_overflow = 1; 273 panic_on_overflow = 1;
274 if (!strncmp(p, "nopanic",7)) 274 if (!strncmp(p, "nopanic",7))
275 panic_on_overflow = 0; 275 panic_on_overflow = 0;
276 if (!strncmp(p, "merge",5)) { 276 if (!strncmp(p, "merge",5)) {
277 iommu_merge = 1; 277 iommu_merge = 1;
278 force_iommu = 1; 278 force_iommu = 1;
279 } 279 }
280 if (!strncmp(p, "nomerge",7)) 280 if (!strncmp(p, "nomerge",7))
281 iommu_merge = 0; 281 iommu_merge = 0;
282 if (!strncmp(p, "forcesac",8)) 282 if (!strncmp(p, "forcesac",8))
283 iommu_sac_force = 1; 283 iommu_sac_force = 1;
284 if (!strncmp(p, "allowdac", 8)) 284 if (!strncmp(p, "allowdac", 8))
285 forbid_dac = 0; 285 forbid_dac = 0;
286 if (!strncmp(p, "nodac", 5)) 286 if (!strncmp(p, "nodac", 5))
287 forbid_dac = -1; 287 forbid_dac = -1;
288 288
289#ifdef CONFIG_SWIOTLB 289#ifdef CONFIG_SWIOTLB
290 if (!strncmp(p, "soft",4)) 290 if (!strncmp(p, "soft",4))
291 swiotlb = 1; 291 swiotlb = 1;
292#endif 292#endif
293 293
294#ifdef CONFIG_IOMMU 294#ifdef CONFIG_IOMMU
295 gart_parse_options(p); 295 gart_parse_options(p);
296#endif 296#endif
297 297
298 p += strcspn(p, ","); 298 p += strcspn(p, ",");
299 if (*p == ',') 299 if (*p == ',')
300 ++p; 300 ++p;
301 } 301 }
302 return 0; 302 return 0;
303} 303}
304early_param("iommu", iommu_setup); 304early_param("iommu", iommu_setup);
305 305