Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88dcd305 authored by yushixian's avatar yushixian
Browse files

[ALM:10872955] [FP4]:TP drm notifier debug

 &&&%%%comment:[FP4]:TP drm notifier debug
 &&&%%%bug number:10872955
 &&&%%%product name:sm7225_r_fp4
 &&&%%%root cause:Coding
 &&&%%%Bug category:T2M
 &&&%%%Module_Impact:kernel
 &&&%%%Test_Suggestion:TP can suspend and resume
 &&&%%%Solution:enable drm notifier
 &&&%%%Test_Report:test is ok
 &&&%%%VAL Can Test:yes

Change-Id: I8ebfa1e11160d329c8eab74969d031f227714670
parent 76dcbfb6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -343,11 +343,12 @@ CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_HIMAX_CHIPSET=y
CONFIG_TOUCHSCREEN_HIMAX_I2C=y
CONFIG_TOUCHSCREEN_HIMAX_INCELL=y
CONFIG_TOUCHSCREEN_HIMAX_IC_HX83112=y
CONFIG_TOUCHSCREEN_HIMAX_INSPECT=y
CONFIG_TOUCHSCREEN_HIMAX_COMMON=y
CONFIG_TOUCHSCREEN_HIMAX_DEBUG=y
# CONFIG_TOUCHSCREEN_HIMAX_EMBEDDED_FIRMWARE=y
# CONFIG_SECURE_TOUCH_SYNAPTICS_DSX is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_REFLASH is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_RECOVERY is not set
+2 −1
Original line number Diff line number Diff line
@@ -350,11 +350,12 @@ CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_HIMAX_CHIPSET=y
CONFIG_TOUCHSCREEN_HIMAX_I2C=y
CONFIG_TOUCHSCREEN_HIMAX_INCELL=y
CONFIG_TOUCHSCREEN_HIMAX_IC_HX83112=y
CONFIG_TOUCHSCREEN_HIMAX_INSPECT=y
CONFIG_TOUCHSCREEN_HIMAX_COMMON=y
CONFIG_TOUCHSCREEN_HIMAX_DEBUG=y
# CONFIG_TOUCHSCREEN_HIMAX_EMBEDDED_FIRMWARE=y
# CONFIG_SECURE_TOUCH_SYNAPTICS_DSX is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_REFLASH is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_TCM_RECOVERY is not set
+0 −4
Original line number Diff line number Diff line
@@ -4,10 +4,6 @@ ifneq ($(filter y, $(CONFIG_KALLSYMS_ALL)),)
	ccflags-y += -D__KERNEL_KALLSYMS_ALL_ENABLED__
endif

ifneq ($(filter y, $(CONFIG_FB)),)
	ccflags-y += -DHX_CONFIG_FB
endif

ifneq ($(filter y, $(CONFIG_DRM)),)
	ccflags-y += -DHX_CONFIG_DRM
endif
+19 −14
Original line number Diff line number Diff line
@@ -2802,18 +2802,16 @@ static void himax_fb_register(struct work_struct *work)
	ts->fb_notif.notifier_call = fb_notifier_callback;
	ret = fb_register_client(&ts->fb_notif);
#elif defined(HX_CONFIG_DRM)
#if defined(__HIMAX_MOD__)
	hx_msm_drm_register_client =
		(void *)kallsyms_lookup_name("msm_drm_register_client");
	if (hx_msm_drm_register_client != NULL) {
		ts->fb_notif.notifier_call = drm_notifier_callback;
		ret = hx_msm_drm_register_client(&ts->fb_notif);
	}	else
		E("hx_msm_drm_register_client is NULL\n");
#else
	ts->fb_notif.notifier_call = drm_notifier_callback;
	ret = msm_drm_register_client(&ts->fb_notif);
#endif
	if (active_panel) {
		ret = drm_panel_notifier_register(active_panel,
			&ts->fb_notif);
		if (ret)
			E("Failed to register fb notifier client");
	}
	else {
		E("active_panel error\n");
	}
#endif
	if (ret)
		E("Unable to register fb_notifier: %d\n", ret);
@@ -2870,6 +2868,8 @@ int himax_chip_common_init(void)
		goto err_xfer_buff_fail;
	}



#if defined(__EMBEDDED_FW__)
	g_embedded_fw.size = (size_t)_binary___Himax_firmware_bin_end -
			(size_t)_binary___Himax_firmware_bin_start;
@@ -3072,7 +3072,7 @@ int himax_chip_common_init(void)
		err = -ENOMEM;
		goto err_get_intr_bit_failed;
	}

	I("register fb  \n");
	INIT_DELAYED_WORK(&ts->work_att, himax_fb_register);
	queue_delayed_work(ts->himax_att_wq, &ts->work_att,
			msecs_to_jiffies(15000));
@@ -3155,6 +3155,7 @@ int himax_chip_common_init(void)
void himax_chip_common_deinit(void)
{
	struct himax_ts_data *ts = private_ts;
	int ret = 0;

	himax_ts_unregister_interrupt();

@@ -3187,8 +3188,12 @@ void himax_chip_common_deinit(void)
	} else
		E("hx_msm_drm_unregister_client is NULL\n");
#else
	if (msm_drm_unregister_client(&ts->fb_notif))
		E("Error occurred while unregistering drm_notifier.\n");
    if (active_panel) {
		ret = drm_panel_notifier_unregister(active_panel,
				&ts->fb_notif);
		if (ret < 0)
            E("Failed to unregister fb notifier client");
	}
#endif
	cancel_delayed_work_sync(&ts->work_att);
	destroy_workqueue(ts->himax_att_wq);
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@
#include <linux/proc_fs.h>
#include "himax_platform.h"
#include <linux/kallsyms.h>
#include <drm/drm_panel.h>

#if defined(CONFIG_OF)
	#include <linux/of_gpio.h>
@@ -572,6 +573,7 @@ extern struct himax_core_fp g_core_fp;
extern struct himax_ts_data *private_ts;
extern struct himax_ic_data *ic_data;
extern struct device *g_device;
extern struct drm_panel *active_panel;

#if defined(CONFIG_TOUCHSCREEN_HIMAX_DEBUG)
	int himax_debug_init(void);
Loading