Loading drivers/video/msm/mdss/dsi_host_v2.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1000,7 +1000,7 @@ int msm_dsi_cmdlist_commit(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) if (from_mdp) /* from mdp kickoff */ mutex_lock(&ctrl->cmd_mutex); req = mdss_dsi_cmdlist_get(ctrl); req = mdss_dsi_cmdlist_get(ctrl, from_mdp); if (!req) { mutex_unlock(&ctrl->cmd_mutex); Loading drivers/video/msm/mdss/mdss_dsi_cmd.c +9 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -724,7 +724,8 @@ void mdss_dsi_set_tear_off(struct mdss_dsi_ctrl_pdata *ctrl) /* * mdss_dsi_cmd_get: ctrl->cmd_mutex acquired by caller */ struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl) struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) { struct dcs_cmd_list *clist; struct dcs_cmd_req *req = NULL; Loading @@ -733,6 +734,12 @@ struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl) clist = &ctrl->cmdlist; if (clist->get != clist->put) { req = &clist->list[clist->get]; /*dont let commit thread steal ESD thread's command*/ if (from_mdp && (req->flags & CMD_REQ_COMMIT)) { mutex_unlock(&ctrl->cmdlist_mutex); return NULL; } clist->get++; clist->get %= CMD_REQ_MAX; clist->tot--; Loading drivers/video/msm/mdss/mdss_dsi_cmd.h +3 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -133,7 +133,8 @@ int mdss_dsi_short_read2_resp(struct dsi_buf *rp); int mdss_dsi_long_read_resp(struct dsi_buf *rp); void mdss_dsi_set_tear_on(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_set_tear_off(struct mdss_dsi_ctrl_pdata *ctrl); struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl); struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp); int mdss_dsi_cmdlist_put(struct mdss_dsi_ctrl_pdata *ctrl, struct dcs_cmd_req *cmdreq); #endif drivers/video/msm/mdss/mdss_dsi_host.c +1 −1 Original line number Diff line number Diff line Loading @@ -2473,7 +2473,7 @@ int mdss_dsi_cmdlist_commit(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) roi = &pinfo->roi; } req = mdss_dsi_cmdlist_get(ctrl); req = mdss_dsi_cmdlist_get(ctrl, from_mdp); if (req && from_mdp && ctrl->burst_mode_enabled) { mutex_lock(&ctrl->cmd_mutex); cmd_mutex_acquired = true; Loading Loading
drivers/video/msm/mdss/dsi_host_v2.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1000,7 +1000,7 @@ int msm_dsi_cmdlist_commit(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) if (from_mdp) /* from mdp kickoff */ mutex_lock(&ctrl->cmd_mutex); req = mdss_dsi_cmdlist_get(ctrl); req = mdss_dsi_cmdlist_get(ctrl, from_mdp); if (!req) { mutex_unlock(&ctrl->cmd_mutex); Loading
drivers/video/msm/mdss/mdss_dsi_cmd.c +9 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -724,7 +724,8 @@ void mdss_dsi_set_tear_off(struct mdss_dsi_ctrl_pdata *ctrl) /* * mdss_dsi_cmd_get: ctrl->cmd_mutex acquired by caller */ struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl) struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) { struct dcs_cmd_list *clist; struct dcs_cmd_req *req = NULL; Loading @@ -733,6 +734,12 @@ struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl) clist = &ctrl->cmdlist; if (clist->get != clist->put) { req = &clist->list[clist->get]; /*dont let commit thread steal ESD thread's command*/ if (from_mdp && (req->flags & CMD_REQ_COMMIT)) { mutex_unlock(&ctrl->cmdlist_mutex); return NULL; } clist->get++; clist->get %= CMD_REQ_MAX; clist->tot--; Loading
drivers/video/msm/mdss/mdss_dsi_cmd.h +3 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -133,7 +133,8 @@ int mdss_dsi_short_read2_resp(struct dsi_buf *rp); int mdss_dsi_long_read_resp(struct dsi_buf *rp); void mdss_dsi_set_tear_on(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_set_tear_off(struct mdss_dsi_ctrl_pdata *ctrl); struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl); struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp); int mdss_dsi_cmdlist_put(struct mdss_dsi_ctrl_pdata *ctrl, struct dcs_cmd_req *cmdreq); #endif
drivers/video/msm/mdss/mdss_dsi_host.c +1 −1 Original line number Diff line number Diff line Loading @@ -2473,7 +2473,7 @@ int mdss_dsi_cmdlist_commit(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp) roi = &pinfo->roi; } req = mdss_dsi_cmdlist_get(ctrl); req = mdss_dsi_cmdlist_get(ctrl, from_mdp); if (req && from_mdp && ctrl->burst_mode_enabled) { mutex_lock(&ctrl->cmd_mutex); cmd_mutex_acquired = true; Loading