Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
0cd21ebc
Commit
0cd21ebc
authored
Aug 23, 2011
by
Russell King
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dma-size' of
git://git.yxit.co.uk/linux
into devel-stable
parents
fcb8ce5c
97fef8bd
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
86 additions
and
82 deletions
+86
-82
arch/arm/include/asm/dma-mapping.h
arch/arm/include/asm/dma-mapping.h
+7
-0
arch/arm/include/asm/memory.h
arch/arm/include/asm/memory.h
+0
-9
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9g45.c
+2
-0
arch/arm/mach-at91/include/mach/at91sam9g45.h
arch/arm/mach-at91/include/mach/at91sam9g45.h
+0
-2
arch/arm/mach-bcmring/include/mach/memory.h
arch/arm/mach-bcmring/include/mach/memory.h
+0
-5
arch/arm/mach-bcmring/mm.c
arch/arm/mach-bcmring/mm.c
+3
-0
arch/arm/mach-davinci/common.c
arch/arm/mach-davinci/common.c
+3
-0
arch/arm/mach-davinci/include/mach/memory.h
arch/arm/mach-davinci/include/mach/memory.h
+0
-5
arch/arm/mach-omap1/io.c
arch/arm/mach-omap1/io.c
+1
-0
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/io.c
+1
-1
arch/arm/mach-s3c64xx/cpu.c
arch/arm/mach-s3c64xx/cpu.c
+2
-0
arch/arm/mach-s3c64xx/include/mach/memory.h
arch/arm/mach-s3c64xx/include/mach/memory.h
+0
-2
arch/arm/mach-s5p64x0/cpu.c
arch/arm/mach-s5p64x0/cpu.c
+3
-0
arch/arm/mach-s5p64x0/include/mach/memory.h
arch/arm/mach-s5p64x0/include/mach/memory.h
+0
-1
arch/arm/mach-s5pv210/cpu.c
arch/arm/mach-s5pv210/cpu.c
+2
-0
arch/arm/mach-s5pv210/include/mach/memory.h
arch/arm/mach-s5pv210/include/mach/memory.h
+0
-1
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-ag5evm.c
+3
-0
arch/arm/mach-shmobile/board-ap4evb.c
arch/arm/mach-shmobile/board-ap4evb.c
+3
-0
arch/arm/mach-shmobile/board-g3evm.c
arch/arm/mach-shmobile/board-g3evm.c
+3
-0
arch/arm/mach-shmobile/board-g4evm.c
arch/arm/mach-shmobile/board-g4evm.c
+3
-0
arch/arm/mach-shmobile/board-mackerel.c
arch/arm/mach-shmobile/board-mackerel.c
+3
-0
arch/arm/mach-shmobile/include/mach/memory.h
arch/arm/mach-shmobile/include/mach/memory.h
+0
-3
arch/arm/mach-u300/core.c
arch/arm/mach-u300/core.c
+3
-0
arch/arm/mach-u300/include/mach/memory.h
arch/arm/mach-u300/include/mach/memory.h
+0
-5
arch/arm/mm/dma-mapping.c
arch/arm/mm/dma-mapping.c
+34
-11
arch/arm/mm/init.c
arch/arm/mm/init.c
+0
-9
arch/arm/plat-mxc/include/mach/memory.h
arch/arm/plat-mxc/include/mach/memory.h
+0
-15
arch/arm/plat-omap/include/plat/io.h
arch/arm/plat-omap/include/plat/io.h
+2
-0
arch/arm/plat-omap/include/plat/memory.h
arch/arm/plat-omap/include/plat/memory.h
+0
-13
arch/arm/plat-omap/io.c
arch/arm/plat-omap/io.c
+8
-0
No files found.
arch/arm/include/asm/dma-mapping.h
View file @
0cd21ebc
...
...
@@ -205,6 +205,13 @@ extern void *dma_alloc_writecombine(struct device *, size_t, dma_addr_t *,
int
dma_mmap_writecombine
(
struct
device
*
,
struct
vm_area_struct
*
,
void
*
,
dma_addr_t
,
size_t
);
/*
* This can be called during boot to increase the size of the consistent
* DMA region above it's default value of 2MB. It must be called before the
* memory allocator is initialised, i.e. before any core_initcall.
*/
extern
void
__init
init_consistent_dma_size
(
unsigned
long
size
);
#ifdef CONFIG_DMABOUNCE
/*
...
...
arch/arm/include/asm/memory.h
View file @
0cd21ebc
...
...
@@ -77,16 +77,7 @@
*/
#define IOREMAP_MAX_ORDER 24
/*
* Size of DMA-consistent memory region. Must be multiple of 2M,
* between 2MB and 14MB inclusive.
*/
#ifndef CONSISTENT_DMA_SIZE
#define CONSISTENT_DMA_SIZE SZ_2M
#endif
#define CONSISTENT_END (0xffe00000UL)
#define CONSISTENT_BASE (CONSISTENT_END - CONSISTENT_DMA_SIZE)
#else
/* CONFIG_MMU */
...
...
arch/arm/mach-at91/at91sam9g45.c
View file @
0cd21ebc
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <linux/pm.h>
#include <linux/dma-mapping.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
...
...
@@ -319,6 +320,7 @@ static void at91sam9g45_poweroff(void)
static
void
__init
at91sam9g45_map_io
(
void
)
{
at91_init_sram
(
0
,
AT91SAM9G45_SRAM_BASE
,
AT91SAM9G45_SRAM_SIZE
);
init_consistent_dma_size
(
SZ_4M
);
}
static
void
__init
at91sam9g45_initialize
(
void
)
...
...
arch/arm/mach-at91/include/mach/at91sam9g45.h
View file @
0cd21ebc
...
...
@@ -128,8 +128,6 @@
#define AT91SAM9G45_EHCI_BASE 0x00800000
/* USB Host controller (EHCI) */
#define AT91SAM9G45_VDEC_BASE 0x00900000
/* Video Decoder Controller */
#define CONSISTENT_DMA_SIZE SZ_4M
/*
* DMA peripheral identifiers
* for hardware handshaking interface
...
...
arch/arm/mach-bcmring/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -25,9 +25,4 @@
#define PLAT_PHYS_OFFSET CFG_GLOBAL_RAM_BASE
/*
* Maximum DMA memory allowed is 14M
*/
#define CONSISTENT_DMA_SIZE (SZ_16M - SZ_2M)
#endif
arch/arm/mach-bcmring/mm.c
View file @
0cd21ebc
...
...
@@ -13,6 +13,7 @@
*****************************************************************************/
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <asm/mach/map.h>
#include <mach/hardware.h>
...
...
@@ -53,4 +54,6 @@ void __init bcmring_map_io(void)
{
iotable_init
(
bcmring_io_desc
,
ARRAY_SIZE
(
bcmring_io_desc
));
/* Maximum DMA memory allowed is 14M */
init_consistent_dma_size
(
14
<<
20
);
}
arch/arm/mach-davinci/common.c
View file @
0cd21ebc
...
...
@@ -12,6 +12,7 @@
#include <linux/io.h>
#include <linux/etherdevice.h>
#include <linux/davinci_emac.h>
#include <linux/dma-mapping.h>
#include <asm/tlb.h>
#include <asm/mach/map.h>
...
...
@@ -86,6 +87,8 @@ void __init davinci_common_init(struct davinci_soc_info *soc_info)
iotable_init
(
davinci_soc_info
.
io_desc
,
davinci_soc_info
.
io_desc_num
);
init_consistent_dma_size
(
14
<<
20
);
/*
* Normally devicemaps_init() would flush caches and tlb after
* mdesc->map_io(), but we must also do it here because of the CPU
...
...
arch/arm/mach-davinci/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -36,9 +36,4 @@
#define DDR2_MCLKSTOPEN_BIT BIT(30)
#define DDR2_LPMODEN_BIT BIT(31)
/*
* Increase size of DMA-consistent memory region
*/
#define CONSISTENT_DMA_SIZE (14<<20)
#endif
/* __ASM_ARCH_MEMORY_H */
arch/arm/mach-omap1/io.c
View file @
0cd21ebc
...
...
@@ -121,6 +121,7 @@ void __init omap1_map_common_io(void)
#endif
omap_sram_init
();
omap_init_consistent_dma_size
();
}
/*
...
...
arch/arm/mach-omap2/io.c
View file @
0cd21ebc
...
...
@@ -16,7 +16,6 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
...
...
@@ -250,6 +249,7 @@ static void __init _omap2_map_common_io(void)
omap2_check_revision
();
omap_sram_init
();
omap_init_consistent_dma_size
();
}
#ifdef CONFIG_SOC_OMAP2420
...
...
arch/arm/mach-s3c64xx/cpu.c
View file @
0cd21ebc
...
...
@@ -20,6 +20,7 @@
#include <linux/serial_core.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/dma-mapping.h>
#include <mach/hardware.h>
#include <mach/map.h>
...
...
@@ -145,6 +146,7 @@ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size)
/* initialise the io descriptors we need for initialisation */
iotable_init
(
s3c_iodesc
,
ARRAY_SIZE
(
s3c_iodesc
));
iotable_init
(
mach_desc
,
size
);
init_consistent_dma_size
(
SZ_8M
);
idcode
=
__raw_readl
(
S3C_VA_SYS
+
0x118
);
if
(
!
idcode
)
{
...
...
arch/arm/mach-s3c64xx/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -15,6 +15,4 @@
#define PLAT_PHYS_OFFSET UL(0x50000000)
#define CONSISTENT_DMA_SIZE SZ_8M
#endif
arch/arm/mach-s5p64x0/cpu.c
View file @
0cd21ebc
...
...
@@ -20,6 +20,7 @@
#include <linux/serial_core.h>
#include <linux/platform_device.h>
#include <linux/sched.h>
#include <linux/dma-mapping.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -111,6 +112,7 @@ void __init s5p6440_map_io(void)
iotable_init
(
s5p64x0_iodesc
,
ARRAY_SIZE
(
s5p64x0_iodesc
));
iotable_init
(
s5p6440_iodesc
,
ARRAY_SIZE
(
s5p6440_iodesc
));
init_consistent_dma_size
(
SZ_8M
);
}
void
__init
s5p6450_map_io
(
void
)
...
...
@@ -120,6 +122,7 @@ void __init s5p6450_map_io(void)
iotable_init
(
s5p64x0_iodesc
,
ARRAY_SIZE
(
s5p64x0_iodesc
));
iotable_init
(
s5p6450_iodesc
,
ARRAY_SIZE
(
s5p6450_iodesc
));
init_consistent_dma_size
(
SZ_8M
);
}
/*
...
...
arch/arm/mach-s5p64x0/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -14,6 +14,5 @@
#define __ASM_ARCH_MEMORY_H __FILE__
#define PLAT_PHYS_OFFSET UL(0x20000000)
#define CONSISTENT_DMA_SIZE SZ_8M
#endif
/* __ASM_ARCH_MEMORY_H */
arch/arm/mach-s5pv210/cpu.c
View file @
0cd21ebc
...
...
@@ -20,6 +20,7 @@
#include <linux/sysdev.h>
#include <linux/platform_device.h>
#include <linux/sched.h>
#include <linux/dma-mapping.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -119,6 +120,7 @@ static void s5pv210_sw_reset(void)
void
__init
s5pv210_map_io
(
void
)
{
iotable_init
(
s5pv210_iodesc
,
ARRAY_SIZE
(
s5pv210_iodesc
));
init_consistent_dma_size
(
14
<<
20
);
/* initialise device information early */
s5pv210_default_sdhci0
();
...
...
arch/arm/mach-s5pv210/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -14,7 +14,6 @@
#define __ASM_ARCH_MEMORY_H
#define PLAT_PHYS_OFFSET UL(0x20000000)
#define CONSISTENT_DMA_SIZE (SZ_8M + SZ_4M + SZ_2M)
/*
* Sparsemem support
...
...
arch/arm/mach-shmobile/board-ag5evm.c
View file @
0cd21ebc
...
...
@@ -37,6 +37,7 @@
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mfd/tmio.h>
#include <linux/sh_clk.h>
#include <linux/dma-mapping.h>
#include <video/sh_mobile_lcdc.h>
#include <video/sh_mipi_dsi.h>
#include <sound/sh_fsi.h>
...
...
@@ -446,6 +447,8 @@ static struct map_desc ag5evm_io_desc[] __initdata = {
static
void
__init
ag5evm_map_io
(
void
)
{
iotable_init
(
ag5evm_io_desc
,
ARRAY_SIZE
(
ag5evm_io_desc
));
/* DMA memory at 0xf6000000 - 0xffdfffff */
init_consistent_dma_size
(
158
<<
20
);
/* setup early devices and console here as well */
sh73a0_add_early_devices
();
...
...
arch/arm/mach-shmobile/board-ap4evb.c
View file @
0cd21ebc
...
...
@@ -42,6 +42,7 @@
#include <linux/leds.h>
#include <linux/input/sh_keysc.h>
#include <linux/usb/r8a66597.h>
#include <linux/dma-mapping.h>
#include <media/sh_mobile_ceu.h>
#include <media/sh_mobile_csi2.h>
...
...
@@ -1170,6 +1171,8 @@ static struct map_desc ap4evb_io_desc[] __initdata = {
static
void
__init
ap4evb_map_io
(
void
)
{
iotable_init
(
ap4evb_io_desc
,
ARRAY_SIZE
(
ap4evb_io_desc
));
/* DMA memory at 0xf6000000 - 0xffdfffff */
init_consistent_dma_size
(
158
<<
20
);
/* setup early devices and console here as well */
sh7372_add_early_devices
();
...
...
arch/arm/mach-shmobile/board-g3evm.c
View file @
0cd21ebc
...
...
@@ -32,6 +32,7 @@
#include <linux/gpio.h>
#include <linux/input.h>
#include <linux/input/sh_keysc.h>
#include <linux/dma-mapping.h>
#include <mach/sh7367.h>
#include <mach/common.h>
#include <asm/mach-types.h>
...
...
@@ -260,6 +261,8 @@ static struct map_desc g3evm_io_desc[] __initdata = {
static
void
__init
g3evm_map_io
(
void
)
{
iotable_init
(
g3evm_io_desc
,
ARRAY_SIZE
(
g3evm_io_desc
));
/* DMA memory at 0xf6000000 - 0xffdfffff */
init_consistent_dma_size
(
158
<<
20
);
/* setup early devices and console here as well */
sh7367_add_early_devices
();
...
...
arch/arm/mach-shmobile/board-g4evm.c
View file @
0cd21ebc
...
...
@@ -33,6 +33,7 @@
#include <linux/mmc/host.h>
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/gpio.h>
#include <linux/dma-mapping.h>
#include <mach/sh7377.h>
#include <mach/common.h>
#include <asm/mach-types.h>
...
...
@@ -274,6 +275,8 @@ static struct map_desc g4evm_io_desc[] __initdata = {
static
void
__init
g4evm_map_io
(
void
)
{
iotable_init
(
g4evm_io_desc
,
ARRAY_SIZE
(
g4evm_io_desc
));
/* DMA memory at 0xf6000000 - 0xffdfffff */
init_consistent_dma_size
(
158
<<
20
);
/* setup early devices and console here as well */
sh7377_add_early_devices
();
...
...
arch/arm/mach-shmobile/board-mackerel.c
View file @
0cd21ebc
...
...
@@ -45,6 +45,7 @@
#include <linux/tca6416_keypad.h>
#include <linux/usb/r8a66597.h>
#include <linux/usb/renesas_usbhs.h>
#include <linux/dma-mapping.h>
#include <video/sh_mobile_hdmi.h>
#include <video/sh_mobile_lcdc.h>
...
...
@@ -1377,6 +1378,8 @@ static struct map_desc mackerel_io_desc[] __initdata = {
static
void
__init
mackerel_map_io
(
void
)
{
iotable_init
(
mackerel_io_desc
,
ARRAY_SIZE
(
mackerel_io_desc
));
/* DMA memory at 0xf6000000 - 0xffdfffff */
init_consistent_dma_size
(
158
<<
20
);
/* setup early devices and console here as well */
sh7372_add_early_devices
();
...
...
arch/arm/mach-shmobile/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -4,7 +4,4 @@
#define PLAT_PHYS_OFFSET UL(CONFIG_MEMORY_START)
#define MEM_SIZE UL(CONFIG_MEMORY_SIZE)
/* DMA memory at 0xf6000000 - 0xffdfffff */
#define CONSISTENT_DMA_SIZE (158 << 20)
#endif
/* __ASM_MACH_MEMORY_H */
arch/arm/mach-u300/core.c
View file @
0cd21ebc
...
...
@@ -25,6 +25,7 @@
#include <linux/err.h>
#include <linux/mtd/nand.h>
#include <linux/mtd/fsmc.h>
#include <linux/dma-mapping.h>
#include <asm/types.h>
#include <asm/setup.h>
...
...
@@ -92,6 +93,8 @@ static struct map_desc u300_io_desc[] __initdata = {
void
__init
u300_map_io
(
void
)
{
iotable_init
(
u300_io_desc
,
ARRAY_SIZE
(
u300_io_desc
));
/* We enable a real big DMA buffer if need be. */
init_consistent_dma_size
(
SZ_4M
);
}
/*
...
...
arch/arm/mach-u300/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -34,9 +34,4 @@
(CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024 + 0x100)
#endif
/*
* We enable a real big DMA buffer if need be.
*/
#define CONSISTENT_DMA_SIZE SZ_4M
#endif
arch/arm/mm/dma-mapping.c
View file @
0cd21ebc
...
...
@@ -18,12 +18,14 @@
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/highmem.h>
#include <linux/slab.h>
#include <asm/memory.h>
#include <asm/highmem.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/sizes.h>
#include <asm/mach/arch.h>
#include "mm.h"
...
...
@@ -117,26 +119,37 @@ static void __dma_free_buffer(struct page *page, size_t size)
}
#ifdef CONFIG_MMU
/* Sanity check size */
#if (CONSISTENT_DMA_SIZE % SZ_2M)
#error "CONSISTENT_DMA_SIZE must be multiple of 2MiB"
#endif
#define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT)
#define CONSISTENT_
PTE_INDEX(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PGDIR
_SHIFT)
#define
NUM_CONSISTENT_PTES (CONSISTENT_DMA_SIZE
>> PGDIR_SHIFT)
#define CONSISTENT_
OFFSET(x) (((unsigned long)(x) - consistent_base) >> PAGE
_SHIFT)
#define
CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - consistent_base)
>> PGDIR_SHIFT)
/*
* These are the page tables (2MB each) covering uncached, DMA consistent allocations
*/
static
pte_t
*
consistent_pte
[
NUM_CONSISTENT_PTES
];
static
pte_t
**
consistent_pte
;
#define DEFAULT_CONSISTENT_DMA_SIZE SZ_2M
unsigned
long
consistent_base
=
CONSISTENT_END
-
DEFAULT_CONSISTENT_DMA_SIZE
;
void
__init
init_consistent_dma_size
(
unsigned
long
size
)
{
unsigned
long
base
=
CONSISTENT_END
-
ALIGN
(
size
,
SZ_2M
);
BUG_ON
(
consistent_pte
);
/* Check we're called before DMA region init */
BUG_ON
(
base
<
VMALLOC_END
);
/* Grow region to accommodate specified size */
if
(
base
<
consistent_base
)
consistent_base
=
base
;
}
#include "vmregion.h"
static
struct
arm_vmregion_head
consistent_head
=
{
.
vm_lock
=
__SPIN_LOCK_UNLOCKED
(
&
consistent_head
.
vm_lock
),
.
vm_list
=
LIST_HEAD_INIT
(
consistent_head
.
vm_list
),
.
vm_start
=
CONSISTENT_BASE
,
.
vm_end
=
CONSISTENT_END
,
};
...
...
@@ -155,7 +168,17 @@ static int __init consistent_init(void)
pmd_t
*
pmd
;
pte_t
*
pte
;
int
i
=
0
;
u32
base
=
CONSISTENT_BASE
;
unsigned
long
base
=
consistent_base
;
unsigned
long
num_ptes
=
(
CONSISTENT_END
-
base
)
>>
PGDIR_SHIFT
;
consistent_pte
=
kmalloc
(
num_ptes
*
sizeof
(
pte_t
),
GFP_KERNEL
);
if
(
!
consistent_pte
)
{
pr_err
(
"%s: no memory
\n
"
,
__func__
);
return
-
ENOMEM
;
}
pr_debug
(
"DMA memory: 0x%08lx - 0x%08lx:
\n
"
,
base
,
CONSISTENT_END
);
consistent_head
.
vm_start
=
base
;
do
{
pgd
=
pgd_offset
(
&
init_mm
,
base
);
...
...
@@ -198,7 +221,7 @@ __dma_alloc_remap(struct page *page, size_t size, gfp_t gfp, pgprot_t prot)
size_t
align
;
int
bit
;
if
(
!
consistent_pte
[
0
]
)
{
if
(
!
consistent_pte
)
{
printk
(
KERN_ERR
"%s: not initialised
\n
"
,
__func__
);
dump_stack
();
return
NULL
;
...
...
arch/arm/mm/init.c
View file @
0cd21ebc
...
...
@@ -653,9 +653,6 @@ void __init mem_init(void)
" ITCM : 0x%08lx - 0x%08lx (%4ld kB)
\n
"
#endif
" fixmap : 0x%08lx - 0x%08lx (%4ld kB)
\n
"
#ifdef CONFIG_MMU
" DMA : 0x%08lx - 0x%08lx (%4ld MB)
\n
"
#endif
" vmalloc : 0x%08lx - 0x%08lx (%4ld MB)
\n
"
" lowmem : 0x%08lx - 0x%08lx (%4ld MB)
\n
"
#ifdef CONFIG_HIGHMEM
...
...
@@ -674,9 +671,6 @@ void __init mem_init(void)
MLK
(
ITCM_OFFSET
,
(
unsigned
long
)
itcm_end
),
#endif
MLK
(
FIXADDR_START
,
FIXADDR_TOP
),
#ifdef CONFIG_MMU
MLM
(
CONSISTENT_BASE
,
CONSISTENT_END
),
#endif
MLM
(
VMALLOC_START
,
VMALLOC_END
),
MLM
(
PAGE_OFFSET
,
(
unsigned
long
)
high_memory
),
#ifdef CONFIG_HIGHMEM
...
...
@@ -699,9 +693,6 @@ void __init mem_init(void)
* be detected at build time already.
*/
#ifdef CONFIG_MMU
BUILD_BUG_ON
(
VMALLOC_END
>
CONSISTENT_BASE
);
BUG_ON
(
VMALLOC_END
>
CONSISTENT_BASE
);
BUILD_BUG_ON
(
TASK_SIZE
>
MODULES_VADDR
);
BUG_ON
(
TASK_SIZE
>
MODULES_VADDR
);
#endif
...
...
arch/arm/plat-mxc/include/mach/memory.h
View file @
0cd21ebc
...
...
@@ -40,19 +40,4 @@
# endif
#endif
#if defined(CONFIG_MX3_VIDEO)
/*
* Increase size of DMA-consistent memory region.
* This is required for mx3 camera driver to capture at least two QXGA frames.
*/
#define CONSISTENT_DMA_SIZE SZ_8M
#elif defined(CONFIG_MX1_VIDEO) || defined(CONFIG_VIDEO_MX2_HOSTSUPPORT)
/*
* Increase size of DMA-consistent memory region.
* This is required for i.MX camera driver to capture at least four VGA frames.
*/
#define CONSISTENT_DMA_SIZE SZ_4M
#endif
/* CONFIG_MX1_VIDEO || CONFIG_VIDEO_MX2_HOSTSUPPORT */
#endif
/* __ASM_ARCH_MXC_MEMORY_H__ */
arch/arm/plat-omap/include/plat/io.h
View file @
0cd21ebc
...
...
@@ -309,6 +309,8 @@ extern void omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0,
void
__iomem
*
omap_ioremap
(
unsigned
long
phys
,
size_t
size
,
unsigned
int
type
);
void
omap_iounmap
(
volatile
void
__iomem
*
addr
);
extern
void
__init
omap_init_consistent_dma_size
(
void
);
#endif
#endif
arch/arm/plat-omap/include/plat/memory.h
View file @
0cd21ebc
...
...
@@ -85,18 +85,5 @@
#endif
/* CONFIG_ARCH_OMAP15XX */
/* Override the ARM default */
#ifdef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE
#if (CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE == 0)
#undef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE
#define CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE 2
#endif
#define CONSISTENT_DMA_SIZE \
(((CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE + 1) & ~1) * 1024 * 1024)
#endif
#endif
arch/arm/plat-omap/io.c
View file @
0cd21ebc
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <linux/io.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <plat/omap7xx.h>
#include <plat/omap1510.h>
...
...
@@ -139,3 +140,10 @@ void omap_iounmap(volatile void __iomem *addr)
__iounmap
(
addr
);
}
EXPORT_SYMBOL
(
omap_iounmap
);
void
__init
omap_init_consistent_dma_size
(
void
)
{
#ifdef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE
init_consistent_dma_size
(
CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE
<<
20
);
#endif
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment