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

Commit 7691180c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: dp: add support for logging event names"

parents 2c4448cb c53f699c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1647,7 +1647,7 @@ static int mdss_dp_event_handler(struct mdss_panel_data *pdata,
		return -EINVAL;
	}

	pr_debug("event=%d\n", event);
	pr_debug("event=%s\n", mdss_panel_intf_event_to_string(event));

	dp = container_of(pdata, struct mdss_dp_drv_pdata,
				panel_data);
@@ -1835,7 +1835,7 @@ static void mdss_dp_event_work(struct work_struct *work)
	dp->current_event = 0;
	spin_unlock_irqrestore(&dp->event_lock, flag);

	pr_debug("todo=%x\n", todo);
	pr_debug("todo=%s\n", mdss_dp_ev_event_to_string(todo));

	switch (todo) {
	case EV_EDID_READ:
+23 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@
	EDP_INTR_FRAME_END | EDP_INTR_CRC_UPDATED)

#define EDP_INTR_MASK2		(EDP_INTR_STATUS2 << 2)
#define EV_EVENT_STR(x)		#x

struct edp_buf {
	char *start;	/* buffer start addr */
@@ -465,6 +466,28 @@ static inline const char *__mdss_dp_pm_supply_node_name(
	}
}

static inline char *mdss_dp_ev_event_to_string(int event)
{
	switch (event) {
	case EV_EDP_AUX_SETUP:
		return EV_EVENT_STR(EV_EDP_AUX_SETUP);
	case EV_EDID_READ:
		return EV_EVENT_STR(EV_EDID_READ);
	case EV_DPCD_CAP_READ:
		return EV_EVENT_STR(EV_DPCD_CAP_READ);
	case EV_DPCD_STATUS_READ:
		return EV_EVENT_STR(EV_DPCD_STATUS_READ);
	case EV_LINK_TRAIN:
		return EV_EVENT_STR(EV_LINK_TRAIN);
	case EV_IDLE_PATTERNS_SENT:
		return EV_EVENT_STR(EV_IDLE_PATTERNS_SENT);
	case EV_VIDEO_READY:
		return EV_EVENT_STR(EV_VIDEO_READY);
	default:
		return "unknown";
	}
}

void mdss_dp_phy_initialize(struct mdss_dp_drv_pdata *dp);

void mdss_dp_dpcd_cap_read(struct mdss_dp_drv_pdata *dp);
+8 −0
Original line number Diff line number Diff line
@@ -495,6 +495,14 @@ void mdss_dp_usbpd_ext_dp_status(struct usbpd_dp_status *dp_status)
	dp_status->hpd_irq =
			(buf & BIT(8)) ? true : false;

	pr_debug("low_pow_st = %d, adaptor_dp_en = %d, multi_func = %d\n",
			dp_status->low_pow_st, dp_status->adaptor_dp_en,
			dp_status->multi_func);
	pr_debug("switch_to_usb_config = %d, exit_dp_mode = %d, hpd_high =%d\n",
			dp_status->switch_to_usb_config,
			dp_status->exit_dp_mode, dp_status->hpd_high);
	pr_debug("hpd_irq = %d\n", dp_status->hpd_irq);

	mdss_dp_initialize_s_port(&dp_status->c_port, port);
}

+2 −49
Original line number Diff line number Diff line
@@ -3566,54 +3566,6 @@ static int hdmi_tx_hdcp_off(struct hdmi_tx_ctrl *hdmi_ctrl)
	return rc;
}

