[PATCH] drm/exynos: remove hardware overlays disable from fimd probe
Andrzej Hajda
a.hajda at samsung.com
Mon Jun 2 02:11:32 PDT 2014
Hi Rahul,
On 05/28/2014 08:11 AM, Rahul Sharma wrote:
> System hangs when FIMD registers are accessed to disable
> hardware overlays. This is because of the clocks which are
> not enabled before register access.
>
> 'Hardware overlay disable' is cleaned from the FIMD probe.
>
> Signed-off-by: Rahul Sharma <rahul.sharma at samsung.com>
This patch causes regression on some exynos4210-universal_c210 devices,
everything works expect colors are incorrect - it seems blue component
is very dark, almost black.
Regards
Andrzej
> ---
> Based on exynos-drm-next branch.
>
> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 17 -----------------
> 1 file changed, 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index bd30d0c..2ec634f 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -703,19 +703,6 @@ static void fimd_win_disable(struct exynos_drm_manager *mgr, int zpos)
> win_data->enabled = false;
> }
>
> -static void fimd_clear_win(struct fimd_context *ctx, int win)
> -{
> - writel(0, ctx->regs + WINCON(win));
> - writel(0, ctx->regs + VIDOSD_A(win));
> - writel(0, ctx->regs + VIDOSD_B(win));
> - writel(0, ctx->regs + VIDOSD_C(win));
> -
> - if (win == 1 || win == 2)
> - writel(0, ctx->regs + VIDOSD_D(win));
> -
> - fimd_shadow_protect_win(ctx, win, false);
> -}
> -
> static void fimd_window_suspend(struct exynos_drm_manager *mgr)
> {
> struct fimd_context *ctx = mgr->ctx;
> @@ -898,16 +885,12 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
> {
> struct fimd_context *ctx = fimd_manager.ctx;
> struct drm_device *drm_dev = data;
> - int win;
>
> fimd_mgr_initialize(&fimd_manager, drm_dev);
> exynos_drm_crtc_create(&fimd_manager);
> if (ctx->display)
> exynos_drm_create_enc_conn(drm_dev, ctx->display);
>
> - for (win = 0; win < WINDOWS_NR; win++)
> - fimd_clear_win(ctx, win);
> -
> return 0;
>
> }
>
More information about the dri-devel
mailing list