Loading drivers/video/msm/mdss/mdp3_ctrl.c +1 −11 Original line number Diff line number Diff line Loading @@ -910,9 +910,7 @@ static int mdp3_overlay_set(struct msm_fb_data_type *mfd, dma->source_config.stride = stride; dma->output_config.pack_pattern = mdp3_ctrl_get_pack_pattern(req->src.format); mdp3_clk_enable(1, 0); mdp3_session->dma->dma_config_source(dma); mdp3_clk_enable(0, 0); dma->update_src_cfg = true; } mdp3_session->overlay.id = 1; req->id = 1; Loading @@ -936,14 +934,6 @@ static int mdp3_overlay_unset(struct msm_fb_data_type *mfd, int ndx) mutex_lock(&mdp3_session->lock); if (mdp3_session->overlay.id == ndx && ndx == 1) { struct mdp3_dma *dma = mdp3_session->dma; dma->source_config.format = format; dma->source_config.stride = fix->line_length; dma->output_config.pack_pattern = mdp3_ctrl_get_pack_pattern(mfd->fb_imgType); mdp3_clk_enable(1, 0); mdp3_session->dma->dma_config_source(dma); mdp3_clk_enable(0, 0); mdp3_session->overlay.id = MSMFB_NEW_REQUEST; mdp3_bufq_deinit(&mdp3_session->bufq_in); } else { Loading drivers/video/msm/mdss/mdp3_dma.c +8 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,13 @@ static int mdp3_dmap_update(struct mdp3_dma *dma, void *buf, } } } if (dma->update_src_cfg) { if (dma->output_config.out_sel == MDP3_DMA_OUTPUT_SEL_DSI_VIDEO && intf->active) pr_err("configuring dma source while dma is active\n"); dma->dma_config_source(dma); dma->update_src_cfg = false; } spin_lock_irqsave(&dma->dma_lock, flag); MDP3_REG_WRITE(MDP3_REG_DMA_P_IBUF_ADDR, (u32)buf); dma->source_config.buf = (int)buf; Loading Loading @@ -961,6 +968,7 @@ int mdp3_dma_init(struct mdp3_dma *dma) dma->vsync_client.handler = NULL; dma->vsync_client.arg = NULL; dma->histo_state = MDP3_DMA_HISTO_STATE_IDLE; dma->update_src_cfg = false; memset(&dma->cursor, 0, sizeof(dma->cursor)); memset(&dma->ccs_config, 0, sizeof(dma->ccs_config)); Loading drivers/video/msm/mdss/mdp3_dma.h +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2013, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2014, 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 @@ -259,6 +259,7 @@ struct mdp3_dma { int histo_state; struct mdp3_dma_histogram_data histo_data; unsigned int vsync_status; bool update_src_cfg; int (*dma_config)(struct mdp3_dma *dma, struct mdp3_dma_source *source_config, Loading Loading
drivers/video/msm/mdss/mdp3_ctrl.c +1 −11 Original line number Diff line number Diff line Loading @@ -910,9 +910,7 @@ static int mdp3_overlay_set(struct msm_fb_data_type *mfd, dma->source_config.stride = stride; dma->output_config.pack_pattern = mdp3_ctrl_get_pack_pattern(req->src.format); mdp3_clk_enable(1, 0); mdp3_session->dma->dma_config_source(dma); mdp3_clk_enable(0, 0); dma->update_src_cfg = true; } mdp3_session->overlay.id = 1; req->id = 1; Loading @@ -936,14 +934,6 @@ static int mdp3_overlay_unset(struct msm_fb_data_type *mfd, int ndx) mutex_lock(&mdp3_session->lock); if (mdp3_session->overlay.id == ndx && ndx == 1) { struct mdp3_dma *dma = mdp3_session->dma; dma->source_config.format = format; dma->source_config.stride = fix->line_length; dma->output_config.pack_pattern = mdp3_ctrl_get_pack_pattern(mfd->fb_imgType); mdp3_clk_enable(1, 0); mdp3_session->dma->dma_config_source(dma); mdp3_clk_enable(0, 0); mdp3_session->overlay.id = MSMFB_NEW_REQUEST; mdp3_bufq_deinit(&mdp3_session->bufq_in); } else { Loading
drivers/video/msm/mdss/mdp3_dma.c +8 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,13 @@ static int mdp3_dmap_update(struct mdp3_dma *dma, void *buf, } } } if (dma->update_src_cfg) { if (dma->output_config.out_sel == MDP3_DMA_OUTPUT_SEL_DSI_VIDEO && intf->active) pr_err("configuring dma source while dma is active\n"); dma->dma_config_source(dma); dma->update_src_cfg = false; } spin_lock_irqsave(&dma->dma_lock, flag); MDP3_REG_WRITE(MDP3_REG_DMA_P_IBUF_ADDR, (u32)buf); dma->source_config.buf = (int)buf; Loading Loading @@ -961,6 +968,7 @@ int mdp3_dma_init(struct mdp3_dma *dma) dma->vsync_client.handler = NULL; dma->vsync_client.arg = NULL; dma->histo_state = MDP3_DMA_HISTO_STATE_IDLE; dma->update_src_cfg = false; memset(&dma->cursor, 0, sizeof(dma->cursor)); memset(&dma->ccs_config, 0, sizeof(dma->ccs_config)); Loading
drivers/video/msm/mdss/mdp3_dma.h +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2013, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2014, 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 @@ -259,6 +259,7 @@ struct mdp3_dma { int histo_state; struct mdp3_dma_histogram_data histo_data; unsigned int vsync_status; bool update_src_cfg; int (*dma_config)(struct mdp3_dma *dma, struct mdp3_dma_source *source_config, Loading