Loading drivers/video/msm/mdss/dsi_status_6g.c +7 −5 Original line number Diff line number Diff line /* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2015, 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 @@ -138,7 +138,6 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) return; } mutex_lock(&ctrl_pdata->mutex); /* * TODO: Because mdss_dsi_cmd_mdp_busy has made sure DMA to Loading @@ -147,13 +146,16 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) * lock to fix issues so that ESD thread would not block other * overlay operations. Need refine this lock for command mode */ mutex_lock(&ctl->offlock); if (mipi->mode == DSI_CMD_MODE) mutex_lock(&mdp5_data->ov_lock); if (mdss_panel_is_power_off(pstatus_data->mfd->panel_power_state)) { if (mdss_panel_is_power_off(pstatus_data->mfd->panel_power_state) || pstatus_data->mfd->shutdown_pending) { if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); mutex_unlock(&ctrl_pdata->mutex); mutex_unlock(&ctl->offlock); pr_err("%s: DSI turning off, avoiding panel status check\n", __func__); return; Loading @@ -180,7 +182,7 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); mutex_unlock(&ctrl_pdata->mutex); mutex_unlock(&ctl->offlock); if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) { if (ret > 0) Loading drivers/video/msm/mdss/mdss_dsi.c +1 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, 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 @@ -462,7 +462,6 @@ static int mdss_dsi_off(struct mdss_panel_data *pdata, int power_state) ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data); mutex_lock(&ctrl_pdata->mutex); panel_info = &ctrl_pdata->panel_data.panel_info; pr_debug("%s+: ctrl=%p ndx=%d power_state=%d\n", Loading Loading @@ -505,7 +504,6 @@ panel_power_ctrl: panel_info->mipi.frame_rate = panel_info->new_fps; end: mutex_unlock(&ctrl_pdata->mutex); pr_debug("%s-:\n", __func__); return ret; Loading drivers/video/msm/mdss/mdss_dsi_status.c +3 −2 Original line number Diff line number Diff line /* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2015, 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 @@ -60,7 +60,8 @@ static void check_dsi_ctrl_status(struct work_struct *work) return; } if (mdss_panel_is_power_off(pdsi_status->mfd->panel_power_state)) { if (mdss_panel_is_power_off(pdsi_status->mfd->panel_power_state) || pdsi_status->mfd->shutdown_pending) { pr_err("%s: panel off\n", __func__); return; } Loading drivers/video/msm/mdss/mdss_mdp.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2015, 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 @@ -220,6 +220,7 @@ struct mdss_mdp_ctl { struct mdss_mdp_mixer *mixer_left; struct mdss_mdp_mixer *mixer_right; struct mutex lock; struct mutex offlock; struct mutex *shared_lock; spinlock_t spin_lock; Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, 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 @@ -1442,6 +1442,7 @@ static struct mdss_mdp_ctl *mdss_mdp_ctl_alloc(struct mdss_data_type *mdata, ctl->ref_cnt++; ctl->mdata = mdata; mutex_init(&ctl->lock); mutex_init(&ctl->offlock); spin_lock_init(&ctl->spin_lock); BLOCKING_INIT_NOTIFIER_HEAD(&ctl->notifier_head); pr_debug("alloc ctl_num=%d\n", ctl->num); Loading Loading
drivers/video/msm/mdss/dsi_status_6g.c +7 −5 Original line number Diff line number Diff line /* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2015, 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 @@ -138,7 +138,6 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) return; } mutex_lock(&ctrl_pdata->mutex); /* * TODO: Because mdss_dsi_cmd_mdp_busy has made sure DMA to Loading @@ -147,13 +146,16 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) * lock to fix issues so that ESD thread would not block other * overlay operations. Need refine this lock for command mode */ mutex_lock(&ctl->offlock); if (mipi->mode == DSI_CMD_MODE) mutex_lock(&mdp5_data->ov_lock); if (mdss_panel_is_power_off(pstatus_data->mfd->panel_power_state)) { if (mdss_panel_is_power_off(pstatus_data->mfd->panel_power_state) || pstatus_data->mfd->shutdown_pending) { if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); mutex_unlock(&ctrl_pdata->mutex); mutex_unlock(&ctl->offlock); pr_err("%s: DSI turning off, avoiding panel status check\n", __func__); return; Loading @@ -180,7 +182,7 @@ void mdss_check_dsi_ctrl_status(struct work_struct *work, uint32_t interval) if (mipi->mode == DSI_CMD_MODE) mutex_unlock(&mdp5_data->ov_lock); mutex_unlock(&ctrl_pdata->mutex); mutex_unlock(&ctl->offlock); if ((pstatus_data->mfd->panel_power_state == MDSS_PANEL_POWER_ON)) { if (ret > 0) Loading
drivers/video/msm/mdss/mdss_dsi.c +1 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, 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 @@ -462,7 +462,6 @@ static int mdss_dsi_off(struct mdss_panel_data *pdata, int power_state) ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data); mutex_lock(&ctrl_pdata->mutex); panel_info = &ctrl_pdata->panel_data.panel_info; pr_debug("%s+: ctrl=%p ndx=%d power_state=%d\n", Loading Loading @@ -505,7 +504,6 @@ panel_power_ctrl: panel_info->mipi.frame_rate = panel_info->new_fps; end: mutex_unlock(&ctrl_pdata->mutex); pr_debug("%s-:\n", __func__); return ret; Loading
drivers/video/msm/mdss/mdss_dsi_status.c +3 −2 Original line number Diff line number Diff line /* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2015, 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 @@ -60,7 +60,8 @@ static void check_dsi_ctrl_status(struct work_struct *work) return; } if (mdss_panel_is_power_off(pdsi_status->mfd->panel_power_state)) { if (mdss_panel_is_power_off(pdsi_status->mfd->panel_power_state) || pdsi_status->mfd->shutdown_pending) { pr_err("%s: panel off\n", __func__); return; } Loading
drivers/video/msm/mdss/mdss_mdp.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2015, 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 @@ -220,6 +220,7 @@ struct mdss_mdp_ctl { struct mdss_mdp_mixer *mixer_left; struct mdss_mdp_mixer *mixer_right; struct mutex lock; struct mutex offlock; struct mutex *shared_lock; spinlock_t spin_lock; Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, 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 @@ -1442,6 +1442,7 @@ static struct mdss_mdp_ctl *mdss_mdp_ctl_alloc(struct mdss_data_type *mdata, ctl->ref_cnt++; ctl->mdata = mdata; mutex_init(&ctl->lock); mutex_init(&ctl->offlock); spin_lock_init(&ctl->spin_lock); BLOCKING_INIT_NOTIFIER_HEAD(&ctl->notifier_head); pr_debug("alloc ctl_num=%d\n", ctl->num); Loading