static void release_panel(struct device *dev, struct mxs_platform_fb_entry *pentry) { mxs_lcdif_notify_clients(MXS_LCDIF_PANEL_RELEASE, pentry); release_dotclk_panel(); mxs_lcdif_dma_release(); clk_disable(lcd_clk); clk_put(lcd_clk); }
static void release_panel(struct device *dev, struct mxs_platform_fb_entry *pentry) { DBG_PRINT("%s , line:%d\n", __FUNCTION__, __LINE__); mxs_lcdif_notify_clients(MXS_LCDIF_PANEL_RELEASE, pentry); mxs_lcdif_dma_release(); clk_disable(lcd_clk); clk_put(lcd_clk); __raw_writel(BM_LCDIF_CTRL_CLKGATE, REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET); panel_init = 0; }
static void release_panel(struct device *dev, struct mxs_platform_fb_entry *pentry) { /* Reset LCD panel signel. */ __raw_writel(BM_LCDIF_CTRL1_RESET, REGS_LCDIF_BASE + HW_LCDIF_CTRL1_CLR); mdelay(100); mxs_lcdif_notify_clients(MXS_LCDIF_PANEL_RELEASE, pentry); release_dotclk_panel(); mxs_lcdif_dma_release(); clk_disable(lcd_clk); clk_put(lcd_clk); __raw_writel(BM_LCDIF_CTRL_CLKGATE, REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET); }