diff --git a/openpower/linux/0005-drm-ast-const-ify-mode-setting-tables.patch b/openpower/linux/0005-drm-ast-const-ify-mode-setting-tables.patch
new file mode 100644
index 0000000..c14c5a3
--- /dev/null
+++ b/openpower/linux/0005-drm-ast-const-ify-mode-setting-tables.patch
@@ -0,0 +1,277 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Fri, 17 Feb 2017 13:45:24 +1100
+Subject: [PATCH 05/15] drm/ast: const'ify mode setting tables
+
+And fix some comment alignment & space/tabs while at it
+
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ drivers/gpu/drm/ast/ast_drv.h    |   4 +-
+ drivers/gpu/drm/ast/ast_mode.c   |   8 +--
+ drivers/gpu/drm/ast/ast_tables.h | 106 +++++++++++++++++++--------------------
+ 3 files changed, 59 insertions(+), 59 deletions(-)
+
+diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
+index 3bedcf7ddd2a..3fd9d6e96bce 100644
+--- a/drivers/gpu/drm/ast/ast_drv.h
++++ b/drivers/gpu/drm/ast/ast_drv.h
+@@ -304,8 +304,8 @@ struct ast_vbios_dclk_info {
+ };
+ 
+ struct ast_vbios_mode_info {
+-	struct ast_vbios_stdtable *std_table;
+-	struct ast_vbios_enhtable *enh_table;
++	const struct ast_vbios_stdtable *std_table;
++	const struct ast_vbios_enhtable *enh_table;
+ };
+ 
+ extern int ast_mode_init(struct drm_device *dev);
+diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
+index e26c98f51eb4..1ff596e90225 100644
+--- a/drivers/gpu/drm/ast/ast_mode.c
++++ b/drivers/gpu/drm/ast/ast_mode.c
+@@ -80,9 +80,9 @@ static bool ast_get_vbios_mode_info(struct drm_crtc *crtc, struct drm_display_mo
+ {
+ 	struct ast_private *ast = crtc->dev->dev_private;
+ 	u32 refresh_rate_index = 0, mode_id, color_index, refresh_rate;
++	const struct ast_vbios_enhtable *best = NULL;
+ 	u32 hborder, vborder;
+ 	bool check_sync;
+-	struct ast_vbios_enhtable *best = NULL;
+ 
+ 	switch (crtc->primary->fb->bits_per_pixel) {
+ 	case 8:
+@@ -146,7 +146,7 @@ static bool ast_get_vbios_mode_info(struct drm_crtc *crtc, struct drm_display_mo
+ 	refresh_rate = drm_mode_vrefresh(mode);
+ 	check_sync = vbios_mode->enh_table->flags & WideScreenMode;
+ 	do {
+-		struct ast_vbios_enhtable *loop = vbios_mode->enh_table;
++		const struct ast_vbios_enhtable *loop = vbios_mode->enh_table;
+ 
+ 		while (loop->refresh_rate != 0xff) {
+ 			if ((check_sync) &&
+@@ -225,7 +225,7 @@ static void ast_set_std_reg(struct drm_crtc *crtc, struct drm_display_mode *mode
+ 			    struct ast_vbios_mode_info *vbios_mode)
+ {
+ 	struct ast_private *ast = crtc->dev->dev_private;
+-	struct ast_vbios_stdtable *stdtable;
++	const struct ast_vbios_stdtable *stdtable;
+ 	u32 i;
+ 	u8 jreg;
+ 
+@@ -381,7 +381,7 @@ static void ast_set_dclk_reg(struct drm_device *dev, struct drm_display_mode *mo
+ 			     struct ast_vbios_mode_info *vbios_mode)
+ {
+ 	struct ast_private *ast = dev->dev_private;
+-	struct ast_vbios_dclk_info *clk_info;
++	const struct ast_vbios_dclk_info *clk_info;
+ 
+ 	clk_info = &dclk_table[vbios_mode->enh_table->dclk_index];
+ 
+diff --git a/drivers/gpu/drm/ast/ast_tables.h b/drivers/gpu/drm/ast/ast_tables.h
+index 3608d5aa7451..a4ddf901a54f 100644
+--- a/drivers/gpu/drm/ast/ast_tables.h
++++ b/drivers/gpu/drm/ast/ast_tables.h
+@@ -78,37 +78,37 @@
+ #define VCLK97_75     		0x19
+ #define VCLK118_25			0x1A
+ 
+-static struct ast_vbios_dclk_info dclk_table[] = {
+-	{0x2C, 0xE7, 0x03},					/* 00: VCLK25_175	*/
+-	{0x95, 0x62, 0x03},				        /* 01: VCLK28_322	*/
+-	{0x67, 0x63, 0x01},				        /* 02: VCLK31_5         */
+-	{0x76, 0x63, 0x01},				        /* 03: VCLK36         	*/
+-	{0xEE, 0x67, 0x01},				        /* 04: VCLK40          	*/
+-	{0x82, 0x62, 0x01}, 			        /* 05: VCLK49_5        	*/
+-	{0xC6, 0x64, 0x01},                        	        /* 06: VCLK50          	*/
+-	{0x94, 0x62, 0x01},                        	        /* 07: VCLK56_25       	*/
+-	{0x80, 0x64, 0x00},                        	        /* 08: VCLK65		*/
+-	{0x7B, 0x63, 0x00},                        	        /* 09: VCLK75	        */
+-	{0x67, 0x62, 0x00},				        /* 0A: VCLK78_75       	*/
+-	{0x7C, 0x62, 0x00},                        	        /* 0B: VCLK94_5        	*/
+-	{0x8E, 0x62, 0x00},                        	        /* 0C: VCLK108         	*/
+-	{0x85, 0x24, 0x00},                        	        /* 0D: VCLK135         	*/
+-	{0x67, 0x22, 0x00},                        	        /* 0E: VCLK157_5       	*/
+-	{0x6A, 0x22, 0x00},				        /* 0F: VCLK162         	*/
+-	{0x4d, 0x4c, 0x80},				        /* 10: VCLK154      	*/
+-	{0xa7, 0x78, 0x80},					/* 11: VCLK83.5         */
+-	{0x28, 0x49, 0x80},					/* 12: VCLK106.5        */
+-	{0x37, 0x49, 0x80},					/* 13: VCLK146.25       */
+-	{0x1f, 0x45, 0x80},					/* 14: VCLK148.5        */
+-	{0x47, 0x6c, 0x80},					/* 15: VCLK71       */
+-	{0x25, 0x65, 0x80},					/* 16: VCLK88.75    */
+-	{0x77, 0x58, 0x80},					/* 17: VCLK119      */
+-	{0x32, 0x67, 0x80},				    /* 18: VCLK85_5     */
+-	{0x6a, 0x6d, 0x80},					/* 19: VCLK97_75	*/
+-	{0x3b, 0x2c, 0x81},					/* 1A: VCLK118_25	*/
++static const struct ast_vbios_dclk_info dclk_table[] = {
++	{0x2C, 0xE7, 0x03},			/* 00: VCLK25_175	*/
++	{0x95, 0x62, 0x03},			/* 01: VCLK28_322	*/
++	{0x67, 0x63, 0x01},			/* 02: VCLK31_5		*/
++	{0x76, 0x63, 0x01},			/* 03: VCLK36		*/
++	{0xEE, 0x67, 0x01},			/* 04: VCLK40		*/
++	{0x82, 0x62, 0x01},			/* 05: VCLK49_5		*/
++	{0xC6, 0x64, 0x01},			/* 06: VCLK50		*/
++	{0x94, 0x62, 0x01},			/* 07: VCLK56_25	*/
++	{0x80, 0x64, 0x00},			/* 08: VCLK65		*/
++	{0x7B, 0x63, 0x00},			/* 09: VCLK75		*/
++	{0x67, 0x62, 0x00},			/* 0A: VCLK78_75	*/
++	{0x7C, 0x62, 0x00},			/* 0B: VCLK94_5		*/
++	{0x8E, 0x62, 0x00},			/* 0C: VCLK108		*/
++	{0x85, 0x24, 0x00},			/* 0D: VCLK135		*/
++	{0x67, 0x22, 0x00},			/* 0E: VCLK157_5	*/
++	{0x6A, 0x22, 0x00},			/* 0F: VCLK162		*/
++	{0x4d, 0x4c, 0x80},			/* 10: VCLK154		*/
++	{0xa7, 0x78, 0x80},			/* 11: VCLK83.5		*/
++	{0x28, 0x49, 0x80},			/* 12: VCLK106.5	*/
++	{0x37, 0x49, 0x80},			/* 13: VCLK146.25	*/
++	{0x1f, 0x45, 0x80},			/* 14: VCLK148.5	*/
++	{0x47, 0x6c, 0x80},			/* 15: VCLK71		*/
++	{0x25, 0x65, 0x80},			/* 16: VCLK88.75	*/
++	{0x77, 0x58, 0x80},			/* 17: VCLK119		*/
++	{0x32, 0x67, 0x80},			/* 18: VCLK85_5		*/
++	{0x6a, 0x6d, 0x80},			/* 19: VCLK97_75	*/
++	{0x3b, 0x2c, 0x81},			/* 1A: VCLK118_25	*/
+ };
+ 
+-static struct ast_vbios_stdtable vbios_stdtable[] = {
++static const struct ast_vbios_stdtable vbios_stdtable[] = {
+ 	/* MD_2_3_400 */
+ 	{
+ 		0x67,
+@@ -181,21 +181,21 @@ static struct ast_vbios_stdtable vbios_stdtable[] = {
+ 	},
+ };
+ 
+-static struct ast_vbios_enhtable res_640x480[] = {
++static const struct ast_vbios_enhtable res_640x480[] = {
+ 	{ 800, 640, 8, 96, 525, 480, 2, 2, VCLK25_175,	/* 60Hz */
+ 	  (SyncNN | HBorder | VBorder | Charx8Dot), 60, 1, 0x2E },
+ 	{ 832, 640, 16, 40, 520, 480, 1, 3, VCLK31_5,	/* 72Hz */
+ 	  (SyncNN | HBorder | VBorder | Charx8Dot), 72, 2, 0x2E  },
+ 	{ 840, 640, 16, 64, 500, 480, 1, 3, VCLK31_5,	/* 75Hz */
+ 	  (SyncNN | Charx8Dot) , 75, 3, 0x2E },
+-	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,		/* 85Hz */
++	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,	/* 85Hz */
+ 	  (SyncNN | Charx8Dot) , 85, 4, 0x2E },
+-	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,		/* end */
++	{ 832, 640, 56, 56, 509, 480, 1, 3, VCLK36,	/* end */
+ 	  (SyncNN | Charx8Dot) , 0xFF, 4, 0x2E },
+ };
+ 
+-static struct ast_vbios_enhtable res_800x600[] = {
+-	{1024, 800, 24, 72, 625, 600, 1, 2, VCLK36,		/* 56Hz */
++static const struct ast_vbios_enhtable res_800x600[] = {
++	{1024, 800, 24, 72, 625, 600, 1, 2, VCLK36,	/* 56Hz */
+ 	 (SyncPP | Charx8Dot), 56, 1, 0x30 },
+ 	{1056, 800, 40, 128, 628, 600, 1, 4, VCLK40,	/* 60Hz */
+ 	 (SyncPP | Charx8Dot), 60, 2, 0x30 },
+@@ -210,7 +210,7 @@ static struct ast_vbios_enhtable res_800x600[] = {
+ };
+ 
+ 
+-static struct ast_vbios_enhtable res_1024x768[] = {
++static const struct ast_vbios_enhtable res_1024x768[] = {
+ 	{1344, 1024, 24, 136, 806, 768, 3, 6, VCLK65,	/* 60Hz */
+ 	 (SyncNN | Charx8Dot), 60, 1, 0x31 },
+ 	{1328, 1024, 24, 136, 806, 768, 3, 6, VCLK75,	/* 70Hz */
+@@ -223,7 +223,7 @@ static struct ast_vbios_enhtable res_1024x768[] = {
+ 	 (SyncPP | Charx8Dot), 0xFF, 4, 0x31 },
+ };
+ 
+-static struct ast_vbios_enhtable res_1280x1024[] = {
++static const struct ast_vbios_enhtable res_1280x1024[] = {
+ 	{1688, 1280, 48, 112, 1066, 1024, 1, 3, VCLK108,	/* 60Hz */
+ 	 (SyncPP | Charx8Dot), 60, 1, 0x32 },
+ 	{1688, 1280, 16, 144, 1066, 1024, 1, 3, VCLK135,	/* 75Hz */
+@@ -234,7 +234,7 @@ static struct ast_vbios_enhtable res_1280x1024[] = {
+ 	 (SyncPP | Charx8Dot), 0xFF, 3, 0x32 },
+ };
+ 
+-static struct ast_vbios_enhtable res_1600x1200[] = {
++static const struct ast_vbios_enhtable res_1600x1200[] = {
+ 	{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162,	/* 60Hz */
+ 	 (SyncPP | Charx8Dot), 60, 1, 0x33 },
+ 	{2160, 1600, 64, 192, 1250, 1200, 1, 3, VCLK162,	/* end */
+@@ -242,23 +242,23 @@ static struct ast_vbios_enhtable res_1600x1200[] = {
+ };
+ 
+ /* 16:9 */
+-static struct ast_vbios_enhtable res_1360x768[] = {
+-	{1792, 1360, 64,112, 795,  768, 3, 6, VCLK85_5,	         /* 60Hz */
++static const struct ast_vbios_enhtable res_1360x768[] = {
++	{1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5,		/* 60Hz */
+ 	 (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 },
+-	{1792, 1360, 64,112, 795,  768, 3, 6, VCLK85_5,	         /* end */
++	{1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5,	         /* end */
+ 	 (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x39 },
+ };
+ 
+-static struct ast_vbios_enhtable res_1600x900[] = {
+-	{1760, 1600, 48, 32, 926,  900, 3, 5, VCLK97_75,	/* 60Hz CVT RB */
++static const struct ast_vbios_enhtable res_1600x900[] = {
++	{1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75,		/* 60Hz CVT RB */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
+-	{2112, 1600, 88,168, 934,  900, 3, 5, VCLK118_25,	/* 60Hz CVT */
++	{2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25,	/* 60Hz CVT */
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A },
+-	{2112, 1600, 88,168, 934,  900, 3, 5, VCLK118_25,	/* 60Hz CVT */
++	{2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25,	/* 60Hz CVT */
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x3A },
+ };
+ 
+-static struct ast_vbios_enhtable res_1920x1080[] = {
++static const struct ast_vbios_enhtable res_1920x1080[] = {
+ 	{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5,	/* 60Hz */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x38 },
+ 	{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5,	/* 60Hz */
+@@ -267,8 +267,8 @@ static struct ast_vbios_enhtable res_1920x1080[] = {
+ 
+ 
+ /* 16:10 */
+-static struct ast_vbios_enhtable res_1280x800[] = {
+-	{1440, 1280, 48, 32,  823,  800, 3, 6, VCLK71,	/* 60Hz RB */
++static const struct ast_vbios_enhtable res_1280x800[] = {
++	{1440, 1280, 48, 32,  823,  800, 3, 6, VCLK71,		/* 60Hz RB */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x35 },
+ 	{1680, 1280, 72,128,  831,  800, 3, 6, VCLK83_5,	/* 60Hz */
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 },
+@@ -277,7 +277,7 @@ static struct ast_vbios_enhtable res_1280x800[] = {
+ 
+ };
+ 
+-static struct ast_vbios_enhtable res_1440x900[] = {
++static const struct ast_vbios_enhtable res_1440x900[] = {
+ 	{1600, 1440, 48, 32,  926,  900, 3, 6, VCLK88_75,	/* 60Hz RB */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
+ 	{1904, 1440, 80,152,  934,  900, 3, 6, VCLK106_5,	/* 60Hz */
+@@ -286,8 +286,8 @@ static struct ast_vbios_enhtable res_1440x900[] = {
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x36 },
+ };
+ 
+-static struct ast_vbios_enhtable res_1680x1050[] = {
+-	{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119,	/* 60Hz RB */
++static const struct ast_vbios_enhtable res_1680x1050[] = {
++	{1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119,		/* 60Hz RB */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
+ 	{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25,	/* 60Hz */
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
+@@ -295,10 +295,10 @@ static struct ast_vbios_enhtable res_1680x1050[] = {
+ 	 (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x37 },
+ };
+ 
+-static struct ast_vbios_enhtable res_1920x1200[] = {
+-	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,	/* 60Hz RB*/
++static const struct ast_vbios_enhtable res_1920x1200[] = {
++	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,		/* 60Hz RB*/
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 },
+-	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,	/* 60Hz RB */
++	{2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154,		/* 60Hz RB */
+ 	 (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 },
+ };
+ 
+-- 
+2.11.0
+
