diff --git a/build_kernel.sh b/build_kernel.sh
index d1c731c78e911c4a01a85cecc0492b7ed3b854e2..98513258f01f7327d4fef80be89c53ab8deb56b3 100755
--- a/build_kernel.sh
+++ b/build_kernel.sh
@@ -142,14 +142,6 @@ function bisect_kernel {
  git bisect start
  git bisect good v3.2
  git bisect bad  v3.3-rc1
- git bisect good 2ac9d7aaccbd598b5bd19ac40761b723bb675442
- git bisect bad  a429638cac1e5c656818a45aaff78df7b743004e
- git bisect bad  54c2c5761febcca46c8037d3a81612991e6c209a
- git bisect bad  dbe950f201a8edd353b0bd9079e8d536ee4ce37c
- git bisect bad  abce00f962a11ed6f748c2569e11695a30716b53
- git bisect bad  e4e11180dfa545233e5145919b75b7fac88638df
- git bisect good 8b69791215857e3e885d27b3945759ace820794a
- git bisect bad  e8cbce976050a9f874a8b07012ddeb9b9eb59603
 
  cd ${DIR}/
 }
diff --git a/patch.sh b/patch.sh
index 652243df95e62a5e350e71bc54de78db12168e05..f9293efb6964ecf3088567d806f56ac2578cdd47 100644
--- a/patch.sh
+++ b/patch.sh
@@ -69,6 +69,9 @@ patch -s -p1 < "${DIR}/patches/display/0001-meego-modedb-add-Toshiba-LTA070B220F
 
 patch -s -p1 < "${DIR}/patches/beagle/0001-ASoC-omap-add-MODULE_ALIAS-to-mcbsp-and-pcm-drivers.patch"
 patch -s -p1 < "${DIR}/patches/beagle/0001-ASoC-omap-convert-per-board-modules-to-platform-driv.patch"
