htcleo: the next bsod fix. I hope it's the last one

This commit is contained in:
Markinus 2010-10-17 18:18:04 +02:00
parent 76c611e357
commit 5dd534b1f6
2 changed files with 13 additions and 17 deletions

View File

@ -1048,7 +1048,9 @@ int mdp_probe(struct platform_device *pdev)
extern void mdp4_hw_init(struct mdp_info *mdp);
mdp4_hw_init(mdp);
#else
#ifndef CONFIG_MACH_HTCLEO
mdp_hw_init(mdp);
#endif
#endif
#if defined CONFIG_MSM_MDP302

View File

@ -163,6 +163,7 @@ 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);
@ -189,24 +190,17 @@ static int lcdc_hw_init(struct mdp_lcdc_info *lcdc)
mdp_writel(lcdc->mdp, 0, MDP_DMA_P_OUT_XY);
if(machine_is_htcleo()) {
dma_cfg = DMA_PACK_ALIGN_MSB |
DMA_PACK_PATTERN_RGB;
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_OUT_SEL_LCDC;
dma_cfg &= ~DMA_DST_BITS_MASK;
} else {
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);
dma_cfg |= DMA_OUT_SEL_LCDC;
dma_cfg &= ~DMA_DST_BITS_MASK;
dma_cfg |= (DMA_PACK_PATTERN_RGB |
DMA_DITHER_EN);
dma_cfg |= DMA_OUT_SEL_LCDC;
dma_cfg &= ~DMA_DST_BITS_MASK;
}
if(lcdc->color_format == MSM_MDP_OUT_IF_FMT_RGB565)
dma_cfg |= DMA_DSTC0G_6BITS | DMA_DSTC1B_5BITS | DMA_DSTC2R_5BITS;
else if (lcdc->color_format == MSM_MDP_OUT_IF_FMT_RGB666)
@ -216,7 +210,7 @@ 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;
}