From: Benoit Parrot <bparrot@ti.com>
Date: Mon, 16 May 2016 16:42:50 -0500
Subject: drm/omap: Add pclk setting case when channel is DSS_WB
Git-commit: 9deb5ad3c47ead2b3c63e44435e9eff0f6f38835
Patch-mainline: v4.17-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
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>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/omapdrm/dss/dispc.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2590,6 +2590,10 @@ static int dispc_ovl_setup_common(struct
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;