This file was deleted.

@@ -31,7 +31,6 @@
bool enable_PT_test = 0;
module_param_named(enable_PT_test, enable_PT_test, bool, S_IRUGO | S_IWUSR);
#endif
#include <linux/hw_lcd_common.h>
static int mdss_dsi_pinctrl_set_state(struct mdss_dsi_ctrl_pdata *ctrl_pdata,
bool active);
extern int get_offline_cpu(void);
@@ -387,10 +386,6 @@ static int mdss_dsi_off(struct mdss_panel_data *pdata)
}

pdata->panel_info.panel_power_on = 0;
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.panel_power_on = pdata->panel_info.panel_power_on;
#endif
ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
panel_data);

@@ -803,13 +798,8 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
return ret;
}
pdata->panel_info.panel_power_on = 0;
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.panel_power_on |= pdata->panel_info.panel_power_on;
#endif
return ret;
}
/*delete set lcd_pwr_status.panel_power_on here*/
mdss_dsi_phy_sw_reset((ctrl_pdata->ctrl_base));
mdss_dsi_phy_init(pdata);
mdss_dsi_clk_ctrl(ctrl_pdata, DSI_BUS_CLKS, 0);
@@ -821,7 +811,7 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
mdss_dsi_sw_reset(pdata, false);
mdss_dsi_host_init(pdata);
/* add for timeout print log */
LCD_LOG_INFO("%s: dsi_on_time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: dsi_on_time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,jiffies_to_msecs(jiffies-timeout),get_offline_cpu(),cpufreq_get(0));
} else {
/*After ULPS exit do DSI reset once*/
@@ -830,7 +820,7 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
}

