int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev) { dsih_error_t result; result = mipi_dsih_close(&(dsi_ctx.dsi_inst)); if(OK != result){ FB_PRINT("sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result); return -1; } else { dsi_ctx.is_inited = 0; } dsi_core_write_function(DSI_CTL_BEGIN, R_DSI_HOST_PHY_IF_CTRL, 0); mdelay(3); return 0; }
int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev) { dsih_error_t result; dsih_ctrl_t* dsi_instance = &(dsi_ctx.dsi_inst); printk(KERN_INFO "sprdfb: [%s], dev_id = %d\n",__FUNCTION__, dev->dev_id); result = mipi_dsih_close(&(dsi_ctx.dsi_inst)); dsi_instance->status = NOT_INITIALIZED; if(OK != result){ printk(KERN_ERR "sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result); return -1; } dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0); mdelay(10); return 0; }
int32_t autotst_dsi_uninit(void) { dsih_error_t result; dsih_ctrl_t* dsi_instance = &(autotst_dsi_ctx.dsi_inst); printk(KERN_INFO "autotst_dsi: [%s]\n",__FUNCTION__); dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0); result = mipi_dsih_close(&(autotst_dsi_ctx.dsi_inst)); dsi_instance->status = NOT_INITIALIZED; autotst_dsi_ctx.status = 1; if(OK != result){ printk(KERN_ERR "autotst_dsi: [%s] fail (%d)!\n", __FUNCTION__, result); return -1; } mdelay(10); dsi_disable(); return 0; }
int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev) { dsih_error_t result; dsih_ctrl_t* dsi_instance = &(dsi_ctx.dsi_inst); printk(KERN_INFO "sprdfb: [%s], dev_id = %d\n",__FUNCTION__, dev->dev_id); #ifdef FB_DSIH_VERSION_1P21A mipi_dsih_dphy_enable_hs_clk(&(dsi_instance->phy_instance), false); #else dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0); #endif result = mipi_dsih_close(&(dsi_ctx.dsi_inst)); dsi_instance->status = NOT_INITIALIZED; dsi_ctx.status = 1; if(OK != result){ printk(KERN_ERR "sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result); return -1; } msleep(10); dsi_disable(); return 0; }