diff options
Diffstat (limited to 'recipes/linux/linux-omap-pm/dss2/0141-DSS2-VRAM-add-CONFIG_OMAP2_VRAM-flag.patch')
-rw-r--r-- | recipes/linux/linux-omap-pm/dss2/0141-DSS2-VRAM-add-CONFIG_OMAP2_VRAM-flag.patch | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/recipes/linux/linux-omap-pm/dss2/0141-DSS2-VRAM-add-CONFIG_OMAP2_VRAM-flag.patch b/recipes/linux/linux-omap-pm/dss2/0141-DSS2-VRAM-add-CONFIG_OMAP2_VRAM-flag.patch new file mode 100644 index 0000000000..562ad7a1e2 --- /dev/null +++ b/recipes/linux/linux-omap-pm/dss2/0141-DSS2-VRAM-add-CONFIG_OMAP2_VRAM-flag.patch @@ -0,0 +1,141 @@ +From 6f66d2245dc6359f7de98796f5d999a308f74179 Mon Sep 17 00:00:00 2001 +From: Tomi Valkeinen <tomi.valkeinen@nokia.com> +Date: Thu, 2 Jul 2009 11:49:07 +0300 +Subject: [PATCH 141/146] DSS2: VRAM: add CONFIG_OMAP2_VRAM flag + +CONFIG_OMAP2_VRAM controls wheter VRAM manager is compiled in or not. + +Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com> +--- + arch/arm/plat-omap/Kconfig | 3 +++ + arch/arm/plat-omap/Makefile | 3 ++- + arch/arm/plat-omap/include/mach/vram.h | 22 ++++++++++++++++++++-- + arch/arm/plat-omap/vram.c | 9 ++------- + drivers/video/omap2/omapfb/Kconfig | 1 + + 5 files changed, 28 insertions(+), 10 deletions(-) + +diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig +index efe85d0..ca06037 100644 +--- a/arch/arm/plat-omap/Kconfig ++++ b/arch/arm/plat-omap/Kconfig +@@ -183,6 +183,9 @@ config OMAP_SERIAL_WAKE + to data on the serial RX line. This allows you to wake the + system from serial console. + ++config OMAP2_VRAM ++ bool ++ + endmenu + + endif +diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile +index cfc0967..3232edc 100644 +--- a/arch/arm/plat-omap/Makefile ++++ b/arch/arm/plat-omap/Makefile +@@ -4,7 +4,7 @@ + + # Common support + obj-y := common.o sram.o clock.o devices.o dma.o mux.o gpio.o \ +- usb.o fb.o vram.o vrfb.o io.o ++ usb.o fb.o vrfb.o io.o + obj-m := + obj-n := + obj- := +@@ -25,3 +25,4 @@ obj-y += $(i2c-omap-m) $(i2c-omap-y) + # OMAP mailbox framework + obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o + ++obj-$(CONFIG_OMAP2_VRAM) += vram.o +diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h +index f6bb9fb..4f2c2e6 100644 +--- a/arch/arm/plat-omap/include/mach/vram.h ++++ b/arch/arm/plat-omap/include/mach/vram.h +@@ -21,6 +21,7 @@ + #ifndef __OMAP_VRAM_H__ + #define __OMAP_VRAM_H__ + ++#include <linux/autoconf.h> + #include <asm/types.h> + + #define OMAP_VRAM_MEMTYPE_SDRAM 0 +@@ -33,8 +34,10 @@ extern int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr); + extern int omap_vram_reserve(unsigned long paddr, size_t size); + extern void omap_vram_get_info(unsigned long *vram, unsigned long *free_vram, + unsigned long *largest_free_block); +-extern void omap2_set_sdram_vram(u32 size, u32 start); +-extern void omap2_set_sram_vram(u32 size, u32 start); ++ ++#ifdef CONFIG_OMAP2_VRAM ++extern void omap_vram_set_sdram_vram(u32 size, u32 start); ++extern void omap_vram_set_sram_vram(u32 size, u32 start); + + extern void omap_vram_reserve_sdram(void); + extern unsigned long omap_vram_reserve_sram(unsigned long sram_pstart, +@@ -42,4 +45,19 @@ extern unsigned long omap_vram_reserve_sram(unsigned long sram_pstart, + unsigned long sram_size, + unsigned long pstart_avail, + unsigned long size_avail); ++#else ++static inline void omap_vram_set_sdram_vram(u32 size, u32 start) { } ++static inline void omap_vram_set_sram_vram(u32 size, u32 start) { } ++ ++static inline void omap_vram_reserve_sdram(void) { } ++static inline unsigned long omap_vram_reserve_sram(unsigned long sram_pstart, ++ unsigned long sram_vstart, ++ unsigned long sram_size, ++ unsigned long pstart_avail, ++ unsigned long size_avail) ++{ ++ return 0; ++} ++#endif ++ + #endif +diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c +index 89ae1cf..634ce23 100644 +--- a/arch/arm/plat-omap/vram.c ++++ b/arch/arm/plat-omap/vram.c +@@ -46,8 +46,6 @@ + /* Maximum size, in reality this is smaller if SRAM is partially locked. */ + #define OMAP2_SRAM_SIZE 0xa0000 /* 640k */ + +-#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) +- + /* postponed regions are used to temporarily store region information at boot + * time when we cannot yet allocate the region list */ + #define MAX_POSTPONED_REGIONS 10 +@@ -644,17 +642,14 @@ unsigned long __init omap_vram_reserve_sram(unsigned long sram_pstart, + return reserved; + } + +-void __init omap2_set_sdram_vram(u32 size, u32 start) ++void __init omap_vram_set_sdram_vram(u32 size, u32 start) + { + omap_vram_sdram_start = start; + omap_vram_sdram_size = size; + } + +-void __init omap2_set_sram_vram(u32 size, u32 start) ++void __init omap_vram_set_sram_vram(u32 size, u32 start) + { + omap_vram_sram_start = start; + omap_vram_sram_size = size; + } +- +-#endif +- +diff --git a/drivers/video/omap2/omapfb/Kconfig b/drivers/video/omap2/omapfb/Kconfig +index 4f66033..220c58b 100644 +--- a/drivers/video/omap2/omapfb/Kconfig ++++ b/drivers/video/omap2/omapfb/Kconfig +@@ -2,6 +2,7 @@ menuconfig FB_OMAP2 + tristate "OMAP2/3 frame buffer support (EXPERIMENTAL)" + depends on FB && OMAP2_DSS + ++ select OMAP2_VRAM + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT +-- +1.6.2.4 + |