drivers: video: msm: fixed the color banding issue. (Credit to marc1706)
dfe41d02ca
This commit is contained in:
parent
dc9dd2b9a1
commit
6d2048e7da
@ -163,7 +163,6 @@ static int lcdc_hw_init(struct mdp_lcdc_info *lcdc)
|
||||
clk_set_rate(lcdc->pclk, lcdc->parms.clk_rate);
|
||||
clk_set_rate(lcdc->pad_pclk, lcdc->parms.clk_rate);
|
||||
|
||||
#ifndef CONFIG_MACH_HTCLEO
|
||||
/* write the lcdc params */
|
||||
mdp_writel(lcdc->mdp, lcdc->parms.hsync_ctl, MDP_LCDC_HSYNC_CTL);
|
||||
mdp_writel(lcdc->mdp, lcdc->parms.vsync_period, MDP_LCDC_VSYNC_PERIOD);
|
||||
@ -191,15 +190,21 @@ static int lcdc_hw_init(struct mdp_lcdc_info *lcdc)
|
||||
mdp_writel(lcdc->mdp, 0, MDP_DMA_P_OUT_XY);
|
||||
|
||||
dma_cfg = mdp_readl(lcdc->mdp, MDP_DMA_P_CONFIG);
|
||||
if (lcdc->pdata->overrides & MSM_MDP_LCDC_DMA_PACK_ALIGN_LSB)
|
||||
dma_cfg &= ~DMA_PACK_ALIGN_MSB;
|
||||
else
|
||||
dma_cfg |= DMA_PACK_ALIGN_MSB;
|
||||
|
||||
dma_cfg |= (DMA_PACK_PATTERN_RGB |
|
||||
DMA_DITHER_EN);
|
||||
#if defined(CONFIG_MACH_HTCLEO)
|
||||
dma_cfg |= (DMA_PACK_ALIGN_MSB |
|
||||
DMA_PACK_PATTERN_RGB |
|
||||
DMA_DITHER_EN);
|
||||
dma_cfg |= DMA_OUT_SEL_LCDC;
|
||||
dma_cfg |= DMA_IBUF_FORMAT_RGB565;
|
||||
//dma_cfg &= ~DMA_DITHER_EN; // solve color banding issue - marc1706
|
||||
dma_cfg &= ~DMA_DST_BITS_MASK;
|
||||
#else
|
||||
dma_cfg |= (DMA_PACK_ALIGN_LSB |
|
||||
DMA_PACK_PATTERN_RGB |
|
||||
DMA_DITHER_EN);
|
||||
dma_cfg |= DMA_OUT_SEL_LCDC;
|
||||
dma_cfg &= ~DMA_DST_BITS_MASK;
|
||||
#endif
|
||||
|
||||
if(lcdc->color_format == MSM_MDP_OUT_IF_FMT_RGB565)
|
||||
dma_cfg |= DMA_DSTC0G_6BITS | DMA_DSTC1B_5BITS | DMA_DSTC2R_5BITS;
|
||||
@ -210,7 +215,6 @@ static int lcdc_hw_init(struct mdp_lcdc_info *lcdc)
|
||||
|
||||
/* enable the lcdc timing generation */
|
||||
mdp_writel(lcdc->mdp, 1, MDP_LCDC_EN);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user