当前位置: 首页>>代码示例>>C++>>正文


C++ PR_DISP_INFO函数代码示例

本文整理汇总了C++中PR_DISP_INFO函数的典型用法代码示例。如果您正苦于以下问题:C++ PR_DISP_INFO函数的具体用法?C++ PR_DISP_INFO怎么用?C++ PR_DISP_INFO使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了PR_DISP_INFO函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: mipi_sony_panel_type_detect

void mipi_sony_panel_type_detect(struct mipi_panel_info *mipi)
{
	if (panel_type == PANEL_ID_PRIMODS_SONY) {
		PR_DISP_INFO("%s: panel_type=PANEL_ID_PRIMODS_SONY\n", __func__);
		strcat(ptype, "PANEL_ID_PRIMODS_SONY");

		mipi_power_on_cmd = primods_sony_cmd_on_cmds;
		mipi_power_on_cmd_size = ARRAY_SIZE(primods_sony_cmd_on_cmds);

		mipi_power_off_cmd = sony_display_off_cmds;
		mipi_power_off_cmd_size = ARRAY_SIZE(sony_display_off_cmds);
	} else if (panel_type == PANEL_ID_PRIMODD_SONY) {
		PR_DISP_INFO("%s: panel_type=PANEL_ID_PRIMODD_SONY\n", __func__);
		strcat(ptype, "PANEL_ID_PRIMODD_SONY");

		mipi_power_on_cmd = primods_sony_cmd_on_cmds;
		mipi_power_on_cmd_size = ARRAY_SIZE(primods_sony_cmd_on_cmds);

		mipi_power_off_cmd = sony_display_off_cmds;
		mipi_power_off_cmd_size = ARRAY_SIZE(sony_display_off_cmds);
	} else {
		printk(KERN_ERR "%s: panel_type=0x%x not support\n", __func__, panel_type);
		strcat(ptype, "PANEL_ID_NONE");
	}
	return;
}
开发者ID:Stepanowegor,项目名称:ZeroGolf-Overclocked,代码行数:26,代码来源:mipi_sony.c

示例2: mipi_dsi_cmd_reg_tx

int mipi_dsi_cmd_reg_tx(uint32 data)
{
#ifdef DSI_HOST_DEBUG
    int i;
    char *bp;

    bp = (char *)&data;
    PR_DISP_INFO("%s: ", __func__);
    for (i = 0; i < 4; i++)
        PR_DISP_INFO("%x ", *bp++);

    PR_DISP_INFO("\n");
#endif

    MIPI_OUTP(MIPI_DSI_BASE + 0x0080, 0x04);/* sw trigger */
    MIPI_OUTP(MIPI_DSI_BASE + 0x0, 0x135);

    wmb();

    MIPI_OUTP(MIPI_DSI_BASE + 0x038, data);
    wmb();
    MIPI_OUTP(MIPI_DSI_BASE + 0x08c, 0x01);	/* trigger */
    wmb();

    udelay(300);

    return 4;
}
开发者ID:ryrzy,项目名称:android_kernel_htc_shooter_u_cm10,代码行数:28,代码来源:mipi_dsi_host.c

示例3: golfu_init_panel

/*
TODO:
1.find a better way to handle msm_fb_resources, to avoid passing it across file.
2.error handling
 */
int __init golfu_init_panel(void)
{
	int ret = 0;
	if ((panel_type == PANEL_ID_PIO_SAMSUNG) ||
		(panel_type == PANEL_ID_PIO_SAMSUNG_C2))

		mipi_dsi_cmd_hvga_panel_device.name = "mipi_samsung";

	else if (panel_type == PANEL_ID_GOLFU_AUO ||
			panel_type == PANEL_ID_GOLFU_AUO_C2 ||
			panel_type == PANEL_ID_GOLFU_AUO_C3 ||
			panel_type == PANEL_ID_GOLFU_AUO_C4)
		mipi_dsi_cmd_hvga_panel_device.name = "mipi_orise";
	else
		golfu_panel_power(0);

	PR_DISP_INFO("panel_type= 0x%x\n", panel_type);
	PR_DISP_INFO("%s: %s\n", __func__, mipi_dsi_cmd_hvga_panel_device.name);

	mipi_golfu_panel_data.shrink_pwm = golfu_shrink_pwm;


	ret = platform_device_register(&msm_fb_device);
	ret = platform_device_register(&mipi_dsi_cmd_hvga_panel_device);

	msm_fb_add_devices();

	return 0;
}
开发者ID:1111saeid,项目名称:jb_kernel_3.0.16_htc_golfu,代码行数:34,代码来源:board-golfu-panel.c

