diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/kernel/pci-dma.c | 82 |
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 | } |
304 | early_param("iommu", iommu_setup); | 304 | early_param("iommu", iommu_setup); |
305 | 305 | ||