本文整理汇总了C++中PR_DISP_INFO函数的典型用法代码示例。如果您正苦于以下问题:C++ PR_DISP_INFO函数的具体用法?C++ PR_DISP_INFO怎么用?C++ PR_DISP_INFO使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PR_DISP_INFO函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: mipi_dsi_cmd_dma_tx
int mipi_dsi_cmd_dma_tx(struct dsi_buf *tp)
{
int len;
long timeout;
#ifdef DSI_HOST_DEBUG
int i;
char *bp;
bp = tp->data;
PR_DISP_INFO("%s: ", __func__);
for (i = 0; i < tp->len; i++)
PR_DISP_INFO("%x ", *bp++);
PR_DISP_INFO("\n");
#endif
len = tp->len;
len += 3;
len &= ~0x03; /* multipled by 4 */
tp->dmap = dma_map_single(&dsi_dev, tp->data, len, DMA_TO_DEVICE);
if (dma_mapping_error(&dsi_dev, tp->dmap))
PR_DISP_ERR("%s: dmap mapp failed\n", __func__);
INIT_COMPLETION(dsi_dma_comp);
MIPI_OUTP(MIPI_DSI_BASE + 0x044, tp->dmap);
MIPI_OUTP(MIPI_DSI_BASE + 0x048, len);
wmb();
MIPI_OUTP(MIPI_DSI_BASE + 0x08c, 0x01); /* trigger */
wmb();
timeout = wait_for_completion_timeout(&dsi_dma_comp, HZ/10);
if (!timeout) {
u32 isr = MIPI_INP(MIPI_DSI_BASE + 0x010c);
MIPI_OUTP(MIPI_DSI_BASE + 0x010c, isr);
PR_DISP_ERR("%s timeout, isr=0x%08x\n", __func__, isr);
mipi_dsi_read_status_reg();
mipi_dsi_sw_reset();
atomic_set(&need_soft_reset, 1);
}
dma_unmap_single(&dsi_dev, tp->dmap, len, DMA_TO_DEVICE);
tp->dmap = 0;
return tp->len;
}
开发者ID:ryrzy,项目名称:android_kernel_htc_shooter_u_cm10,代码行数:49,代码来源:mipi_dsi_host.c
示例17: store_3D_mode
static ssize_t store_3D_mode(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
enum MODE_3D val = buf[0] - '0';
if (val < 0 || val >= BARRIER_END) {
pr_err("%s: unsupport value %c\n", __func__, val);
return -EINVAL;
}
if (val == atomic_read(&g_3D_mode)) {
printk(KERN_NOTICE "%s: status is same(%d)\n", __func__, val);
return count;
}
atomic_set(&g_3D_mode, val);
PR_DISP_INFO("%s mode = %d\n", __func__, val);
switch (val) {
case BARRIER_OFF:
shooter_u_3Dpanel_off();
break;
case BARRIER_LANDSCAPE:
shooter_u_3Dpanel_on(true);
break;
case BARRIER_PORTRAIT:
shooter_u_3Dpanel_on(false);
break;
default:
break;
}
return count;
}
开发者ID:anryl,项目名称:shooteru_HTC,代码行数:33,代码来源:shooter_u-panel.c
示例18: shooter_u_mdp_gamma
int shooter_u_mdp_gamma(void)
{
PR_DISP_INFO("%s\n", __func__);
mdp4_dsi_color_enhancement(mdp_sharp_barrier_off, ARRAY_SIZE(mdp_sharp_barrier_off));
return 0;
}
开发者ID:anryl,项目名称:shooteru_HTC,代码行数:7,代码来源:shooter_u-panel.c
示例19: shooter_u_mdp_color_enhance
int shooter_u_mdp_color_enhance(void)
{
PR_DISP_INFO("%s\n", __func__);
/* mdp4_dsi_color_enhancement(shooter_u_color_v11, ARRAY_SIZE(shooter_u_color_v11)); */
return 0;
}
开发者ID:anryl,项目名称:shooteru_HTC,代码行数:7,代码来源:shooter_u-panel.c
示例20: mdp4_dtv_off
int mdp4_dtv_off(struct platform_device *pdev)
{
int ret = 0;
ret = panel_next_off(pdev);
/* disable DTV block */
mdp_pipe_ctrl(MDP_CMD_BLOCK, MDP_BLOCK_POWER_ON, FALSE);
MDP_OUTP(MDP_BASE + DTV_BASE, 0);
mdp_pipe_ctrl(MDP_CMD_BLOCK, MDP_BLOCK_POWER_OFF, FALSE);
mdp_pipe_ctrl(MDP_OVERLAY1_BLOCK, MDP_BLOCK_POWER_OFF, FALSE);
/* delay to make sure the last frame finishes */
msleep(100);
/* We also delay to turn writeback mode off after new overlay_set finishes */
atomic_set(&mdp_dtv_on, false);
PR_DISP_INFO("%s\n", __func__);
/* dis-engage rgb2 from mixer1 */
if (dtv_pipe)
mdp4_mixer_stage_down(dtv_pipe);
return ret;
}
开发者ID:AmeriCanAndroid,项目名称:aca-evo3d-gsm-omega-3.0-mdj,代码行数:27,代码来源:mdp4_overlay_dtv.c
注:本文中的PR_DISP_INFO函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论