diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.22.19/fixes.patch')
-rw-r--r-- | meta/recipes-kernel/linux/linux-omap-2.6.22.19/fixes.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.22.19/fixes.patch b/meta/recipes-kernel/linux/linux-omap-2.6.22.19/fixes.patch new file mode 100644 index 0000000000..df1bcc71a8 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.22.19/fixes.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | Index: linux-2.6.22.19/arch/arm/Makefile | ||
2 | =================================================================== | ||
3 | --- linux-2.6.22.19.orig/arch/arm/Makefile 2008-07-18 18:04:40.000000000 +0100 | ||
4 | +++ linux-2.6.22.19/arch/arm/Makefile 2008-07-18 18:07:38.000000000 +0100 | ||
5 | @@ -47,7 +47,7 @@ | ||
6 | # Note that GCC does not numerically define an architecture version | ||
7 | # macro, but instead defines a whole series of macros which makes | ||
8 | # testing for a specific architecture or later rather impossible. | ||
9 | -arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7a,-march=armv5t -Wa$(comma)-march=armv7a) | ||
10 | +arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a) | ||
11 | arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6) | ||
12 | # Only override the compiler option if ARMv6. The ARMv6K extensions are | ||
13 | # always available in ARMv7 | ||
14 | Index: linux-2.6.22.19/drivers/video/omap/omap_disp_out.c | ||
15 | =================================================================== | ||
16 | --- linux-2.6.22.19.orig/drivers/video/omap/omap_disp_out.c 2008-07-18 18:53:28.000000000 +0100 | ||
17 | +++ linux-2.6.22.19/drivers/video/omap/omap_disp_out.c 2008-07-18 18:53:33.000000000 +0100 | ||
18 | @@ -80,7 +80,7 @@ | ||
19 | #ifdef CONFIG_FB_OMAP_LCD_VGA | ||
20 | #define H4_LCD_XRES 480 | ||
21 | #define H4_LCD_YRES 640 | ||
22 | -#define H4_LCD_PIXCLOCK_MAX 41700 /* in pico seconds */ | ||
23 | +#define H4_LCD_PIXCLOCK_MAX 46295 /* in pico seconds */ | ||
24 | #define H4_LCD_PIXCLOCK_MIN 38000 /* in pico seconds */ | ||
25 | #else | ||
26 | #ifdef CONFIG_OMAP3430_ES2 | ||
27 | Index: linux-2.6.22.19/include/asm-arm/processor.h | ||
28 | =================================================================== | ||
29 | --- linux-2.6.22.19.orig/include/asm-arm/processor.h 2008-07-18 18:33:36.000000000 +0100 | ||
30 | +++ linux-2.6.22.19/include/asm-arm/processor.h 2008-07-18 18:38:05.000000000 +0100 | ||
31 | @@ -103,14 +103,16 @@ | ||
32 | #if __LINUX_ARM_ARCH__ >= 5 | ||
33 | |||
34 | #define ARCH_HAS_PREFETCH | ||
35 | -static inline void prefetch(const void *ptr) | ||
36 | +#define prefetch(ptr) __builtin_prefetch(ptr) | ||
37 | + | ||
38 | +/*static inline void prefetch(const void *ptr) | ||
39 | { | ||
40 | __asm__ __volatile__( | ||
41 | - "pld\t%0" | ||
42 | + "pld\ta%0" | ||
43 | : | ||
44 | - : "o" (*(char *)ptr) | ||
45 | + : "p" (ptr) | ||
46 | : "cc"); | ||
47 | -} | ||
48 | +}*/ | ||
49 | |||
50 | #define ARCH_HAS_PREFETCHW | ||
51 | #define prefetchw(ptr) prefetch(ptr) | ||
52 | Index: linux-2.6.22.19/include/linux/time.h | ||
53 | =================================================================== | ||
54 | --- linux-2.6.22.19.orig/include/linux/time.h 2008-07-18 18:31:02.000000000 +0100 | ||
55 | +++ linux-2.6.22.19/include/linux/time.h 2008-07-18 18:31:36.000000000 +0100 | ||
56 | @@ -171,6 +171,10 @@ | ||
57 | { | ||
58 | ns += a->tv_nsec; | ||
59 | while(unlikely(ns >= NSEC_PER_SEC)) { | ||
60 | + /* The following asm() prevents the compiler from | ||
61 | + * optimising this loop into a modulo operation. */ | ||
62 | + asm("" : "+r"(ns)); | ||
63 | + | ||
64 | ns -= NSEC_PER_SEC; | ||
65 | a->tv_sec++; | ||
66 | } | ||