示例4: deluxe_j_panel_init

static int __init deluxe_j_panel_init(void)
{
	int ret;

	if(panel_type == PANEL_ID_NONE)	{
		PR_DISP_INFO("%s panel ID = PANEL_ID_NONE\n", __func__);
		return 0;
	}

	ret = i2c_add_driver(&pwm_i2c_driver);

	if (ret)
		pr_err(KERN_ERR "%s: failed to add i2c driver\n", __func__);

	mipi_dsi_buf_alloc(&deluxe_j_panel_tx_buf, DSI_BUF_SIZE);
	mipi_dsi_buf_alloc(&deluxe_j_panel_rx_buf, DSI_BUF_SIZE);

	if (panel_type == PANEL_ID_DLXJ_SHARP_RENESAS) {
		mipi_video_sharp_init();
		PR_DISP_INFO("%s panel ID = PANEL_ID_DLXJ_SHARP_RENESAS\n", __func__);
	} else if (panel_type == PANEL_ID_DLXJ_SONY_RENESAS) {
		mipi_video_sony_init();
		PR_DISP_INFO("%s panel ID = PANEL_ID_DLXJ_SONY_RENESAS\n", __func__);
	} else {
		PR_DISP_ERR("%s: panel not supported!!\n", __func__);
		return -ENODEV;
	}

	PR_DISP_INFO("%s\n", __func__);

	return platform_driver_register(&this_driver);
}
开发者ID:schqiushui,项目名称:HTL21-KitKat-3.4.X,代码行数:32,代码来源:board-deluxe_j-display.c

示例5: impression_j_panel_init

static int __init impression_j_panel_init(void)
{

	if(panel_type == PANEL_ID_NONE)	{
		PR_DISP_INFO("%s panel ID = PANEL_ID_NONE\n", __func__);
		return 0;
	}

	mipi_dsi_buf_alloc(&impression_j_panel_tx_buf, DSI_BUF_SIZE);
	mipi_dsi_buf_alloc(&impression_j_panel_rx_buf, DSI_BUF_SIZE);

	if (panel_type == PANEL_ID_IMN_SHARP_HX) {
		mipi_cmd_sharp_init();
		PR_DISP_INFO("%s panel ID = PANEL_ID_IMN_SHARP_HX\n", __func__);
	} else if (panel_type == PANEL_ID_IMN_SHARP_NT) {
		mipi_video_sharp_nt_720p_pt_init();
		PR_DISP_INFO("%s panel ID = PANEL_ID_IMN_SHARP_NT\n", __func__);

	} else {
		PR_DISP_ERR("%s: panel not supported!!\n", __func__);
		return -ENODEV;
	}

	PR_DISP_INFO("%s\n", __func__);

	return platform_driver_register(&this_driver);
}
开发者ID:BackupWildfireDEV,项目名称:ElementalX-Sense-5.0.2,代码行数:27,代码来源:board-impression_j-display.c

示例6: ville_samsung_acl_enable

static int ville_samsung_acl_enable(int on, struct msm_fb_data_type *mfd)
{
	static int first_time = 1;
	static unsigned long last_autobkl_stat = 0, cur_autobkl_stat = 0;

	
	if(cur_bl_level > 245)
		cur_autobkl_stat = 8;
	else
		cur_autobkl_stat = on;

	if(cur_autobkl_stat == last_autobkl_stat)
		return 0;

	last_autobkl_stat = cur_autobkl_stat;

	if (cur_autobkl_stat == 8 && !first_time) {
		if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) {
			mipi_dsi_cmds_tx(&ville_panel_tx_buf, samsung_acl_off_cmd,
				ARRAY_SIZE(samsung_acl_off_cmd));
			acl_enable = 0;
			PR_DISP_INFO("%s acl disable", __func__);
		}
	} else if (cur_autobkl_stat == 12) {
		if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) {
			mipi_dsi_cmds_tx(&ville_panel_tx_buf, samsung_acl_on_cmd,
				ARRAY_SIZE(samsung_acl_on_cmd));
			acl_enable = 1;
			PR_DISP_INFO("%s acl enable", __func__);
		}
	}
	first_time = 0;

	return 0;
}
开发者ID:vvadyck,项目名称:ville-4.2.2-sense5-evitaul_porting,代码行数:35,代码来源:board-ville-panel.c

示例7: mipi_samsung_panel_type_detect

