__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; }
__s32 BSP_disp_exit(__u32 mode) { if (!disp_initialised) return DIS_SUCCESS; if (mode == DISP_EXIT_MODE_CLEAN_ALL) { BSP_disp_close(); Scaler_Exit(0); Image_exit(0); Disp_lcdc_exit(0); Disp_TVEC_Exit(0); #ifdef CONFIG_ARCH_SUN4I Scaler_Exit(1); Image_exit(1); Disp_lcdc_exit(1); Disp_TVEC_Exit(1); #endif Display_Hdmi_Exit(); #ifdef CONFIG_ARCH_SUN5I Disp_iep_exit(0); #endif } else if (mode == DISP_EXIT_MODE_CLEAN_PARTLY) { disable_irq(INTC_IRQNO_LCDC0); free_irq(INTC_IRQNO_LCDC0, NULL); #ifdef CONFIG_ARCH_SUN4I disable_irq(INTC_IRQNO_LCDC1); free_irq(INTC_IRQNO_LCDC1, NULL); #endif disable_irq(INTC_IRQNO_SCALER0); free_irq(INTC_IRQNO_SCALER0, NULL); #ifdef CONFIG_ARCH_SUN4I disable_irq(INTC_IRQNO_SCALER1); free_irq(INTC_IRQNO_SCALER1, NULL); #endif } return DIS_SUCCESS; }