浏览代码

drm/omap: Add pclk setting case when channel is DSS_WB

In dispc_set_ovl_common() we need to initialize pclk to a valid
value when we use WB in capture mode (i.e. mem_2_mem is false).
Otherwise dispc_ovl_calc_scaling() fails.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Benoit Parrot 9 年之前
父节点
当前提交
9deb5ad3c4
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/gpu/drm/omapdrm/dss/dispc.c

+ 4 - 0
drivers/gpu/drm/omapdrm/dss/dispc.c

@@ -2590,6 +2590,10 @@ static int dispc_ovl_setup_common(struct dispc_device *dispc,
 	unsigned long pclk = dispc_plane_pclk_rate(dispc, plane);
 	unsigned long lclk = dispc_plane_lclk_rate(dispc, plane);
 
+	/* when setting up WB, dispc_plane_pclk_rate() returns 0 */
+	if (plane == OMAP_DSS_WB)
+		pclk = vm->pixelclock;
+
 	if (paddr == 0 && rotation_type != OMAP_DSS_ROT_TILER)
 		return -EINVAL;