void mipi_samsung_panel_type_detect(struct mipi_panel_info *mipi)
{
	if (panel_type == PANEL_ID_PIO_SAMSUNG) {
		PR_DISP_INFO("%s: panel_type=PANEL_ID_PIO_SAMSUNG\n", __func__);
		strcat(ptype, "PANEL_ID_PIO_SAMSUNG");
		if (mipi->mode == DSI_VIDEO_MODE) {
			mipi_power_on_cmd = pico_samsung_cmd_on_cmds;
			mipi_power_on_cmd_size = ARRAY_SIZE(pico_samsung_cmd_on_cmds);
		} else {
			mipi_power_on_cmd = pico_samsung_cmd_on_cmds;
			mipi_power_on_cmd_size = ARRAY_SIZE(pico_samsung_cmd_on_cmds);
		}
		mipi_power_off_cmd = samsung_display_off_cmds;
		mipi_power_off_cmd_size = ARRAY_SIZE(samsung_display_off_cmds);
	} else if (panel_type == PANEL_ID_PIO_SAMSUNG_C2) {
		PR_DISP_INFO("%s: panel_type=PANEL_ID_PIO_SAMSUNG_C2\n", __func__);
		strcat(ptype, "PANEL_ID_PIO_SAMSUNG_C2");
		if (mipi->mode == DSI_VIDEO_MODE) {
			mipi_power_on_cmd = pico_samsung_C2_cmd_on_cmds;
			mipi_power_on_cmd_size = ARRAY_SIZE(pico_samsung_C2_cmd_on_cmds);
		} else {
			mipi_power_on_cmd = pico_samsung_C2_cmd_on_cmds;
			mipi_power_on_cmd_size = ARRAY_SIZE(pico_samsung_C2_cmd_on_cmds);
		}
		mipi_power_off_cmd = samsung_display_off_cmds;
		mipi_power_off_cmd_size = ARRAY_SIZE(samsung_display_off_cmds);
	} else {
		printk(KERN_ERR "%s: panel_type=0x%x not support\n", __func__, panel_type);
		strcat(ptype, "PANEL_ID_NONE");
	}
	return;
}
开发者ID:Stepanowegor,项目名称:ZeroGolf-Overclocked,代码行数:32,代码来源:mipi_samsung.c

示例8: deluxe_j_detect_panel

static int deluxe_j_detect_panel(const char *name)
{
#if 0
	if (panel_type == PANEL_ID_DLX_SONY_RENESAS) {
		if (!strncmp(name, MIPI_RENESAS_PANEL_NAME,
			strnlen(MIPI_RENESAS_PANEL_NAME,
				PANEL_NAME_MAX_LEN))){
			PR_DISP_INFO("deluxe_j_%s\n", name);
			return 0;
		}
	} else if (panel_type == PANEL_ID_DLX_SHARP_RENESAS) {
		if (!strncmp(name, MIPI_RENESAS_PANEL_NAME,
			strnlen(MIPI_RENESAS_PANEL_NAME,
				PANEL_NAME_MAX_LEN))){
			PR_DISP_INFO("deluxe_j_%s\n", name);
			return 0;
		}
	}
#endif
	if (!strncmp(name, HDMI_PANEL_NAME,
		strnlen(HDMI_PANEL_NAME,
			PANEL_NAME_MAX_LEN)))
		return 0;

	return -ENODEV;
}
开发者ID:schqiushui,项目名称:HTL21-KitKat-3.4.X,代码行数:26,代码来源:board-deluxe_j-display.c

示例9: lcdc_off

static int lcdc_off(struct platform_device *pdev)
{
	int ret = 0;
	struct msm_fb_data_type *mfd;

	PR_DISP_INFO("+ %s\n", __func__);
	mfd = platform_get_drvdata(pdev);
	ret = panel_next_off(pdev);

	clk_disable(pixel_mdp_clk);
	clk_disable(pixel_lcdc_clk);

	if (lcdc_pdata && lcdc_pdata->lcdc_power_save)
		lcdc_pdata->lcdc_power_save(0);

	if (lcdc_pdata && lcdc_pdata->lcdc_gpio_config)
		ret = lcdc_pdata->lcdc_gpio_config(0);

#ifndef CONFIG_MSM_BUS_SCALING
	if (mfd->ebi1_clk)
		clk_disable(mfd->ebi1_clk);
#else
	mdp_bus_scale_update_request(0);
#endif
	PR_DISP_INFO("- %s\n", __func__);
	return ret;
}
开发者ID:AmeriCanAndroid,项目名称:kernel-android-msm-2.6.35,代码行数:27,代码来源:lcdc.c