static char *hdmi_tx_get_event_name(int event)
{
	switch (event) {
	case MDSS_EVENT_RESET:
		return HDMI_TX_EVT_STR(MDSS_EVENT_RESET);
	case MDSS_EVENT_LINK_READY:
		return HDMI_TX_EVT_STR(MDSS_EVENT_LINK_READY);
	case MDSS_EVENT_UNBLANK:
		return HDMI_TX_EVT_STR(MDSS_EVENT_UNBLANK);
	case MDSS_EVENT_PANEL_ON:
		return HDMI_TX_EVT_STR(MDSS_EVENT_PANEL_ON);
	case MDSS_EVENT_BLANK:
		return HDMI_TX_EVT_STR(MDSS_EVENT_BLANK);
	case MDSS_EVENT_PANEL_OFF:
		return HDMI_TX_EVT_STR(MDSS_EVENT_PANEL_OFF);
	case MDSS_EVENT_CLOSE:
		return HDMI_TX_EVT_STR(MDSS_EVENT_CLOSE);
	case MDSS_EVENT_SUSPEND:
		return HDMI_TX_EVT_STR(MDSS_EVENT_SUSPEND);
	case MDSS_EVENT_RESUME:
		return HDMI_TX_EVT_STR(MDSS_EVENT_RESUME);
	case MDSS_EVENT_CHECK_PARAMS:
		return HDMI_TX_EVT_STR(MDSS_EVENT_CHECK_PARAMS);
	case MDSS_EVENT_CONT_SPLASH_BEGIN:
		return HDMI_TX_EVT_STR(MDSS_EVENT_CONT_SPLASH_BEGIN);
	case MDSS_EVENT_CONT_SPLASH_FINISH:
		return HDMI_TX_EVT_STR(MDSS_EVENT_CONT_SPLASH_FINISH);
	case MDSS_EVENT_PANEL_UPDATE_FPS:
		return HDMI_TX_EVT_STR(MDSS_EVENT_PANEL_UPDATE_FPS);
	case MDSS_EVENT_FB_REGISTERED:
		return HDMI_TX_EVT_STR(MDSS_EVENT_FB_REGISTERED);
	case MDSS_EVENT_PANEL_CLK_CTRL:
		return HDMI_TX_EVT_STR(MDSS_EVENT_PANEL_CLK_CTRL);
	case MDSS_EVENT_DSI_CMDLIST_KOFF:
		return HDMI_TX_EVT_STR(MDSS_EVENT_DSI_CMDLIST_KOFF);
	case MDSS_EVENT_ENABLE_PARTIAL_ROI:
		return HDMI_TX_EVT_STR(MDSS_EVENT_ENABLE_PARTIAL_ROI);
	case MDSS_EVENT_DSI_STREAM_SIZE:
		return HDMI_TX_EVT_STR(MDSS_EVENT_DSI_STREAM_SIZE);
	case MDSS_EVENT_DSI_DYNAMIC_SWITCH:
		return HDMI_TX_EVT_STR(MDSS_EVENT_DSI_DYNAMIC_SWITCH);
	case MDSS_EVENT_REGISTER_RECOVERY_HANDLER:
		return HDMI_TX_EVT_STR(MDSS_EVENT_REGISTER_RECOVERY_HANDLER);
	default:
		return "unknown";
	}
}

