static int mipi_samsung_oled_hd_off(struct platform_device *pdev) { struct msm_fb_data_type *mfd; // u32 tmp; ENTER_FUNC2(); mfd = platform_get_drvdata(pdev); if (!mfd) return -ENODEV; if (mfd->key != MFD_KEY) return -EINVAL; if (samsung_oled_hd_state.disp_on == true) { // is_sleep = TRUE; samsung_oled_hd_state.disp_initialized = false; samsung_oled_hd_state.disp_on = false; printk("[PANTECH_LCD] power off state (oled_hd panel).... \n"); #ifdef CONFIG_PANTECH_HDMI_PW_CTRL_ON_LCD if (!HDMI_Get_Cable_State()) { hdmi_autodetect_control(HDMI_PW_OFF); HDMI_Schedule_Control(0); } #endif } EXIT_FUNC2(); return 0; }
static int mipi_samsung_oled_off(struct platform_device *pdev) { struct msm_fb_data_type *mfd; u32 tmp; ENTER_FUNC2(); mfd = platform_get_drvdata(pdev); if (!mfd) return -ENODEV; if (mfd->key != MFD_KEY) return -EINVAL; if (samsung_oled_state.disp_on == true) { #if 0 gpio_set_value_cansleep(gpio43, 0); usleep(10); gpio_set_value_cansleep(gpio43, 1); usleep(10); mipi_dsi_sw_reset(); #endif tmp = MIPI_INP(MIPI_DSI_BASE + 0xA8); tmp &= ~(1<<28); MIPI_OUTP(MIPI_DSI_BASE + 0xA8, tmp); wmb(); is_sleep = FALSE; samsung_oled_state.disp_initialized = false; samsung_oled_state.disp_on = false; printk("[PANTECH_LCD] power off state (oled panel).... \n"); #ifdef CONFIG_PANTECH_F_HDMI_PW_CTRL_ON_LCD if (!HDMI_Get_Cable_State()) { hdmi_autodetect_control(HDMI_PW_OFF); HDMI_Schedule_Control(0); } #endif } EXIT_FUNC2(); return 0; }