From: ChiHun Won Date: Fri, 25 May 2018 08:04:42 +0000 (+0900) Subject: fbdev: dpu20: fixed decon init display DMA2CH mapping error X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a9c2bb1de0af059ab8ab19e9e8eab18fe04fe2b3;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git fbdev: dpu20: fixed decon init display DMA2CH mapping error reviewed Change-Id: I963d349427a2a0b8366cccd9ff6d176f91efb56c Signed-off-by: ChiHun Won --- diff --git a/drivers/video/fbdev/exynos/dpu20/decon_core.c b/drivers/video/fbdev/exynos/dpu20/decon_core.c index 5c449609a9b6..54e327a53633 100644 --- a/drivers/video/fbdev/exynos/dpu20/decon_core.c +++ b/drivers/video/fbdev/exynos/dpu20/decon_core.c @@ -3529,6 +3529,7 @@ static int decon_initial_display(struct decon_device *decon, bool is_colormap) struct decon_mode_info psr; struct dsim_device *dsim; struct dsim_device *dsim1; + int dpp_id = DPU_DMA2CH(decon->dt.dft_idma); if (decon->id || (decon->dt.out_type != DECON_OUT_DSI) || IS_ENABLED(CONFIG_EXYNOS_VIRTUAL_DISPLAY)) { @@ -3568,14 +3569,14 @@ static int decon_initial_display(struct decon_device *decon, bool is_colormap) win_regs.whole_h = fbinfo->var.yres_virtual; win_regs.offset_x = fbinfo->var.xoffset; win_regs.offset_y = fbinfo->var.yoffset; - win_regs.type = DPU_CH2DMA(decon->dt.dft_idma); + win_regs.type = decon->dt.dft_idma; decon_dbg("pixel_count(%d), whole_w(%d), whole_h(%d), x(%d), y(%d)\n", win_regs.pixel_count, win_regs.whole_w, win_regs.whole_h, win_regs.offset_x, win_regs.offset_y); - set_bit(decon->dt.dft_idma, &decon->cur_using_dpp); - set_bit(decon->dt.dft_idma, &decon->prev_used_dpp); + set_bit(dpp_id, &decon->cur_using_dpp); + set_bit(dpp_id, &decon->prev_used_dpp); memset(&config, 0, sizeof(struct decon_win_config)); config.dpp_parm.addr[0] = fbinfo->fix.smem_start; config.format = DECON_PIXEL_FORMAT_BGRA_8888; @@ -3587,12 +3588,11 @@ static int decon_initial_display(struct decon_device *decon, bool is_colormap) config.dst.h = config.src.h; config.dst.f_w = config.src.f_w; config.dst.f_h = config.src.f_h; - sd = decon->dpp_sd[decon->dt.dft_idma]; + sd = decon->dpp_sd[dpp_id]; if (v4l2_subdev_call(sd, core, ioctl, DPP_WIN_CONFIG, &config)) { - decon_err("Failed to config DPP-%d\n", - decon->dt.dft_idma); - clear_bit(decon->dt.dft_idma, &decon->cur_using_dpp); - set_bit(decon->dt.dft_idma, &decon->dpp_err_stat); + decon_err("Failed to config DPP-%d\n", dpp_id); + clear_bit(dpp_id, &decon->cur_using_dpp); + set_bit(dpp_id, &decon->dpp_err_stat); } decon_reg_set_window_control(decon->id, decon->dt.dft_win,