static void hdmi_tx_update_fps(struct hdmi_tx_ctrl *hdmi_ctrl)
{
	void *pdata = pdata = hdmi_tx_get_fd(HDMI_TX_FEAT_PANEL);
@@ -3918,7 +3870,8 @@ static int hdmi_tx_event_handler(struct mdss_panel_data *panel_data,
	hdmi_ctrl->evt_arg = arg;

	DEV_DBG("%s: event = %s suspend=%d, hpd_feature=%d\n", __func__,
		hdmi_tx_get_event_name(event), hdmi_ctrl->panel_suspend,
		mdss_panel_intf_event_to_string(event),
		hdmi_ctrl->panel_suspend,
		hdmi_ctrl->hpd_feature_on);

	handler = hdmi_ctrl->evt_handler[event];
+73 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ struct panel_id {
#define DP_PANEL		12	/* LVDS */

#define DSC_PPS_LEN		128
#define INTF_EVENT_STR(x)	#x

static inline const char *mdss_panel2str(u32 panel)
{
@@ -270,6 +271,78 @@ enum mdss_intf_events {
	MDSS_EVENT_MAX,
};

/**
 * mdss_panel_intf_event_to_string() - converts interface event enum to string
 * @event: interface event to be converted to string representation
 */
static inline char *mdss_panel_intf_event_to_string(int event)
{
	switch (event) {
	case MDSS_EVENT_RESET:
		return INTF_EVENT_STR(MDSS_EVENT_RESET);
	case MDSS_EVENT_LINK_READY:
		return INTF_EVENT_STR(MDSS_EVENT_LINK_READY);
	case MDSS_EVENT_UNBLANK:
		return INTF_EVENT_STR(MDSS_EVENT_UNBLANK);
	case MDSS_EVENT_PANEL_ON:
		return INTF_EVENT_STR(MDSS_EVENT_PANEL_ON);
	case MDSS_EVENT_POST_PANEL_ON:
		return INTF_EVENT_STR(MDSS_EVENT_POST_PANEL_ON);
	case MDSS_EVENT_BLANK:
		return INTF_EVENT_STR(MDSS_EVENT_BLANK);
	case MDSS_EVENT_PANEL_OFF:
		return INTF_EVENT_STR(MDSS_EVENT_PANEL_OFF);
	case MDSS_EVENT_CLOSE:
		return INTF_EVENT_STR(MDSS_EVENT_CLOSE);
	case MDSS_EVENT_SUSPEND:
		return INTF_EVENT_STR(MDSS_EVENT_SUSPEND);
	case MDSS_EVENT_RESUME:
		return INTF_EVENT_STR(MDSS_EVENT_RESUME);
	case MDSS_EVENT_CHECK_PARAMS:
		return INTF_EVENT_STR(MDSS_EVENT_CHECK_PARAMS);
	case MDSS_EVENT_CONT_SPLASH_BEGIN:
		return INTF_EVENT_STR(MDSS_EVENT_CONT_SPLASH_BEGIN);
	case MDSS_EVENT_CONT_SPLASH_FINISH:
		return INTF_EVENT_STR(MDSS_EVENT_CONT_SPLASH_FINISH);
	case MDSS_EVENT_PANEL_UPDATE_FPS:
		return INTF_EVENT_STR(MDSS_EVENT_PANEL_UPDATE_FPS);
	case MDSS_EVENT_FB_REGISTERED:
		return INTF_EVENT_STR(MDSS_EVENT_FB_REGISTERED);
	case MDSS_EVENT_PANEL_CLK_CTRL:
		return INTF_EVENT_STR(MDSS_EVENT_PANEL_CLK_CTRL);
	case MDSS_EVENT_DSI_CMDLIST_KOFF:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_CMDLIST_KOFF);
	case MDSS_EVENT_ENABLE_PARTIAL_ROI:
		return INTF_EVENT_STR(MDSS_EVENT_ENABLE_PARTIAL_ROI);
	case MDSS_EVENT_DSC_PPS_SEND:
		return INTF_EVENT_STR(MDSS_EVENT_DSC_PPS_SEND);
	case MDSS_EVENT_DSI_STREAM_SIZE:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_STREAM_SIZE);
	case MDSS_EVENT_DSI_UPDATE_PANEL_DATA:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_UPDATE_PANEL_DATA);
	case MDSS_EVENT_REGISTER_RECOVERY_HANDLER:
		return INTF_EVENT_STR(MDSS_EVENT_REGISTER_RECOVERY_HANDLER);
	case MDSS_EVENT_REGISTER_MDP_CALLBACK:
		return INTF_EVENT_STR(MDSS_EVENT_REGISTER_MDP_CALLBACK);
	case MDSS_EVENT_DSI_PANEL_STATUS:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_PANEL_STATUS);
	case MDSS_EVENT_DSI_DYNAMIC_SWITCH:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_DYNAMIC_SWITCH);
	case MDSS_EVENT_DSI_RECONFIG_CMD:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_RECONFIG_CMD);
	case MDSS_EVENT_DSI_RESET_WRITE_PTR:
		return INTF_EVENT_STR(MDSS_EVENT_DSI_RESET_WRITE_PTR);
	case MDSS_EVENT_PANEL_TIMING_SWITCH:
		return INTF_EVENT_STR(MDSS_EVENT_PANEL_TIMING_SWITCH);
	case MDSS_EVENT_DEEP_COLOR:
		return INTF_EVENT_STR(MDSS_EVENT_DEEP_COLOR);
	case MDSS_EVENT_DISABLE_PANEL:
		return INTF_EVENT_STR(MDSS_EVENT_DISABLE_PANEL);
	default:
		return "unknown";
	}
}

struct lcd_panel_info {
	u32 h_back_porch;
	u32 h_front_porch;