[Meego-kernel] [PATCH 2/2] GFX: Fix for Bugzilla 10748 ([REG]Gfx driver 0031 result in slow response in UI operation).

hitesh.k.patel at intel.com hitesh.k.patel at intel.com
Tue Dec 7 17:21:12 PST 2010


From: Austin Hu <austin.hu at intel.com>

Dmesg shows time out when checking MIPI adapter command registers after loading graphics module on nCDK.
The issue is related to that when writing KBBC profile, the DSI control register is set to receive 17 bytes MCS
command, but the DSI data register just gets 16 bytes.

So fix it by setting the DSI control register when writing hysteresis, display profile kbbc profile and gamma
setting values with the actual command length.

Signed-off-by: Austin Hu <austin.hu at intel.com>
Signed-off-by: Hitesh K. Patel <hitesh.k.patel at intel.com>
---
 drivers/staging/mrst/drv/mdfld_dsi_output.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/mrst/drv/mdfld_dsi_output.c b/drivers/staging/mrst/drv/mdfld_dsi_output.c
index ecc8046..67f5bb2 100644
--- a/drivers/staging/mrst/drv/mdfld_dsi_output.c
+++ b/drivers/staging/mrst/drv/mdfld_dsi_output.c
@@ -153,7 +153,7 @@ static void mdfld_dsi_write_hysteresis (struct mdfld_dsi_config * dsi_config, in
 		p_gen_data_val++;
 	}
 
-	gen_ctrl_val = 65 << WORD_COUNTS_POS;
+	gen_ctrl_val = ARRAY_SIZE(mdfld_dbi_mcs_hysteresis) << WORD_COUNTS_POS;
 	gen_ctrl_val |= dcsChannelNumber << DCS_CHANNEL_NUMBER_POS;
 	gen_ctrl_val |= MCS_LONG_WRITE;
 	REG_WRITE(hs_gen_ctrl_reg, gen_ctrl_val);
@@ -187,7 +187,7 @@ static void mdfld_dsi_write_display_profile (struct mdfld_dsi_config * dsi_confi
 		p_gen_data_val++;
 	}
 
-	gen_ctrl_val = 17 << WORD_COUNTS_POS;
+	gen_ctrl_val = ARRAY_SIZE(mdfld_dbi_mcs_display_profile) << WORD_COUNTS_POS;
 	gen_ctrl_val |= dcsChannelNumber << DCS_CHANNEL_NUMBER_POS;
 	gen_ctrl_val |= MCS_LONG_WRITE;
 	REG_WRITE(hs_gen_ctrl_reg, gen_ctrl_val);
@@ -221,7 +221,7 @@ static void mdfld_dsi_write_kbbc_profile (struct mdfld_dsi_config * dsi_config,
 		p_gen_data_val++;
 	}
 
-	gen_ctrl_val = 17 << WORD_COUNTS_POS;
+	gen_ctrl_val = ARRAY_SIZE(mdfld_dbi_mcs_kbbc_profile) << WORD_COUNTS_POS;
 	gen_ctrl_val |= dcsChannelNumber << DCS_CHANNEL_NUMBER_POS;
 	gen_ctrl_val |= MCS_LONG_WRITE;
 	REG_WRITE(hs_gen_ctrl_reg, gen_ctrl_val);
@@ -255,7 +255,7 @@ static void mdfld_dsi_write_gamma_setting (struct mdfld_dsi_config * dsi_config,
 		p_gen_data_val++;
 	}
 
-	gen_ctrl_val = 9 << WORD_COUNTS_POS;
+	gen_ctrl_val = ARRAY_SIZE(mdfld_dbi_mcs_gamma_profile) << WORD_COUNTS_POS;
 	gen_ctrl_val |= dcsChannelNumber << DCS_CHANNEL_NUMBER_POS;
 	gen_ctrl_val |= MCS_LONG_WRITE;
 	REG_WRITE(hs_gen_ctrl_reg, gen_ctrl_val);
-- 
1.7.1



More information about the MeeGo-kernel mailing list