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

Add support for logging event names for debug purposes.

CRs-Fixed: 1076516
Change-Id: I85cc4d5ce92450d038d3a1f4fcc5ac51bdbb3bbf
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This commit is contained in:
Tatenda Chipeperekwa 2016-09-23 11:08:25 -07:00
parent cb0dd4bc98
commit c53f699c80
5 changed files with 108 additions and 51 deletions

View file

@ -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:

View file

@ -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);

View file

@ -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);
}

View file

@ -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];

View file

@ -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;