BOOL VDE_Deinit( DWORD hDeviceContext ) { VDE_MSG((_T("[VDE] ++VDE_Deinit(0x%08x)\r\n"), hDeviceContext)); if (hDeviceContext != SVE_get_driver_signature()) { VDE_ERR((_T("[VDE:ERR] VDE_Deinit() : Invalid Driver Handle[0x%08x]\r\n"), hDeviceContext)); return FALSE; } SVE_deinitialize_video_engine(); VDE_MSG((_T("[VDE] --VDE_Deinit()\r\n"))); return TRUE; }
BOOL SVE_initialize_video_engine(void) { SVEngineContext *pCtxt; VDE_MSG((_T("[VDE] ++SVE_initialize_video_engine()\r\n"))); pCtxt = SVE_get_context(); // Clear Context SVE_initialize_context(); SVE_initialize_power_context(); // map device SFR address if (SVE_map_device_address() == FALSE) { VDE_ERR((_T("[VDE:ERR] SVE_initialize_video_engine() : SVE_map_device_address() Failed\r\n"))); goto CleanUp; } // Intialize interrupt if (SVE_initialize_interrupt() == FALSE) { VDE_ERR((_T("[VDE:ERR] SVE_initialize_video_engine() : SVE_intialize_interrupt() Failed\r\n"))); goto CleanUp; } // Create Interrupt Thread if (SVE_initialize_thread() == FALSE) { VDE_ERR((_T("[VDE:ERR] SVE_initialize_video_engine() : SVE_initialize_thread() Failed\r\n"))); goto CleanUp; } // Open Power Control Driver if (SVE_initialize_power_control() == FALSE) { VDE_ERR((_T("[VDE:ERR] SVE_initialize_video_engine() : SVE_initialize_power_control() Failed\r\n"))); goto CleanUp; } // Initialize SFR Address of Sub Module LDI_initialize_register_address((void *)pCtxt->pSPIReg, (void *)pCtxt->pDispConReg, (void *)pCtxt->pGPIOReg); Disp_initialize_register_address((void *)pCtxt->pDispConReg, (void *)pCtxt->pMSMIFReg, (void *)pCtxt->pGPIOReg); Post_initialize_register_address((void *)pCtxt->pPostReg); Rotator_initialize_register_address((void *)pCtxt->pRotatorReg); TVSC_initialize_register_address((void *)pCtxt->pTVSCReg); TVEnc_initialize_register_address((void *)pCtxt->pTVEncReg, (void *)pCtxt->pGPIOReg); SVE_hw_power_control(HWPWR_DISPLAY_ON); SVE_hw_power_control(HWPWR_2D_ON); SVE_hw_clock_control(HWCLK_DISPLAY_ON); SVE_hw_clock_control(HWCLK_2D_ON); VDE_MSG((_T("[VDE] --SVE_initialize_video_engine()\r\n"))); return TRUE; CleanUp: SVE_deinitialize_video_engine(); VDE_ERR((_T("[VDE:ERR] --SVE_initialize_video_engine() : Failed\r\n"))); return FALSE; }