diff --git a/Android.bp b/Android.bp old mode 100644 new mode 100755 diff --git a/Android.mk b/Android.mk old mode 100644 new mode 100755 diff --git a/Documentation/devicetree/bindings/drm/msm/sde-dp-sim.txt b/Documentation/devicetree/bindings/drm/msm/sde-dp-sim.txt old mode 100644 new mode 100755 diff --git a/Kbuild b/Kbuild old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/Makefile.am b/Makefile.am old mode 100644 new mode 100755 diff --git a/NOTICE b/NOTICE old mode 100644 new mode 100755 diff --git a/config/augen3disp.conf b/config/augen3disp.conf old mode 100644 new mode 100755 diff --git a/config/augen3dispconf.h b/config/augen3dispconf.h old mode 100644 new mode 100755 diff --git a/config/bengaldisp.conf b/config/bengaldisp.conf old mode 100644 new mode 100755 diff --git a/config/bengaldispconf.h b/config/bengaldispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_crowdisp.conf b/config/gki_crowdisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_crowdispconf.h b/config/gki_crowdispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_crowdisptui.conf b/config/gki_crowdisptui.conf old mode 100644 new mode 100755 diff --git a/config/gki_crowdisptuiconf.h b/config/gki_crowdisptuiconf.h old mode 100644 new mode 100755 diff --git a/config/gki_holidisp.conf b/config/gki_holidisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_holidispconf.h b/config/gki_holidispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_kalamadisp.conf b/config/gki_kalamadisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_kalamadispconf.h b/config/gki_kalamadispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_kalamadisptui.conf b/config/gki_kalamadisptui.conf old mode 100644 new mode 100755 diff --git a/config/gki_kalamadisptuiconf.h b/config/gki_kalamadisptuiconf.h old mode 100644 new mode 100755 diff --git a/config/gki_lahainadisp.conf b/config/gki_lahainadisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_lahainadispconf.h b/config/gki_lahainadispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_neodisp.conf b/config/gki_neodisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_neodispconf.h b/config/gki_neodispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_parrotdisp.conf b/config/gki_parrotdisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_parrotdispconf.h b/config/gki_parrotdispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_waipiodisp.conf b/config/gki_waipiodisp.conf old mode 100644 new mode 100755 diff --git a/config/gki_waipiodispconf.h b/config/gki_waipiodispconf.h old mode 100644 new mode 100755 diff --git a/config/gki_waipiodisptui.conf b/config/gki_waipiodisptui.conf old mode 100644 new mode 100755 diff --git a/config/gki_waipiodisptuiconf.h b/config/gki_waipiodisptuiconf.h old mode 100644 new mode 100755 diff --git a/config/holidisp.conf b/config/holidisp.conf old mode 100644 new mode 100755 diff --git a/config/holidispconf.h b/config/holidispconf.h old mode 100644 new mode 100755 diff --git a/config/konadisp.conf b/config/konadisp.conf old mode 100644 new mode 100755 diff --git a/config/konadispconf.h b/config/konadispconf.h old mode 100644 new mode 100755 diff --git a/config/lahainadisp.conf b/config/lahainadisp.conf old mode 100644 new mode 100755 diff --git a/config/lahainadispconf.h b/config/lahainadispconf.h old mode 100644 new mode 100755 diff --git a/config/saipdisp.conf b/config/saipdisp.conf old mode 100644 new mode 100755 diff --git a/config/saipdispconf.h b/config/saipdispconf.h old mode 100644 new mode 100755 diff --git a/display_driver_board.mk b/display_driver_board.mk old mode 100644 new mode 100755 diff --git a/display_driver_product.mk b/display_driver_product.mk old mode 100644 new mode 100755 diff --git a/display_kernel_headers.py b/display_kernel_headers.py old mode 100644 new mode 100755 diff --git a/hdcp/msm_hdcp.c b/hdcp/msm_hdcp.c old mode 100644 new mode 100755 diff --git a/include/Kbuild b/include/Kbuild old mode 100644 new mode 100755 diff --git a/include/linux/Kbuild b/include/linux/Kbuild old mode 100644 new mode 100755 diff --git a/include/linux/msm_hdcp.h b/include/linux/msm_hdcp.h old mode 100644 new mode 100755 diff --git a/include/linux/sde_io_util.h b/include/linux/sde_io_util.h old mode 100644 new mode 100755 diff --git a/include/linux/sde_rsc.h b/include/linux/sde_rsc.h old mode 100644 new mode 100755 diff --git a/include/linux/sde_vm_event.h b/include/linux/sde_vm_event.h old mode 100644 new mode 100755 diff --git a/include/uapi/Kbuild b/include/uapi/Kbuild old mode 100644 new mode 100755 diff --git a/include/uapi/display/Kbuild b/include/uapi/display/Kbuild old mode 100644 new mode 100755 diff --git a/include/uapi/display/drm/Kbuild b/include/uapi/display/drm/Kbuild old mode 100644 new mode 100755 diff --git a/include/uapi/display/drm/msm_drm_pp.h b/include/uapi/display/drm/msm_drm_pp.h old mode 100644 new mode 100755 diff --git a/include/uapi/display/drm/sde_drm.h b/include/uapi/display/drm/sde_drm.h old mode 100644 new mode 100755 diff --git a/include/uapi/display/hdcp/Kbuild b/include/uapi/display/hdcp/Kbuild old mode 100644 new mode 100755 diff --git a/include/uapi/display/hdcp/msm_hdmi_hdcp_mgr.h b/include/uapi/display/hdcp/msm_hdmi_hdcp_mgr.h old mode 100644 new mode 100755 diff --git a/include/uapi/display/media/Kbuild b/include/uapi/display/media/Kbuild old mode 100644 new mode 100755 diff --git a/include/uapi/display/media/mmm_color_fmt.h b/include/uapi/display/media/mmm_color_fmt.h old mode 100644 new mode 100755 diff --git a/include/uapi/display/media/msm_sde_rotator.h b/include/uapi/display/media/msm_sde_rotator.h old mode 100644 new mode 100755 diff --git a/msm/Android.mk b/msm/Android.mk old mode 100644 new mode 100755 diff --git a/msm/Kbuild b/msm/Kbuild old mode 100644 new mode 100755 diff --git a/msm/Makefile b/msm/Makefile old mode 100644 new mode 100755 diff --git a/msm/dp/dp_altmode.c b/msm/dp/dp_altmode.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_altmode.h b/msm/dp/dp_altmode.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_audio.c b/msm/dp/dp_audio.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_audio.h b/msm/dp/dp_audio.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_aux.c b/msm/dp/dp_aux.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_aux.h b/msm/dp/dp_aux.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_aux_bridge.c b/msm/dp/dp_aux_bridge.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_aux_bridge.h b/msm/dp/dp_aux_bridge.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_bridge_hpd.c b/msm/dp/dp_bridge_hpd.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_bridge_hpd.h b/msm/dp/dp_bridge_hpd.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_catalog.c b/msm/dp/dp_catalog.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_catalog.h b/msm/dp/dp_catalog.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_catalog_v200.c b/msm/dp/dp_catalog_v200.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_catalog_v420.c b/msm/dp/dp_catalog_v420.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_ctrl.c b/msm/dp/dp_ctrl.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_ctrl.h b/msm/dp/dp_ctrl.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_debug.c b/msm/dp/dp_debug.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_debug.h b/msm/dp/dp_debug.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_display.h b/msm/dp/dp_display.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_drm.c b/msm/dp/dp_drm.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_drm.h b/msm/dp/dp_drm.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_gpio_hpd.c b/msm/dp/dp_gpio_hpd.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_gpio_hpd.h b/msm/dp/dp_gpio_hpd.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_hdcp2p2.c b/msm/dp/dp_hdcp2p2.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_hpd.c b/msm/dp/dp_hpd.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_hpd.h b/msm/dp/dp_hpd.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_link.c b/msm/dp/dp_link.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_link.h b/msm/dp/dp_link.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_lphw_hpd.c b/msm/dp/dp_lphw_hpd.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_lphw_hpd.h b/msm/dp/dp_lphw_hpd.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_drm.c b/msm/dp/dp_mst_drm.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_drm.h b/msm/dp/dp_mst_drm.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_sim.c b/msm/dp/dp_mst_sim.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_sim.h b/msm/dp/dp_mst_sim.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_sim_helper.c b/msm/dp/dp_mst_sim_helper.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_mst_sim_helper.h b/msm/dp/dp_mst_sim_helper.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_panel.c b/msm/dp/dp_panel.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_panel.h b/msm/dp/dp_panel.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_parser.c b/msm/dp/dp_parser.c old mode 100644 new mode 100755 index 4ce53a7c..709e69a3 --- a/msm/dp/dp_parser.c +++ b/msm/dp/dp_parser.c @@ -234,7 +234,7 @@ static int dp_parser_gpio(struct dp_parser *parser) static const char * const dp_gpios[] = { "qcom,aux-en-gpio", "qcom,aux-sel-gpio", - "qcom,usbplug-cc-gpio", + //"qcom,usbplug-cc-gpio", }; if (of_find_property(of_node, "qcom,dp-gpio-aux-switch", NULL)) diff --git a/msm/dp/dp_parser.h b/msm/dp/dp_parser.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_pll.c b/msm/dp/dp_pll.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_pll.h b/msm/dp/dp_pll.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_pll_4nm.c b/msm/dp/dp_pll_4nm.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_pll_5nm.c b/msm/dp/dp_pll_5nm.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_power.c b/msm/dp/dp_power.c old mode 100644 new mode 100755 index ea204d38..d964d81e --- a/msm/dp/dp_power.c +++ b/msm/dp/dp_power.c @@ -526,7 +526,7 @@ static int dp_power_request_gpios(struct dp_power_private *power) struct device *dev; struct dss_module_power *mp; static const char * const gpio_names[] = { - "aux_enable", "aux_sel", "usbplug_cc", + "aux_enable", "aux_sel",// "usbplug_cc", }; if (!power) { diff --git a/msm/dp/dp_power.h b/msm/dp/dp_power.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_reg.h b/msm/dp/dp_reg.h old mode 100644 new mode 100755 diff --git a/msm/dp/dp_usbpd.c b/msm/dp/dp_usbpd.c old mode 100644 new mode 100755 diff --git a/msm/dp/dp_usbpd.h b/msm/dp/dp_usbpd.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_catalog.c b/msm/dsi/dsi_catalog.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_catalog.h b/msm/dsi/dsi_catalog.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_clk.h b/msm/dsi/dsi_clk.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_clk_manager.c b/msm/dsi/dsi_clk_manager.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl.h b/msm/dsi/dsi_ctrl.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl_hw.h b/msm/dsi/dsi_ctrl_hw.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl_hw_2_2.c b/msm/dsi/dsi_ctrl_hw_2_2.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl_hw_cmn.c b/msm/dsi/dsi_ctrl_hw_cmn.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_ctrl_reg.h b/msm/dsi/dsi_ctrl_reg.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_defs.h b/msm/dsi/dsi_defs.h old mode 100644 new mode 100755 index d7329bfb..895fee9b --- a/msm/dsi/dsi_defs.h +++ b/msm/dsi/dsi_defs.h @@ -296,6 +296,8 @@ enum dsi_cmd_set_type { DSI_CMD_SET_POST_TIMING_SWITCH, DSI_CMD_SET_QSYNC_ON, DSI_CMD_SET_QSYNC_OFF, + DSI_CMD_SET_VID_BYPASS_RAM, + DSI_CMD_SET_VID_PASS_RAM, DSI_CMD_SET_MAX }; diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c old mode 100644 new mode 100755 index 16ffc421..4595a47d --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -38,6 +38,18 @@ #define MAX_TE_SOURCE_ID 2 #define SEC_PANEL_NAME_MAX_LEN 256 +#define MODEFY_FPS 1 + +#if MODEFY_FPS +int quec_refresh_120hz = 0; +int quec_refresh_60hz = 0; +int quec_refresh_120hz_dtsi = 0; +int quec_refresh_60hz_dtsi = 0; +static struct class *quec_refresh_class; +static struct device *quec_refresh_device; +struct dsi_display *g_display = NULL; +int is_plane_on = 1; +#endif u8 dbgfs_tx_cmd_buf[SZ_4K]; static char dsi_display_primary[MAX_CMDLINE_PARAM_LEN]; @@ -2628,6 +2640,7 @@ static int dsi_display_parse_boot_display_selection(void) char disp_buf[MAX_CMDLINE_PARAM_LEN] = {'\0'}; int i, j; + boot_displays[DSI_SECONDARY].boot_param = "qcom,mdss_dsi_ch13726a_amoled_video:"; for (i = 0; i < MAX_DSI_ACTIVE_DISPLAY; i++) { strlcpy(disp_buf, boot_displays[i].boot_param, MAX_CMDLINE_PARAM_LEN); @@ -4494,7 +4507,7 @@ static int dsi_display_update_dsi_bitrate(struct dsi_display *display, int rc = 0; int i; - DSI_DEBUG("%s:bit rate:%d\n", __func__, bit_clk_rate); + DSI_DEBUG("oscar %s: display :%s bit rate:%d\n", __func__, !strcmp(display->panel->type,"primary")? "primary":"secondary",bit_clk_rate); if (!display->panel) { DSI_ERR("Invalid params\n"); return -EINVAL; @@ -5242,7 +5255,8 @@ static int dsi_display_set_mode_sub(struct dsi_display *display, if (!(mode->dsi_mode_flags & (DSI_MODE_FLAG_SEAMLESS | DSI_MODE_FLAG_VRR | DSI_MODE_FLAG_DYN_CLK))) { - rc = dsi_display_set_link_frequencies(display); + //rc = dsi_display_set_link_frequencies(display); + rc = dsi_clk_set_link_frequencies(display->dsi_clk_handle, ctrl->ctrl->clk_freq, ctrl->ctrl->cell_index); if (rc) { DSI_ERR("Failed to set display link frequencies\n"); goto error; @@ -5995,6 +6009,92 @@ static void dsi_display_firmware_display(const struct firmware *fw, DSI_DEBUG("success\n"); } +#if MODEFY_FPS +static ssize_t quec_refresh_120hz_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + //printk(KERN_ERR "quec_refresh_120hz_show\n"); + return sprintf(buf, "0x%x\n", quec_refresh_120hz); +} + +static ssize_t quec_refresh_120hz_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) +{ + //int ret; + unsigned int value; + //printk(KERN_ERR "quec_refresh_120hz_store\n"); + // 将用户空间传递的字符串转换为整数 + if (sscanf(buf, "0x%x", &value) != 1) { + goto ERROR_OUT; + } + //if(value%4 != 0){ + // goto ERROR_OUT; + //} + //if(value < 0x100 || value > 0xFFF){ + // goto ERROR_OUT; + //} + quec_refresh_120hz = value; // 更新值 + printk(KERN_ERR "quec_refresh_120hz value=0x%x\n",value); + if(g_display && is_plane_on) + dsi_panel_switch(g_display->panel); + + return count; // 返回写入字节数 + +ERROR_OUT: + printk(KERN_ERR "quec_refresh_120hz_store error value=0x%x\n", value); + return -EINVAL; // 解析失败 +} + +static DEVICE_ATTR(quec_refresh_120hz, 0664, quec_refresh_120hz_show, quec_refresh_120hz_store); + +static ssize_t quec_refresh_60hz_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + //printk(KERN_ERR " quec_refresh_60hz_show\n"); + return sprintf(buf, "0x%x\n", quec_refresh_60hz); +} + +static ssize_t quec_refresh_60hz_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) +{ + //int ret; + unsigned int value; + //printk(KERN_ERR "quec_refresh_60hz_store\n"); + // 将用户空间传递的字符串转换为整数 + if (sscanf(buf, "0x%x", &value) != 1) { + goto ERROR_OUT; + } + //if(value%4 != 0){ + // goto ERROR_OUT; + //} + //if(value < 0xA00 || value > 0xFFF){ + // goto ERROR_OUT; + //} + quec_refresh_60hz = value; // 更新值 + printk(KERN_ERR "quec_refresh_60hz value=0x%x\n",value); + if(g_display && is_plane_on) + dsi_panel_switch(g_display->panel); + + return count; // 返回写入字节数 + +ERROR_OUT: + printk(KERN_ERR "quec_refresh_60hz_store error value=0x%x\n", value); + return -EINVAL; // 解析失败 +} + +static DEVICE_ATTR(quec_refresh_60hz, 0664, quec_refresh_60hz_show, quec_refresh_60hz_store); + +static ssize_t quec_refresh_120hz_dtsi_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + //printk(KERN_ERR "quec_refresh_120hz_dtsi_show\n"); + return sprintf(buf, "0x%x\n", g_display->panel->quec_refresh_120hz); +} +static DEVICE_ATTR(quec_refresh_120hz_dtsi, 0444, quec_refresh_120hz_dtsi_show, NULL); + +static ssize_t quec_refresh_60hz_dtsi_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + //printk(KERN_ERR "quec_refresh_60hz_dtsi_show\n"); + return sprintf(buf, "0x%x\n", g_display->panel->quec_refresh_60hz); +} +static DEVICE_ATTR(quec_refresh_60hz_dtsi, 0444, quec_refresh_60hz_dtsi_show, NULL); +#endif + int dsi_display_dev_probe(struct platform_device *pdev) { struct dsi_display *display = NULL; @@ -6003,6 +6103,9 @@ int dsi_display_dev_probe(struct platform_device *pdev) bool firm_req = false; struct dsi_display_boot_param *boot_disp; +#if MODEFY_FPS + int err; +#endif if (!pdev || !pdev->dev.of_node) { DSI_ERR("pdev not found\n"); rc = -ENODEV; @@ -6101,6 +6204,46 @@ int dsi_display_dev_probe(struct platform_device *pdev) goto end; } +#if MODEFY_FPS + if(!strcmp(display->display_type, "primary")){ + g_display = display; + printk(KERN_ERR "jaden create sysfs file\n"); + quec_refresh_class = class_create(THIS_MODULE, "quec_refresh_class"); + if (IS_ERR(quec_refresh_class)) { + printk(KERN_ERR "jaden create sysfs file fail\n"); + }else{ + quec_refresh_device = device_create(quec_refresh_class, NULL, 0, NULL, "quec_refresh_device"); + if (IS_ERR(quec_refresh_device)) { + class_destroy(quec_refresh_class); + printk(KERN_ERR "jaden create device file fail\n"); + } + } + err = device_create_file(quec_refresh_device, &dev_attr_quec_refresh_120hz); + if (err) { + device_destroy(quec_refresh_class, 0); + class_destroy(quec_refresh_class); + printk(KERN_ERR "jaden create sysfs file fail 111\n"); + } + err = device_create_file(quec_refresh_device, &dev_attr_quec_refresh_60hz); + if (err) { + device_destroy(quec_refresh_class, 0); + class_destroy(quec_refresh_class); + printk(KERN_ERR "jaden create sysfs file fail 222\n"); + } + err = device_create_file(quec_refresh_device, &dev_attr_quec_refresh_120hz_dtsi); + if (err) { + device_destroy(quec_refresh_class, 0); + class_destroy(quec_refresh_class); + printk(KERN_ERR "jaden create sysfs file fail 3333\n"); + } + err = device_create_file(quec_refresh_device, &dev_attr_quec_refresh_60hz_dtsi); + if (err) { + device_destroy(quec_refresh_class, 0); + class_destroy(quec_refresh_class); + printk(KERN_ERR "jaden create sysfs file fail 222\n"); + } + } +#endif return 0; end: if (display) @@ -6141,6 +6284,14 @@ int dsi_display_dev_remove(struct platform_device *pdev) platform_set_drvdata(pdev, NULL); devm_kfree(&pdev->dev, display); +#if MODEFY_FPS + device_remove_file(quec_refresh_device, &dev_attr_quec_refresh_120hz); + device_remove_file(quec_refresh_device, &dev_attr_quec_refresh_60hz); + device_remove_file(quec_refresh_device, &dev_attr_quec_refresh_120hz_dtsi); + device_remove_file(quec_refresh_device, &dev_attr_quec_refresh_60hz_dtsi); + device_destroy(quec_refresh_class, 0); + class_destroy(quec_refresh_class); +#endif return rc; } diff --git a/msm/dsi/dsi_display.h b/msm/dsi/dsi_display.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_display_test.c b/msm/dsi/dsi_display_test.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_display_test.h b/msm/dsi/dsi_display_test.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_drm.c b/msm/dsi/dsi_drm.c old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_drm.h b/msm/dsi/dsi_drm.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_hw.h b/msm/dsi/dsi_hw.h old mode 100644 new mode 100755 diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c old mode 100644 new mode 100755 index c9771fcf..0a7053e2 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -9,7 +9,10 @@ #include #include #include +#include +#include #include