+patch -s -p1 < "${DIR}/patches/beagle/0001-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch"
+
+patch -s -p1 < "${DIR}/patches/beagle/ulcd/0001-ulcd-add-tlc59108-i2c-device.patch"
 }
 
 function dspbridge {
@@ -79,13 +82,14 @@ git pull git://github.com/RobertCNelson/linux.git dspbridge_v3.2-rc3
 function omapdrm {
 echo "[git] testing omapdrm"
 echo "[git] pulling cma driver"
-git pull git://github.com/RobertCNelson/linux.git cma-v19_v3.3-rc1
+git pull git://github.com/RobertCNelson/linux.git cma-v20_v3.3-rc2
 echo "[git] pulling drm driver"
 git pull git://github.com/RobertCNelson/linux.git omapdrm_v3.3-rc1
 
-git am "${DIR}/patches/drm/0001-ARM-OMAP-HWMOD-split-omap2-3-dispc-hwmod-class.patch"
-git am "${DIR}/patches/drm/0002-ARM-OMAP3-HWMOD-add-SYSC_HAS_ENAWAKEUP-for-dispc.patch"
-git am "${DIR}/patches/drm/0003-OMAPDSS-use-sync-versions-of-pm_runtime_put.patch"
+#v3.3-rc3
+#git am "${DIR}/patches/drm/0001-ARM-OMAP-HWMOD-split-omap2-3-dispc-hwmod-class.patch"
+#git am "${DIR}/patches/drm/0002-ARM-OMAP3-HWMOD-add-SYSC_HAS_ENAWAKEUP-for-dispc.patch"
+#git am "${DIR}/patches/drm/0003-OMAPDSS-use-sync-versions-of-pm_runtime_put.patch"
 
 #might be merged in 3.4
 git am "${DIR}/patches/drm/0001-ARM-OMAP2-3-HWMOD-Add-missing-flags-for-dispc-class.patch"
diff --git a/patches/beagle/0001-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch b/patches/beagle/0001-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8e6dc774e8873306705a2ab68179e7de17eb63ec
--- /dev/null
+++ b/patches/beagle/0001-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch
@@ -0,0 +1,29 @@
+From 2ebf7078b6eb78d75cdd453c21f8f295ebab8879 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 25 Jan 2012 15:48:36 +0100
+Subject: [PATCH] beagleboard: reinstate usage of hi-speed PLL divider
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index cf43b53..f715631 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -308,6 +308,11 @@ static struct omap_dss_device beagle_dvi_device = {
+ 	.driver_name = "dvi",
+ 	.data = &dvi_panel,
+ 	.phy.dpi.data_lines = 24,
++	.clocks = {
++		.dispc = {
++			.dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
++		},
++	},
+ 	.reset_gpio = -EINVAL,
+ };
+ 
+-- 
+1.7.4.1
+
diff --git a/patches/beagle/ulcd/0001-ulcd-add-tlc59108-i2c-device.patch b/patches/beagle/ulcd/0001-ulcd-add-tlc59108-i2c-device.patch
new file mode 100644
index 0000000000000000000000000000000000000000..4d38d864e37579bc63ba55ee8bf2e6c528b9a799
--- /dev/null
+++ b/patches/beagle/ulcd/0001-ulcd-add-tlc59108-i2c-device.patch
@@ -0,0 +1,25 @@
+From 72f19b97bb6f062aa8513717b3dd619c996ba4b4 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Tue, 31 Jan 2012 20:26:32 -0600
+Subject: [PATCH] ulcd: add tlc59108 i2c device
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index f715631..96adb42 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -566,6 +566,7 @@ static struct tsc2007_platform_data tsc2007_info = {
+ 
+ static struct i2c_board_info __initdata beagle_i2c2_bbtoys_ulcd[] = {
+ 	{
++		I2C_BOARD_INFO("tlc59108", 0x40),
+ 		I2C_BOARD_INFO("tsc2007", 0x48),
+ 		.irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_TSC2007_GPIO),
+ 		.platform_data = &tsc2007_info,
+-- 
+1.7.8.3
+
diff --git a/patches/defconfig b/patches/defconfig
index 994c586494b4d7e5db0b87ce8b2bc77aaf11c93c..b040e44eb077f84a5f69c8ac8b18199f1fb5ae1d 100644
--- a/patches/defconfig
+++ b/patches/defconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.3.0-rc2 Kernel Configuration
+# Linux/arm 3.3.0-rc3 Kernel Configuration
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -2499,7 +2499,7 @@ CONFIG_IR_RC5_SZ_DECODER=m
 CONFIG_IR_SANYO_DECODER=y
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_LIRC_CODEC=m
-# CONFIG_RC_ATI_REMOTE is not set
+CONFIG_RC_ATI_REMOTE=m
 CONFIG_IR_IMON=m
 CONFIG_IR_MCEUSB=m
 CONFIG_IR_REDRAT3=m
@@ -2557,15 +2557,15 @@ CONFIG_VIDEO_IR_I2C=m
 #
 # Audio decoders, processors and mixers
 #
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
 CONFIG_VIDEO_MSP3400=m
 CONFIG_VIDEO_CS5345=m
 CONFIG_VIDEO_CS53L32A=m
-# CONFIG_VIDEO_TLV320AIC23B is not set
+CONFIG_VIDEO_TLV320AIC23B=m
 CONFIG_VIDEO_WM8775=m
 CONFIG_VIDEO_WM8739=m
 CONFIG_VIDEO_VP27SMPX=m
@@ -2573,23 +2573,23 @@ CONFIG_VIDEO_VP27SMPX=m
 #
 # RDS decoders
 #
-# CONFIG_VIDEO_SAA6588 is not set
+CONFIG_VIDEO_SAA6588=m
 
 #
 # Video decoders
 #
 CONFIG_VIDEO_ADV7180=m
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_KS0127 is not set
-# CONFIG_VIDEO_SAA7110 is not set
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
 CONFIG_VIDEO_SAA711X=m
-# CONFIG_VIDEO_SAA7191 is not set
-# CONFIG_VIDEO_TVP514X is not set
-# CONFIG_VIDEO_TVP5150 is not set
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
 CONFIG_VIDEO_TVP7002=m
-# CONFIG_VIDEO_VPX3220 is not set
+CONFIG_VIDEO_VPX3220=m
 
 #
 # Video and audio decoders
@@ -2606,10 +2606,10 @@ CONFIG_VIDEO_CX2341X=m
 # Video encoders
 #
 CONFIG_VIDEO_SAA7127=m
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_ADV7343 is not set
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_ADV7343=m
 CONFIG_VIDEO_AK881X=m
 
 #
@@ -2618,13 +2618,13 @@ CONFIG_VIDEO_AK881X=m
 CONFIG_VIDEO_OV7670=m
 CONFIG_VIDEO_MT9V011=m
 CONFIG_VIDEO_TCM825X=m
-# CONFIG_VIDEO_SR030PC30 is not set
+CONFIG_VIDEO_SR030PC30=m
 
 #
 # Flash devices
 #
-# CONFIG_VIDEO_ADP1653 is not set
-# CONFIG_VIDEO_AS3645A is not set
+CONFIG_VIDEO_ADP1653=m
+CONFIG_VIDEO_AS3645A=m
 
 #
 # Video improvement chips
@@ -2635,7 +2635,7 @@ CONFIG_VIDEO_UPD64083=m
 #
 # Miscelaneous helper chips
 #
-# CONFIG_VIDEO_THS7303 is not set
+CONFIG_VIDEO_THS7303=m
 CONFIG_VIDEO_M52790=m
 # CONFIG_VIDEO_VIVI is not set
 CONFIG_V4L_USB_DRIVERS=y
@@ -2703,8 +2703,8 @@ CONFIG_VIDEO_CX231XX_RC=y
 CONFIG_VIDEO_CX231XX_ALSA=m
 CONFIG_VIDEO_CX231XX_DVB=m
 CONFIG_VIDEO_TM6000=m
-# CONFIG_VIDEO_TM6000_ALSA is not set
-# CONFIG_VIDEO_TM6000_DVB is not set
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
 CONFIG_VIDEO_USBVISION=m
 CONFIG_USB_ET61X251=m
 CONFIG_USB_SN9C102=m
diff --git a/patches/ref_omap2plus_defconfig b/patches/ref_omap2plus_defconfig
index 66b38b433d52cb2498161ed5a9419bfb7e3f394d..3c1a77cab0a8776df0acc179ecc447dfeb7266be 100644
--- a/patches/ref_omap2plus_defconfig
+++ b/patches/ref_omap2plus_defconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.3.0-rc2 Kernel Configuration
+# Linux/arm 3.3.0-rc3 Kernel Configuration
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1769,8 +1769,8 @@ CONFIG_LCD_PLATFORM=y
 # CONFIG_LCD_S6E63M0 is not set
 # CONFIG_LCD_LD9040 is not set
 # CONFIG_LCD_AMS369FG06 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_GENERIC=m
 # CONFIG_BACKLIGHT_ADP8860 is not set
 # CONFIG_BACKLIGHT_ADP8870 is not set
 
diff --git a/version.sh b/version.sh
index ceb2d1e4e25cfac85f6f382728e6d10219805a3e..7aa5fe79fbd5ae4388d520a13d9716280055bda7 100644
--- a/version.sh
+++ b/version.sh
@@ -9,7 +9,7 @@ KERNEL_REL=3.3
 
 #for x.x-rcX
 RC_KERNEL=3.3
-RC_PATCH=-rc2
+RC_PATCH=-rc3
 
 ABI=0