Exemplo n.º 1
0
__s32 BSP_disp_exit(__u32 mode)
{
    if(mode == DISP_EXIT_MODE_CLEAN_ALL)
    {
        BSP_disp_close();

        Scaler_Exit(0);
        //Scaler_Exit(1);
        Image_exit(0);
        //Image_exit(1);
        Disp_lcdc_exit(0);
        //Disp_lcdc_exit(1);
        Disp_TVEC_Exit(0);
        //Disp_TVEC_Exit(1);
        Display_Hdmi_Exit();
    }
    else if(mode == DISP_EXIT_MODE_CLEAN_PARTLY)
    {
        OSAL_InterruptDisable(INTC_IRQNO_LCDC0);
        OSAL_UnRegISR(INTC_IRQNO_LCDC0,Disp_lcdc_event_proc,(void*)0);

        //OSAL_InterruptDisable(INTC_IRQNO_LCDC1);
        //OSAL_UnRegISR(INTC_IRQNO_LCDC1,Disp_lcdc_event_proc,(void*)0);

        OSAL_InterruptDisable(INTC_IRQNO_SCALER0);
        OSAL_UnRegISR(INTC_IRQNO_SCALER0,Scaler_event_proc,(void*)0);

        //OSAL_InterruptDisable(INTC_IRQNO_SCALER1);
        //OSAL_UnRegISR(INTC_IRQNO_SCALER1,Scaler_event_proc,(void*)0);
    }

    return DIS_SUCCESS;
}
Exemplo n.º 2
0
s32 disp_lcd_exit(struct disp_lcd* lcd)
{
	struct disp_lcd_private_data *lcdp = disp_lcd_get_priv(lcd);

	if((NULL == lcd) || (NULL == lcdp)) {
		DE_WRN("NULL hdl!\n");
		return DIS_FAIL;
	}

	if(disp_al_query_lcd_mod(lcd->channel_id)) {
		OSAL_InterruptDisable(lcdp->irq_no);
		OSAL_UnRegISR(lcdp->irq_no, disp_lcd_event_proc,(void*)lcd->channel_id);
	}

	if(LCD_IF_DSI == lcdp->panel_info.lcd_if)	{
		OSAL_InterruptDisable(lcdp->irq_no_dsi);
		OSAL_UnRegISR(lcdp->irq_no_dsi, disp_lcd_event_proc,(void*)lcd->channel_id);
	} else if(LCD_IF_EDP == lcdp->panel_info.lcd_if)	{
		/* todo? register edp vint proc */
	}

	disp_al_lcd_exit(lcd->channel_id);
	lcd_clk_exit(lcd);

	return 0;
}
Exemplo n.º 3
0
__s32 Scaler_Exit(__u32 scaler_index)
{
	if(scaler_index == 0) {
		OSAL_InterruptDisable(gdisp.init_para.irq[DISP_MOD_FE0]);
		OSAL_UnRegISR(gdisp.init_para.irq[DISP_MOD_FE0],scaler_event_proc,(void*)scaler_index);
	} else if(scaler_index == 1) {
		OSAL_InterruptDisable(gdisp.init_para.irq[DISP_MOD_FE1]);
		OSAL_UnRegISR(gdisp.init_para.irq[DISP_MOD_FE1],scaler_event_proc,(void*)scaler_index);
	}

	DE_SCAL_DisableINT(scaler_index,DE_WB_END_IE);
	DE_SCAL_Reset(scaler_index);
	DE_SCAL_Disable(scaler_index);
	scaler_clk_off(scaler_index);
	return DIS_SUCCESS;
}
Exemplo n.º 4
0
__s32 Scaler_Exit(__u32 sel)
{
    if(sel == 0)
    {
        OSAL_InterruptDisable(INTC_IRQNO_SCALER0);
        OSAL_UnRegISR(INTC_IRQNO_SCALER0,Scaler_event_proc,(void*)sel);
    }
    else if(sel == 1)
    {
        OSAL_InterruptDisable(INTC_IRQNO_SCALER1);
        OSAL_UnRegISR(INTC_IRQNO_SCALER1,Scaler_event_proc,(void*)sel);
    }

    DE_SCAL_DisableINT(sel,DE_WB_END_IE);
    DE_SCAL_Reset(sel);
    DE_SCAL_Disable(sel);
    scaler_clk_off(sel);
    return DIS_SUCCESS;
}
Exemplo n.º 5
0
__s32 Disp_lcdc_exit(__u32 sel)
{
    if(sel == 0)
    {
        OSAL_InterruptDisable(INTC_IRQNO_LCDC0);
        OSAL_UnRegISR(INTC_IRQNO_LCDC0,Disp_lcdc_event_proc,(void*)sel);
    }
    else if(sel == 1)
    {
        OSAL_InterruptDisable(INTC_IRQNO_LCDC1);
        OSAL_UnRegISR(INTC_IRQNO_LCDC1,Disp_lcdc_event_proc,(void*)sel);
    }

    LCDC_exit(sel);

    lcdc_clk_exit(sel);

    return DIS_SUCCESS;
}
Exemplo n.º 6
0
s32 bsp_disp_exit(u32 mode)
{
	u32 num_screens;
	u32 screen_id;
	u32 num_scalers;
	u32 scaler_id;
	struct disp_lcd *lcd;
	struct disp_manager *manager;

	num_screens = bsp_disp_feat_get_num_screens();
	num_scalers = bsp_disp_feat_get_num_scalers();

	if(mode == DISP_EXIT_MODE_CLEAN_ALL) {
		/* close all mod and unregister all irq */
		for(scaler_id = 0; scaler_id < num_scalers; scaler_id++) {
			scaler_close(scaler_id);
		}
		scaler_exit();

		for(screen_id = 0; screen_id < num_screens; screen_id++) {
			lcd = disp_get_lcd(screen_id);
			manager = disp_get_layer_manager(screen_id);

			manager->exit(manager);
			lcd->exit(lcd);
		}
	}	else if(mode == DISP_EXIT_MODE_CLEAN_PARTLY) {
		/* unregister all irq */
//		OSAL_InterruptDisable(AW_IRQ_DEBE0);
//		OSAL_UnRegISR(AW_IRQ_DEBE0, manager_event_proc, (void*)0);
		OSAL_InterruptDisable(AW_IRQ_LCD0);
		OSAL_UnRegISR(AW_IRQ_LCD0, disp_lcd_event_proc, (void*)0);

//		OSAL_InterruptDisable(AW_IRQ_DEBE1);
//		OSAL_UnRegISR(AW_IRQ_DEBE1, manager_event_proc, (void*)0);
		OSAL_InterruptDisable(AW_IRQ_LCD1);
		OSAL_UnRegISR(AW_IRQ_LCD1, disp_lcd_event_proc, (void*)0);
	}

	return DIS_SUCCESS;
}