示例10: htc_hiaaero_panel_power_on

static int htc_hiaaero_panel_power_on(struct mdss_panel_data *pdata, int enable)
{
	int ret;

	struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
	struct dsi_power_data *pwrdata = NULL;

	PR_DISP_INFO("%s: en=%d\n", __func__, enable);
	if (pdata == NULL) {
		PR_DISP_ERR("%s: Invalid input data\n", __func__);
		return -EINVAL;
	}

	ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data);
	pwrdata = ctrl_pdata->dsi_pwrctrl_data;

	if (!pwrdata) {
		PR_DISP_ERR("%s: pwrdata not initialized\n", __func__);
		return -EINVAL;
	}

	if (enable) {
		
		ret = regulator_set_optimum_mode(pwrdata->vci, 100000);
		if (ret < 0) {
			PR_DISP_ERR("%s: vdda set opt mode failed.\n",
				__func__);
			return ret;
		}
		ret = regulator_enable(pwrdata->vci);
		if (ret) {
			PR_DISP_ERR("%s: Failed to enable regulator.\n",__func__);
			return ret;
		}
		usleep_range(1000,1500);
		
		gpio_set_value(pwrdata->vdd1v8, 1);
	} else {
		
		gpio_set_value(pwrdata->vdd1v8, 0);
		
		
		ret = regulator_disable(pwrdata->vci);
		if (ret) {
			PR_DISP_ERR("%s: Failed to disable vdda regulator.\n",
				__func__);
			return ret;
		}
		ret = regulator_set_optimum_mode(pwrdata->vci, 100);
		if (ret < 0) {
			PR_DISP_ERR("%s: vddpll_vreg set opt mode failed.\n",
				__func__);
			return ret;
		}
	}
	PR_DISP_INFO("%s: en=%d done\n", __func__, enable);

	return 0;
}
开发者ID:CaptainThrowback,项目名称:android_kernel_htc_hiae,代码行数:59,代码来源:htc_hiaaero-panel.c

示例11: lcdc_on

static int lcdc_on(struct platform_device *pdev)
{
	int ret = 0;
	struct msm_fb_data_type *mfd;
	unsigned long panel_pixclock_freq = 0;
#ifndef CONFIG_MSM_BUS_SCALING
	unsigned long pm_qos_rate;
#endif
	PR_DISP_INFO("+ %s\n", __func__);
	mfd = platform_get_drvdata(pdev);

	if (lcdc_pdata && lcdc_pdata->lcdc_get_clk)
		panel_pixclock_freq = lcdc_pdata->lcdc_get_clk();

	if (!panel_pixclock_freq)
		panel_pixclock_freq = mfd->fbi->var.pixclock;
#ifdef CONFIG_MSM_BUS_SCALING
	mdp_bus_scale_update_request(2);
#else
#ifdef CONFIG_MSM_NPA_SYSTEM_BUS
	pm_qos_rate = MSM_AXI_FLOW_MDP_LCDC_WVGA_2BPP;
#else
	if (panel_pixclock_freq > 65000000)
		/* pm_qos_rate should be in Khz */
		pm_qos_rate = panel_pixclock_freq / 1000 ;
	else
		pm_qos_rate = 65000;
#endif

	if (mfd->ebi1_clk) {
		clk_set_rate(mfd->ebi1_clk, pm_qos_rate * 1000);
		clk_enable(mfd->ebi1_clk);
	}
#endif
	mfd = platform_get_drvdata(pdev);

	mfd->fbi->var.pixclock = clk_round_rate(pixel_mdp_clk,
					mfd->fbi->var.pixclock);
	ret = clk_set_rate(pixel_mdp_clk, mfd->fbi->var.pixclock);
	if (ret) {
		pr_err("%s: Can't set MDP LCDC pixel clock to rate %u\n",
			__func__, mfd->fbi->var.pixclock);
		goto out;
	}

	clk_enable(pixel_mdp_clk);
	clk_enable(pixel_lcdc_clk);

	if (lcdc_pdata && lcdc_pdata->lcdc_power_save)
		lcdc_pdata->lcdc_power_save(1);
	if (lcdc_pdata && lcdc_pdata->lcdc_gpio_config)
		ret = lcdc_pdata->lcdc_gpio_config(1);

	ret = panel_next_on(pdev);

out:
	PR_DISP_INFO("- %s\n", __func__);
	return ret;
}
开发者ID:AmeriCanAndroid,项目名称:kernel-android-msm-2.6.35,代码行数:59,代码来源:lcdc.c

