X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fvideo%2Frockchip%2Frk_fb.c;h=5ae5a4c113a383c550a9c07fc91daa899920d876;hb=63005410975b5edd621e807d5b0a021c59de26fd;hp=46f43534f1e3d566794cadcae43b3cb7417f7eb1;hpb=2614b111994f1c460106e765fd9b55096cdb8f7b;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index 46f43534f1e3..5ae5a4c113a3 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -99,6 +99,8 @@ int rk_fb_trsm_ops_register(struct rk_fb_trsm_ops *ops, int type) case SCREEN_RGB: case SCREEN_LVDS: case SCREEN_DUAL_LVDS: + case SCREEN_LVDS_10BIT: + case SCREEN_DUAL_LVDS_10BIT: trsm_lvds_ops = ops; break; case SCREEN_EDP: @@ -123,6 +125,8 @@ struct rk_fb_trsm_ops *rk_fb_trsm_ops_get(int type) case SCREEN_RGB: case SCREEN_LVDS: case SCREEN_DUAL_LVDS: + case SCREEN_LVDS_10BIT: + case SCREEN_DUAL_LVDS_10BIT: ops = trsm_lvds_ops; break; case SCREEN_EDP: @@ -1486,7 +1490,8 @@ void rk_fb_free_dma_buf(struct rk_lcdc_driver *dev_drv, index_buf = area_data->index_buf; #if defined(CONFIG_ROCKCHIP_IOMMU) if (dev_drv->iommu_enabled) { - if (rk_fb->disp_policy != DISPLAY_POLICY_BOX) + if ((rk_fb->disp_policy != DISPLAY_POLICY_BOX) && + (area_data->ion_handle != NULL)) ion_unmap_iommu(dev_drv->dev, rk_fb->ion_client, area_data->ion_handle); freed_addr[freed_index++] = area_data->smem_start; @@ -1895,6 +1900,7 @@ static int rk_fb_set_win_buffer(struct fb_info *info, reg_win_data->reg_area_data[0].smem_start = win_par->area_par[0].phy_addr; reg_win_data->area_num = 1; + reg_win_data->area_buf_num++; fbi->screen_base = phys_to_virt(win_par->area_par[0].phy_addr); }