]> asedeno.scripts.mit.edu Git - linux.git/blob - arch/powerpc/kernel/dma-swiotlb.c
powerpc/dma: use the generic direct mapping bypass
[linux.git] / arch / powerpc / kernel / dma-swiotlb.c
1 /*
2  * Contains routines needed to support swiotlb for ppc.
3  *
4  * Copyright (C) 2009-2010 Freescale Semiconductor, Inc.
5  * Author: Becky Bruce
6  *
7  * This program is free software; you can redistribute  it and/or modify it
8  * under  the terms of  the GNU General  Public License as published by the
9  * Free Software Foundation;  either version 2 of the  License, or (at your
10  * option) any later version.
11  *
12  */
13 #include <linux/memblock.h>
14 #include <asm/machdep.h>
15 #include <asm/swiotlb.h>
16
17 unsigned int ppc_swiotlb_enable;
18
19 void __init swiotlb_detect_4g(void)
20 {
21         if ((memblock_end_of_DRAM() - 1) > 0xffffffff)
22                 ppc_swiotlb_enable = 1;
23 }
24
25 static int __init check_swiotlb_enabled(void)
26 {
27         if (ppc_swiotlb_enable)
28                 swiotlb_print_info();
29         else
30                 swiotlb_exit();
31
32         return 0;
33 }
34 subsys_initcall(check_swiotlb_enabled);