示例12: mipi_dsi_controller_cfg

/*
 * mutex need to be acquired by caller
 */
void mipi_dsi_controller_cfg(int enable, int cmd, int video)
{

    uint32 dsi_ctrl;
    uint32 status, mask;
    int cnt;

    mask = 0x02;		/* CMD_MODE_DMA_BUSY */

    if (!cmd || !video) {
        if (cmd)
            mask |= 0x08; /* VIDEO_MODE_ENGINE_BUSY */
        else
            mask |= 0x04; /* CMD_MODE_MDP_BUSY */
    }

    cnt = 16;
    while (cnt--) {
        status = MIPI_INP(MIPI_DSI_BASE + 0x0004);
        status &= mask;
        if (status == 0)
            break;
        usleep(1000);
    }
    if (cnt == 0)
        PR_DISP_INFO("%s: DSI status=%x failed\n", __func__, status);

    cnt = 16;
    while (cnt--) {
        status = MIPI_INP(MIPI_DSI_BASE + 0x0008);
        status &= 0x11111000;	/* x_HS_FIFO_EMPTY */
        if (status == 0x11111000)	/* all empty */
            break;
        usleep(1000);
    }

    if (cnt == 0)
        PR_DISP_INFO("%s: FIFO status=%x failed\n", __func__, status);

    dsi_ctrl = MIPI_INP(MIPI_DSI_BASE + 0x0000);
    if (enable)
        dsi_ctrl |= 0x01;
    else
        dsi_ctrl &= ~0x01;

    if (cmd && video) {
        dsi_ctrl |= 0x06;
    } else if (cmd) {
        dsi_ctrl &= ~0x02;
        dsi_ctrl |= 0x04;
    } else if (video) {
        dsi_ctrl &= ~0x04;
        dsi_ctrl |= 0x02;
    }

    MIPI_OUTP(MIPI_DSI_BASE + 0x0000, dsi_ctrl);
    wmb();
}
开发者ID:ryrzy,项目名称:android_kernel_htc_shooter_u_cm10,代码行数:61,代码来源:mipi_dsi_host.c

示例13: mipi_himax_lcd_on

// -----------------------------------------------------------------------------
//                         Common Routine Implementation
// -----------------------------------------------------------------------------
static int mipi_himax_lcd_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd;
	struct mipi_panel_info *mipi;

	mfd = platform_get_drvdata(pdev);
	if (!mfd)
		return -ENODEV;
	if (mfd->key != MFD_KEY)
		return -EINVAL;

	mipi  = &mfd->panel_info.mipi;
	if (panel_type == PANEL_ID_VIG_SHARP_HX_C2)
		PR_DISP_INFO("Panel type = PANEL_ID_VIG_SHARP_HX_C2\n");
	else if (panel_type == PANEL_ID_VIG_SHARP_HX)
		PR_DISP_INFO("Panel type = PANEL_ID_VIG_SHARP_HX\n");
	else if (panel_type == PANEL_ID_VIG_CHIMEI_HX)
		PR_DISP_INFO("Panel type = PANEL_ID_VIG_CHIMEI_HX\n");





	mutex_lock(&cmdlock);
	if (mipi->mode == DSI_VIDEO_MODE) {
		PR_DISP_INFO("DSI_VIDEO_MODE.%s",__func__);
		if (panel_type == PANEL_ID_VIG_CHIMEI_HX)
		{
			mipi_dsi_cmds_tx(&himax_tx_buf, himax_CMI_video_on_cmds,
				ARRAY_SIZE(himax_CMI_video_on_cmds));
		}else
		{
			mipi_dsi_cmds_tx(&himax_tx_buf, himax_video_on_cmds,
				ARRAY_SIZE(himax_video_on_cmds));
		}
         } else {
		PR_DISP_INFO("DSI_CMD_MODE.%s",__func__);
		if (panel_type == PANEL_ID_VIG_CHIMEI_HX)
		{
			mipi_dsi_cmds_tx(&himax_tx_buf, himax_CMI_cmd_on_cmds,
				ARRAY_SIZE(himax_CMI_cmd_on_cmds));
		}else
		{
			mipi_dsi_cmds_tx(&himax_tx_buf, himax_cmd_on_cmds,
				ARRAY_SIZE(himax_cmd_on_cmds));
		}

		mipi_dsi_cmd_bta_sw_trigger();
		mipi_himax_manufacture_id();
	}
	mutex_unlock(&cmdlock);
	return 0;
}
开发者ID:AmeriCanAndroid,项目名称:kernel-android-msm-2.6.35,代码行数:56,代码来源:mipi_himax.c

