本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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);
}
示例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);
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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();
}
示例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;
}
示例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
}
}
示例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;
}