/* add for timeout print log */
LCD_LOG_INFO("%s: dsi_on_time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: dsi_on_time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,jiffies_to_msecs(jiffies-timeout),get_offline_cpu(),cpufreq_get(0));

/*
@@ -847,11 +837,6 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
mdss_dsi_panel_reset(pdata, 1);
}
pdata->panel_info.panel_power_on = 1;
/*set lcd_pwr_status.panel_power_on state*/
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.panel_power_on |= pdata->panel_info.panel_power_on;
#endif
if (mipi->init_delay)
usleep(mipi->init_delay);

@@ -1448,13 +1433,6 @@ static int mdss_dsi_ctrl_probe(struct platform_device *pdev)
const char *ctrl_name;
bool cmd_cfg_cont_splash = true;
struct mdss_panel_cfg *pan_cfg = NULL;
#ifdef CONFIG_HUAWEI_LCD
struct dsm_dev dsm_lcd = {
.name = "dsm_lcd",
.fops = NULL,
.buff_size = 1024,
};
#endif
if (!mdss_is_ready()) {
pr_err("%s: MDP not probed yet!\n", __func__);
return -EPROBE_DEFER;
@@ -1562,11 +1540,6 @@ static int mdss_dsi_ctrl_probe(struct platform_device *pdev)
}

pr_debug("%s: Dsi Ctrl->%d initialized\n", __func__, index);
#ifdef CONFIG_HUAWEI_LCD
if (!lcd_dclient) {
lcd_dclient = dsm_register_client(&dsm_lcd);
}
#endif
return 0;

error_pan_node:
@@ -1920,9 +1893,6 @@ int dsi_panel_device_register(struct device_node *pan_node,

if (pinfo->cont_splash_enabled) {
pinfo->panel_power_on = 1;
#ifdef CONFIG_HUAWEI_LCD
lcd_pwr_status.panel_power_on |= pinfo->panel_power_on;
#endif
rc = mdss_dsi_panel_power_on(&(ctrl_pdata->panel_data), 1);
if (rc) {
pr_err("%s: Panel power on failed\n", __func__);
@@ -1934,9 +1904,6 @@ int dsi_panel_device_register(struct device_node *pan_node,
(CTRL_STATE_PANEL_INIT | CTRL_STATE_MDP_ACTIVE);
} else {
pinfo->panel_power_on = 0;
#ifdef CONFIG_HUAWEI_LCD
lcd_pwr_status.panel_power_on |= pinfo->panel_power_on;
#endif
}

rc = mdss_register_panel(ctrl_pdev, &(ctrl_pdata->panel_data));
@@ -28,7 +28,6 @@
#include "mdss_panel.h"
#include "mdss_debug.h"

#include <linux/hw_lcd_common.h>
#define VSYNC_PERIOD 17

struct mdss_dsi_ctrl_pdata *ctrl_list[DSI_CTRL_MAX];
@@ -1344,9 +1343,6 @@ static int mdss_dsi_cmd_dma_tx(struct mdss_dsi_ctrl_pdata *ctrl,
size, SZ_4K, 0, &(addr));
if (IS_ERR_VALUE(ret)) {
pr_err("unable to map dma memory to iommu(%d)\n", ret);
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_IOMMU_ERROR_NO,ret,0);
#endif
return -ENOMEM;
}
#ifdef CONFIG_HUAWEI_LCD
@@ -1406,10 +1402,7 @@ static int mdss_dsi_cmd_dma_tx(struct mdss_dsi_ctrl_pdata *ctrl,

#ifdef CONFIG_HUAWEI_LCD
if (ret < 0)
{
rg_address = ((tp->len > 4) ? *(tp->data + 4) : *(tp->data));
lcd_report_dsm_err(DSM_LCD_MIPI_ERROR_NO, ret,rg_address);
}
//unmap it when it have been maped at front
if (is_mdss_iommu_attached() && iommu_attached)
#else
@@ -1539,9 +1532,6 @@ void mdss_dsi_cmd_mdp_busy(struct mdss_dsi_ctrl_pdata *ctrl)
__func__, current->pid);
if (!wait_for_completion_timeout(&ctrl->mdp_comp,
msecs_to_jiffies(DMA_TX_TIMEOUT))) {
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_MDP_BUSY_ERROR_NO,0,0);
#endif
pr_err("%s: timeout error\n", __func__);
MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0", "dsi1",
"edp", "hdmi", "panic");
@@ -1904,9 +1894,6 @@ irqreturn_t mdss_dsi_isr(int irq, void *ptr)
struct mdss_dsi_ctrl_pdata *ctrl =
(struct mdss_dsi_ctrl_pdata *)ptr;
struct mdss_dsi_ctrl_pdata *mctrl = NULL;
#ifdef CONFIG_HUAWEI_LCD
u32 dsi_status[5] = {0};
#endif

if (!ctrl->ctrl_base) {
pr_err("%s:%d DSI base adr no Initialized",
@@ -1935,14 +1922,6 @@ irqreturn_t mdss_dsi_isr(int irq, void *ptr)

if (isr & DSI_INTR_ERROR) {
MDSS_XLOG(ctrl->ndx, ctrl->mdp_busy, isr, 0x97);
#ifdef CONFIG_HUAWEI_LCD
dsi_status[0] = MIPI_INP(ctrl->ctrl_base + 0x0068);/* DSI_ACK_ERR_STATUS */
dsi_status[1] = MIPI_INP(ctrl->ctrl_base + 0x00c0);/* DSI_TIMEOUT_STATUS */
dsi_status[2] = MIPI_INP(ctrl->ctrl_base + 0x00b4);/* DSI_DLN0_PHY_ERR */
dsi_status[3] = MIPI_INP(ctrl->ctrl_base + 0x000c);/* DSI_FIFO_STATUS */
dsi_status[4] = MIPI_INP(ctrl->ctrl_base + 0x0008);/* DSI_STATUS */
mdss_record_dsm_err(dsi_status);
#endif
mdss_dsi_error(ctrl);
}

@@ -25,7 +25,6 @@
#include "mdss_dsi.h"
#include <linux/log_jank.h>
#include <misc/app_info.h>
#include <linux/hw_lcd_common.h>
extern int get_offline_cpu(void);
extern unsigned int cpufreq_get(unsigned int cpu);
#ifdef CONFIG_HUAWEI_LCD
@@ -184,7 +183,7 @@ static void mdss_dsi_panel_bklt_dcs(struct mdss_dsi_ctrl_pdata *ctrl, int level)

mdss_dsi_cmdlist_put(ctrl, &cmdreq);
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_DBG("%s: level=%d\n", __func__, level);
pr_debug("%s: level=%d\n", __func__, level);
#endif
}

@@ -276,7 +275,7 @@ int mdss_dsi_panel_reset(struct mdss_panel_data *pdata, int enable)
return rc;
}
#ifdef CONFIG_HUAWEI_LCD
LCD_MDELAY(20);
mdelay(20);

for (i = 0; i < pdata->panel_info.rst_seq_len; ++i) {
gpio_set_value((ctrl_pdata->rst_gpio),
@@ -315,8 +314,8 @@ int mdss_dsi_panel_reset(struct mdss_panel_data *pdata, int enable)
} else {
#ifdef CONFIG_HUAWEI_LCD
if(pinfo->mipi_rest_delay){
LCD_LOG_INFO("%s:delay is %d\n",__func__,pinfo->mipi_rest_delay);
LCD_MDELAY(pinfo->mipi_rest_delay);
pr_info("%s:delay is %d\n",__func__,pinfo->mipi_rest_delay);
mdelay(pinfo->mipi_rest_delay);

}
#endif
@@ -333,12 +332,12 @@ int mdss_dsi_panel_reset(struct mdss_panel_data *pdata, int enable)
if (gpio_is_valid(ctrl_pdata->mode_gpio))
gpio_free(ctrl_pdata->mode_gpio);
#ifdef CONFIG_HUAWEI_LCD
LCD_MDELAY(10);
mdelay(10);
#endif

}
/* add for timeout print log */
LCD_LOG_INFO("%s: panel reset time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: panel reset time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,jiffies_to_msecs(jiffies-timeout),get_offline_cpu(),cpufreq_get(0));
return rc;
}
@@ -347,7 +346,7 @@ static int mdss_dsi_panel_cabc_ctrl(struct mdss_panel_data *pdata,struct msmfb_c
{
struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
if (pdata == NULL) {
LCD_LOG_ERR("%s: Invalid input data\n", __func__);
pr_err("%s: Invalid input data\n", __func__);
return -EINVAL;
}
ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
@@ -366,10 +365,10 @@ static int mdss_dsi_panel_cabc_ctrl(struct mdss_panel_data *pdata,struct msmfb_c
mdss_dsi_panel_cmds_send(ctrl_pdata, &ctrl_pdata->dsi_panel_cabc_video_cmds);
break;
default:
LCD_LOG_ERR("%s: invalid cabc mode: %d\n", __func__, cabc_cfg.mode);
pr_err("%s: invalid cabc mode: %d\n", __func__, cabc_cfg.mode);
break;
}
LCD_LOG_INFO("exit %s : CABC mode= %d\n",__func__,cabc_cfg.mode);
pr_info("exit %s : CABC mode= %d\n",__func__,cabc_cfg.mode);
return 0;
}
#endif
@@ -535,22 +534,16 @@ static int mdss_dsi_panel_on(struct mdss_panel_data *pdata)
if((INVERSION_ON == ctrl->inversion_state) && ctrl ->dsi_panel_inverse_on_cmds.cmd_cnt )
{
mdss_dsi_panel_cmds_send(ctrl, &ctrl->dsi_panel_inverse_on_cmds);
LCD_LOG_DBG("%s:display inversion open:inversion_state = [%d]\n",__func__,ctrl->inversion_state);
pr_debug("%s:display inversion open:inversion_state = [%d]\n",__func__,ctrl->inversion_state);
}
if (ctrl->on_cmds.cmd_cnt)
mdss_dsi_panel_cmds_send(ctrl, &ctrl->on_cmds);
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.lcd_dcm_pwr_status |= BIT(1);
do_gettimeofday(&lcd_pwr_status.tvl_lcd_on);
time_to_tm(lcd_pwr_status.tvl_lcd_on.tv_sec, 0, &lcd_pwr_status.tm_lcd_on);
#endif

LCD_LOG_INFO("exit %s\n",__func__);
pr_info("exit %s\n",__func__);
#endif
pr_debug("%s:-\n", __func__);
/* add for timeout print log */
LCD_LOG_INFO("%s: panel_on_time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: panel_on_time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,jiffies_to_msecs(jiffies-timeout),get_offline_cpu(),cpufreq_get(0));
#ifdef CONFIG_LOG_JANK
pr_jank(JL_KERNEL_LCD_POWER_ON, "%s#T:%5lu", "JL_KERNEL_LCD_POWER_ON",getrealtime());
@@ -578,7 +571,7 @@ static int mdss_dsi_panel_off(struct mdss_panel_data *pdata)
mdss_dsi_panel_cmds_send(ctrl, &ctrl->off_cmds);

#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("exit %s\n",__func__);
pr_info("exit %s\n",__func__);
#endif
pr_debug("%s:-\n", __func__);
#ifdef CONFIG_LOG_JANK
@@ -593,7 +586,7 @@ static int mdss_dsi_panel_inversion_ctrl(struct mdss_panel_data *pdata,u32 imode
struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
int ret = 0;
if (pdata == NULL) {
LCD_LOG_ERR("%s: Invalid input data\n", __func__);
pr_err("%s: Invalid input data\n", __func__);
return -EINVAL;
}
ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
@@ -611,10 +604,10 @@ static int mdss_dsi_panel_inversion_ctrl(struct mdss_panel_data *pdata,u32 imode
break;
default:
ret = -EINVAL;
LCD_LOG_ERR("%s: invalid inversion mode: %d\n", __func__, imode);
pr_err("%s: invalid inversion mode: %d\n", __func__, imode);
break;
}
LCD_LOG_INFO("exit %s ,dot inversion enable= %d \n",__func__,imode);
pr_info("exit %s ,dot inversion enable= %d \n",__func__,imode);
return ret;

}
@@ -631,14 +624,14 @@ static int mdss_dsi_check_panel_status(struct mdss_panel_data *pdata)
int read_length = 1;

if (pdata == NULL) {
LCD_LOG_ERR("%s: Invalid input data\n", __func__);
pr_err("%s: Invalid input data\n", __func__);
return -EINVAL;
}
ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
panel_data);
if(ctrl_pdata->skip_reg_read)
{
LCD_LOG_INFO("exit %s ,skip_reg_read=%d, panel status is ok\n",__func__,ctrl_pdata->skip_reg_read);
pr_info("exit %s ,skip_reg_read=%d, panel status is ok\n",__func__,ctrl_pdata->skip_reg_read);
return ret;
}
else
@@ -651,15 +644,12 @@ static int mdss_dsi_check_panel_status(struct mdss_panel_data *pdata)

do{
mdss_dsi_panel_cmd_read(ctrl_pdata,0x0A,0x00,NULL,rdata,read_length);
LCD_LOG_INFO("exit %s ,0x0A = 0x%x \n",__func__,rdata[0]);
pr_info("exit %s ,0x0A = 0x%x \n",__func__,rdata[0]);
count--;
}while((expect_value != rdata[0])&&(count>0));

if(0 == count)
{
ret = -EINVAL;
lcd_report_dsm_err(DSM_LCD_STATUS_ERROR_NO, rdata[0], 0x0A);
}

return ret;
}
@@ -690,10 +680,10 @@ static int mdss_dsi_lcd_set_display_inversion(struct mdss_panel_data *pdata,unsi
ctrl_pdata->inversion_state = INVERSION_ON;
break;
default:
LCD_LOG_ERR("%s: invalid inversion mode: %d\n", __func__,inversion_mode);
pr_err("%s: invalid inversion mode: %d\n", __func__,inversion_mode);
break;
}
LCD_LOG_INFO("exit %s : inversion mode= %d\n",__func__,inversion_mode);
pr_info("exit %s : inversion mode= %d\n",__func__,inversion_mode);
return 0;
}

@@ -705,18 +695,18 @@ static int mdss_dsi_check_mipi_crc(struct mdss_panel_data *pdata)
int read_length = 1;

if (pdata == NULL){
LCD_LOG_ERR("%s: Invalid input data\n", __func__);
pr_err("%s: Invalid input data\n", __func__);
return -EINVAL;
}
ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
panel_data);

mdss_dsi_panel_cmd_read(ctrl_pdata,0x05,0x00,NULL,&err_num,read_length);
LCD_LOG_INFO("exit %s,read 0x05 = %d.\n",__func__,err_num);
pr_info("exit %s,read 0x05 = %d.\n",__func__,err_num);

if(err_num)
{
LCD_LOG_ERR("%s: mipi crc has %d errors.\n",__func__,err_num);
pr_err("%s: mipi crc has %d errors.\n",__func__,err_num);
ret = err_num;
}
return ret;
@@ -56,7 +56,6 @@
#include "mdss_mdp_splash_logo.h"

#include <linux/log_jank.h>
#include <linux/hw_lcd_common.h>
#ifdef CONFIG_HUAWEI_LCD
#include "mdss_mdp.h"
struct msmfb_cabc_config g_cabc_cfg_foresd;
@@ -245,7 +244,7 @@ static void mdss_fb_set_bl_brightness(struct led_classdev *led_cdev,
mutex_unlock(&mfd->bl_lock);
/* add for timeout print log */
if(!time_before(jiffies, timeout)){
LCD_LOG_INFO("%s: level = %d, set backlight time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: level = %d, set backlight time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,bl_lvl,jiffies_to_msecs(jiffies-timeout+HZ/10),get_offline_cpu(),cpufreq_get(0));
}

@@ -400,7 +399,7 @@ static ssize_t mdss_show_inversion_mode(struct device *dev,
struct fb_info *fbi = dev_get_drvdata(dev);
struct msm_fb_data_type *mfd = (struct msm_fb_data_type *)fbi->par;
int ret;
LCD_LOG_DBG("fb%d inversion mode = %d\n", mfd->index, mfd->panel_info->inversion_mode);
pr_debug("fb%d inversion mode = %d\n", mfd->index, mfd->panel_info->inversion_mode);
ret = scnprintf(buf, PAGE_SIZE, "%d\n",mfd->panel_info->inversion_mode);
return ret;
}
@@ -430,7 +429,7 @@ static ssize_t mdss_store_inversion_mode(struct device *dev,
}
else
{
LCD_LOG_ERR("This panel maybe sleep ,or can not support set inversion mode\n");
pr_err("This panel maybe sleep ,or can not support set inversion mode\n");
return -EINVAL;
}
return count;
@@ -452,7 +451,7 @@ static ssize_t mdss_show_panel_status(struct device *dev,
}
else
{
LCD_LOG_ERR("This panel maybe sleep ,or can not support check panel status\n");
pr_err("This panel maybe sleep ,or can not support check panel status\n");
}

ret = scnprintf(buf, PAGE_SIZE, "%d\n",ret);
@@ -482,7 +481,7 @@ static int msm_fb_set_display_inversion(struct msm_fb_data_type *mfd, unsigned i
}
else
{
LCD_LOG_ERR("This panel maybe sleep ,or can not support display inversion function\n");
pr_err("This panel maybe sleep ,or can not support display inversion function\n");
ret = -EINVAL;
}

@@ -503,7 +502,7 @@ static ssize_t mdss_show_mipi_crc_check(struct device *dev,
}
else
{
LCD_LOG_ERR("This panel maybe sleep ,or can not support checking mipi crc.\n");
pr_err("This panel maybe sleep ,or can not support checking mipi crc.\n");
}

ret = scnprintf(buf, PAGE_SIZE, "%d\n",ret);
@@ -1125,19 +1124,14 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl)
/* remove APR web LCD report log information */
if ( mfd->bl_level_scaled == 0 )
{
LCD_LOG_INFO("%s: set backlight to %d\n",__func__,temp);
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.lcd_dcm_pwr_status |= BIT(3);
do_gettimeofday(&lcd_pwr_status.tvl_backlight);
time_to_tm(lcd_pwr_status.tvl_backlight.tv_sec, 0, &lcd_pwr_status.tm_backlight);
#endif
pr_info("%s: set backlight to %d\n",__func__,temp);

}
#endif
timeout = jiffies + HZ/10 ;
pdata->set_backlight(pdata, temp);
if(!time_before(jiffies, timeout)){
LCD_LOG_INFO("%s: level = %d, set backlight time = %u,offlinecpu = %d,curfreq = %d\n",
pr_info("%s: level = %d, set backlight time = %u,offlinecpu = %d,curfreq = %d\n",
__func__,temp,jiffies_to_msecs(jiffies-timeout+HZ/10),get_offline_cpu(),cpufreq_get(0));
}
/* avoid APR web LCD report log mistakenly*/
@@ -1231,7 +1225,7 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
#ifdef CONFIG_HUAWEI_LCD
pdata = dev_get_platdata(&mfd->pdev->dev);
if (!pdata) {
LCD_LOG_ERR( "mdss_fb_blank_sub: no panel operation detected!\n");
pr_err( "mdss_fb_blank_sub: no panel operation detected!\n");
return -ENODEV;
}
#endif
@@ -1242,19 +1236,13 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
case FB_BLANK_UNBLANK:
//add log on panel resume and suspend module
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO(" %s:blank_mode is FB_BLANK_UNBLANK when panel on\n",__func__);
pr_info(" %s:blank_mode is FB_BLANK_UNBLANK when panel on\n",__func__);
#endif
if (mfd->disp_thread == NULL) {
ret = mdss_fb_start_disp_thread(mfd);
if (ret < 0)
return ret;
}
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.lcd_dcm_pwr_status |= BIT(0);
do_gettimeofday(&lcd_pwr_status.tvl_unblank);
time_to_tm(lcd_pwr_status.tvl_unblank.tv_sec, 0, &lcd_pwr_status.tm_unblank);
#endif
if (!mfd->panel_power_on && mfd->mdp.on_fnc) {
#ifdef CONFIG_HUAWEI_LCD
/*fix LCD off when turn off wifidisplay*/
@@ -1297,7 +1285,7 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
{
mdss_fb_config_cabc(mfd, last_cabc_mode);
last_cabc_setting =false;
LCD_LOG_INFO("%s:Waiting for LCD resume ,then set cabc mode =%d\n",__func__,last_cabc_mode.mode);
pr_info("%s:Waiting for LCD resume ,then set cabc mode =%d\n",__func__,last_cabc_mode.mode);
}
#endif
}
@@ -1364,7 +1352,7 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
max77819_update_brightness(0x00);
}
mfd->frame_updated = 0;
LCD_LOG_INFO("%s: frame_updated fb%d setted to 0 when panel off blank_mode=%d \n",__func__,mfd->index,blank_mode);
pr_info("%s: frame_updated fb%d setted to 0 when panel off blank_mode=%d \n",__func__,mfd->index,blank_mode);
#endif
complete(&mfd->power_off_comp);
/* avoid APR web LCD report log mistakenly*/
@@ -2199,10 +2187,6 @@ static void __mdss_fb_wait_for_fence_sub(struct msm_sync_pt_data *sync_pt_data,
}

if (ret < 0) {
/* report fence dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_FENCE_ERROR_NO,ret,0);
#endif
pr_err("%s: sync_fence_wait failed! ret = %x\n",
sync_pt_data->fence_name, ret);
for (; i < fence_cnt; i++)
@@ -2516,13 +2500,7 @@ static int __mdss_fb_perform_commit(struct msm_fb_data_type *mfd)
#ifdef CONFIG_HUAWEI_LCD
if(!mfd->frame_updated){
mfd->frame_updated = 1;
/* remove APR web LCD report log information */
#ifdef CONFIG_HUAWEI_DSM
lcd_pwr_status.lcd_dcm_pwr_status |= BIT(2);
do_gettimeofday(&lcd_pwr_status.tvl_set_frame);
time_to_tm(lcd_pwr_status.tvl_set_frame.tv_sec, 0, &lcd_pwr_status.tm_set_frame);
#endif
LCD_LOG_INFO("%s:begin to display the first frame.\n",__func__);
pr_info("%s:begin to display the first frame.\n",__func__);
#ifdef CONFIG_LOG_JANK
LOG_JANK_V(JL_HWC_LCD_FIRSTFRAME_START, "%s#T:%5lu", "JL_HWC_LCD_FIRSTFRAME_START",getrealtime());
#endif
@@ -2898,7 +2876,7 @@ static int mdss_fb_config_cabc(struct msm_fb_data_type *mfd,struct msmfb_cabc_co
}
else
{
LCD_LOG_ERR("This panel can not support auto cabc function\n");
pr_err("This panel can not support auto cabc function\n");
ret = -EINVAL;
}

@@ -3177,7 +3155,7 @@ int mdss_fb_do_ioctl(struct fb_info *info, unsigned int cmd,
ret = copy_from_user(&cabc_cfg, argp, sizeof(cabc_cfg));
if (ret)
{
LCD_LOG_ERR( "%s:MSMFB_AUTO_CABC ioctl failed \n",
pr_err( "%s:MSMFB_AUTO_CABC ioctl failed \n",
__func__);
return ret;
}
@@ -3189,7 +3167,7 @@ int mdss_fb_do_ioctl(struct fb_info *info, unsigned int cmd,
{
last_cabc_mode = cabc_cfg;
last_cabc_setting =true;
LCD_LOG_INFO("%s:MSMFB_AUTO_CABC save last setting \n",
pr_info("%s:MSMFB_AUTO_CABC save last setting \n",
__func__);
}
else
@@ -3203,13 +3181,13 @@ int mdss_fb_do_ioctl(struct fb_info *info, unsigned int cmd,
case MSMFB_DISPLAY_INVERSION:
ret = copy_from_user(&lcd_display_inversion, argp, sizeof(lcd_display_inversion));
if (ret){
LCD_LOG_ERR("%s:MSMFB_DISPLAY_INVERSION copy from user failed \n", __func__);
pr_err("%s:MSMFB_DISPLAY_INVERSION copy from user failed \n", __func__);
return ret;
}

ret = msm_fb_set_display_inversion(mfd, lcd_display_inversion);
if (ret){
LCD_LOG_ERR("%s:set display inversion is failed and ERROR= %d \n", __func__, ret);
pr_err("%s:set display inversion is failed and ERROR= %d \n", __func__, ret);
return ret;
}
break;
@@ -56,8 +56,6 @@
#include "mdss_panel.h"
#include "mdss_debug.h"

#include <linux/hw_lcd_common.h>

#define CREATE_TRACE_POINTS
#include "mdss_mdp_trace.h"

@@ -859,10 +857,6 @@ void mdss_mdp_clk_ctrl(int enable, int isr)
changed++;
} else {
pr_err("Can not be turned off\n");
/* report mdp clk dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_MDP_CLK_ERROR_NO,0,0);
#endif
}
}

@@ -994,10 +988,6 @@ int mdss_iommu_attach(struct mdss_data_type *mdata)
rc = iommu_attach_device(domain, iomap->ctx);
if (rc) {
WARN(1, "mdp::iommu device attach failed rc:%d\n", rc);
/* report IOMMU dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_IOMMU_ERROR_NO,rc,0);
#endif
for (i--; i >= 0; i--) {
iomap = mdata->iommu_map + i;
iommu_detach_device(domain, iomap->ctx);
@@ -1031,10 +1021,6 @@ int mdss_iommu_dettach(struct mdss_data_type *mdata)
if (!domain) {
pr_err("unable to get iommu domain(%d)\n",
iomap->domain_idx);
/* report IOMMU dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_IOMMU_ERROR_NO,iomap->domain_idx,0);
#endif
continue;
}
iommu_detach_device(domain, iomap->ctx);
@@ -17,7 +17,6 @@
#include "mdss_panel.h"
#include "mdss_debug.h"
#include "mdss_mdp_trace.h"
#include <linux/hw_lcd_common.h>

#define VSYNC_EXPIRE_TICK 6

@@ -571,10 +570,6 @@ static int mdss_mdp_cmd_wait4pingpong(struct mdss_mdp_ctl *ctl, void *arg)
rc, ctl->num);
MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0", "dsi1",
"edp", "hdmi", "panic");
/* report pingpong dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_PINGPONG_ERROR_NO,rc,0);
#endif
}
ctx->pp_timeout_report_cnt++;
rc = -EPERM;
@@ -757,10 +752,6 @@ int mdss_mdp_cmd_intfs_stop(struct mdss_mdp_ctl *ctl, int session)
if (wait_for_completion_timeout(&ctx->stop_comp, STOP_TIMEOUT)
<= 0) {
WARN(1, "stop cmd time out\n");
/* report cmd stop dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_CMD_STOP_ERROR_NO,0,0);
#endif
if (IS_ERR_OR_NULL(ctl->panel_data)) {
pr_err("no panel data\n");
} else {
@@ -24,8 +24,6 @@
#include "mdss_panel.h"
#include "mdss_debug.h"
#include "mdss_mdp_trace.h"
/* add log on panel resume and suspend module */
#include <linux/hw_lcd_common.h>
/* wait for at least 2 vsyncs for lowest refresh rate (24hz) */
#define VSYNC_TIMEOUT_US 100000

@@ -498,7 +496,7 @@ static int mdss_mdp_video_stop(struct mdss_mdp_ctl *ctl)
ctl->priv_data = NULL;
/* add log on panel resume and suspend module */
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("exit %s\n",__func__);
pr_info("exit %s\n",__func__);
#endif
return 0;
}
@@ -624,8 +622,6 @@ static void mdss_mdp_video_underrun_intr_done(void *arg)
trace_mdp_video_underrun_done(ctl->num, ctl->underrun_cnt);
pr_debug("display underrun detected for ctl=%d count=%d\n", ctl->num,
ctl->underrun_cnt);
/* report underrun error to dsm */
mdp_underrun_dsm_report(ctl->num,ctl->underrun_cnt,cpufreq_get(0),mdss_mdp_get_clk_rate(MDSS_CLK_MDP_SRC),mdss_mdp_get_clk_rate(MDSS_CLK_AXI),mdss_mdp_get_clk_rate(MDSS_CLK_AHB));
}

static int mdss_mdp_video_vfp_fps_update(struct mdss_mdp_ctl *ctl, int new_fps)
@@ -920,10 +916,6 @@ static int mdss_mdp_video_display(struct mdss_mdp_ctl *ctl, void *arg)
INIT_COMPLETION(ctx->vsync_comp);
} else {
WARN(1, "commit without wait! ctl=%d", ctl->num);
/* report video display dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_VIDEO_DISPLAY_ERROR_NO,ctl->num,0);
#endif
}

MDSS_XLOG(ctl->num, ctl->underrun_cnt);
@@ -1102,7 +1094,7 @@ static int mdss_mdp_video_intfs_setup(struct mdss_mdp_ctl *ctl,
int ret = 0;
/* add log on panel resume and suspend module */
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("start %s\n",__func__);
pr_info("start %s\n",__func__);
#endif

if (pdata == NULL)
@@ -1202,7 +1194,7 @@ int mdss_mdp_video_start(struct mdss_mdp_ctl *ctl)
int intfs_num, ret = 0;
//add log on panel resume and suspend module
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("start %s\n",__func__);
pr_info("start %s\n",__func__);
#endif

intfs_num = ctl->intf_num - MDSS_MDP_INTF0;
@@ -35,8 +35,6 @@
#include "mdss_fb.h"
#include "mdss_mdp.h"
#include "mdss_mdp_rotator.h"
/* add log on panel resume and suspend module */
#include <linux/hw_lcd_common.h>
#define VSYNC_PERIOD 16
#define BORDERFILL_NDX 0x0BF000BF
#define CHECK_BOUNDS(offset, size, max_size) \
@@ -3186,7 +3184,7 @@ static int mdss_mdp_overlay_on(struct msm_fb_data_type *mfd)
struct mdss_mdp_ctl *ctl = NULL;
/* add log on panel resume and suspend module */
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("start %s\n",__func__);
pr_info("start %s\n",__func__);
#endif
if (!mfd)
return -ENODEV;
@@ -3314,7 +3312,7 @@ static int mdss_mdp_overlay_off(struct msm_fb_data_type *mfd)
mutex_unlock(&mdp5_data->ov_lock);
/* add log on panel resume and suspend module */
#ifdef CONFIG_HUAWEI_LCD
LCD_LOG_INFO("exit %s\n",__func__);
pr_info("exit %s\n",__func__);
#endif
return rc;
}
@@ -20,7 +20,6 @@

#include "mdss_mdp.h"
#include "mdss_mdp_trace.h"
#include <linux/hw_lcd_common.h>

#define SMP_MB_SIZE (mdss_res->smp_mb_size)
#define SMP_MB_CNT (mdss_res->smp_mb_cnt)
@@ -957,10 +956,6 @@ static bool mdss_mdp_check_pipe_in_use(struct mdss_mdp_pipe *pipe)

mixercfg = mdss_mdp_get_mixercfg(mixer);
if ((mixercfg & stage_off_mask) && ctl->play_cnt) {
/* report pipe dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_PIPE_ERROR_NO,mixercfg,0);
#endif
pr_err("BUG. pipe%d is active. mcfg:0x%x mask:0x%x\n",
pipe->num, mixercfg, stage_off_mask);
BUG();
@@ -1048,10 +1043,6 @@ int mdss_mdp_pipe_fetch_halt(struct mdss_mdp_pipe *pipe)

pr_err("%pS: pipe%d is not idle. xin_id=%d\n",
__builtin_return_address(0), pipe->num, pipe->xin_id);
/* report pipe dsm error */
#ifdef CONFIG_HUAWEI_LCD
lcd_report_dsm_err(DSM_LCD_MDSS_PIPE_ERROR_NO,pipe->xin_id,0);
#endif
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON, false);
mutex_lock(&mdata->reg_lock);
idle_mask = BIT(pipe->xin_id + 16);
@@ -25,7 +25,6 @@
#include "mdss_fb.h"
#include "mdss_debug.h"

#include <linux/hw_lcd_common.h>
#define MAX_ROTATOR_SESSIONS 8

static DEFINE_MUTEX(rotator_lock);
@@ -306,17 +305,8 @@ static void mdss_mdp_rotator_commit_wq_handler(struct work_struct *work)
mutex_lock(&rotator_lock);

ret = mdss_mdp_rotator_queue_helper(rot);
/* report rotator dsm error */
#ifndef CONFIG_HUAWEI_LCD
if (ret)
pr_err("rotator queue failed\n");
#else
if (ret)
{
pr_err("rotator queue failed\n");
lcd_report_dsm_err(DSM_LCD_MDSS_ROTATOR_ERROR_NO,ret,0);
}
#endif

if (rot->rot_sync_pt_data) {
atomic_inc(&rot->rot_sync_pt_data->commit_cnt);

This file was deleted.