示例14: mdp4_dsi_overlay_busy_wait

static void mdp4_dsi_overlay_busy_wait(struct msm_fb_data_type *mfd)
{
    unsigned long flag;
    int need_wait = 0;
#if 1 /* HTC_CSP_START */
    int retry_count = 0;
    long timeout;
#endif /* HTC_CSP_END */

    spin_lock_irqsave(&mdp_spin_lock, flag);
    if (mfd->dma->busy == TRUE) {
        INIT_COMPLETION(mfd->dma->comp);
        need_wait++;
    }
    spin_unlock_irqrestore(&mdp_spin_lock, flag);
    if (need_wait) {
#if 1 /* HTC_CSP_START */
        mdp4_stat.busywait1++;
        timeout = wait_for_completion_timeout(&mfd->dma->comp, HZ/5);
        mdp4_stat.busywait1--;
        while (!timeout && retry_count++ < 15) {
            rmb();
            if (mfd->dma->busy == FALSE) {
                PR_DISP_INFO("%s(%d)timeout but dma not busy now\n", __func__, __LINE__);
                break;
            } else {
                PR_DISP_INFO("%s(%d)timeout but dma still busy\n", __func__, __LINE__);
                PR_DISP_INFO("### need_wait:%d pending pid=%d dsi_clk_on=%d\n", need_wait, current->pid, mipi_dsi_clk_on);

                mdp4_dump_status();

                mdp4_stat.busywait1++;
                timeout = wait_for_completion_timeout(&mfd->dma->comp, HZ/5);
                mdp4_stat.busywait1--;
            }
        }

        if (retry_count >= 15) {
            PR_DISP_INFO("###mdp busy wait retry timed out, mfd->dma->busy:%d\n",  mfd->dma->busy);
            spin_lock_irqsave(&mdp_spin_lock, flag);
            mfd->dma->busy = FALSE;
            spin_unlock_irqrestore(&mdp_spin_lock, flag);
        }
#else /* HTC_CSP_END */
        mdp4_stat.busywait1++;
        wait_for_completion(&mfd->dma->comp);
        mdp4_stat.busywait1--;
#endif
    }
}
开发者ID:JmzTaylor,项目名称:android_kernel_htc_totemc2,代码行数:50,代码来源:mdp4_overlay_dsi_cmd.c

示例15: protou_lcd_on

static int protou_lcd_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd;
	struct msm_fb_panel_data *pdata = NULL;
	struct mipi_panel_info *mipi;

	mfd = platform_get_drvdata(pdev);
	if (!mfd)
		return -ENODEV;
	pdata = (struct msm_fb_panel_data *)mfd->pdev->dev.platform_data;

	if (mfd->key != MFD_KEY)
		return -EINVAL;

	mipi  = &mfd->panel_info.mipi;

	if (mfd->init_mipi_lcd == 0) {
		PR_DISP_INFO("Display On - 1st time\n");

		if (panel_type == PANEL_ID_PROTOU_SHARP || panel_type == PANEL_ID_PROTOU_SHARP_C1)
			mipi_dsi_cmds_tx(mfd, &protou_panel_tx_buf, protou_power_on_cmd,
					protou_power_on_cmd_size);

		mfd->init_mipi_lcd = 1;

	} else {
		PR_DISP_INFO("Display On \n");
		if (panel_type != PANEL_ID_NONE) {
			PR_DISP_INFO("%s\n", ptype);

			htc_mdp_sem_down(current, &mfd->dma->mutex);
			mipi_dsi_cmds_tx(mfd, &protou_panel_tx_buf, protou_power_on_cmd,
				protou_power_on_cmd_size);
			htc_mdp_sem_up(&mfd->dma->mutex);
#if 0 /* mipi read command verify */
			/* clean up ack_err_status */
			mdelay(1000);
			mipi_dsi_cmd_bta_sw_trigger();
			protou_manufacture_id(mfd);
#endif
		} else {
			printk(KERN_ERR "panel_type=0x%x not support at power on\n", panel_type);
			return -EINVAL;
		}
	}
	PR_DISP_DEBUG("Init done!\n");

	return 0;
}
开发者ID:FreeProjectAce,项目名称:protou_kernel,代码行数:49,代码来源:board-protou-panel.c


注:本文中的PR_DISP_INFO函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。