Lines Matching refs:win
48 #define VIDOSD_A(win) (VIDOSD_BASE + 0x00 + (win) * 16) argument
49 #define VIDOSD_B(win) (VIDOSD_BASE + 0x04 + (win) * 16) argument
54 #define VIDOSD_C(win) (VIDOSD_BASE + 0x08 + (win) * 16) argument
56 #define VIDOSD_D(win) (VIDOSD_BASE + 0x0C + (win) * 16) argument
58 #define VIDWnALPHA0(win) (VIDW_ALPHA + 0x00 + (win) * 8) argument
59 #define VIDWnALPHA1(win) (VIDW_ALPHA + 0x04 + (win) * 8) argument
61 #define VIDWx_BUF_START(win, buf) (VIDW_BUF_START(buf) + (win) * 8) argument
62 #define VIDWx_BUF_END(win, buf) (VIDW_BUF_END(buf) + (win) * 8) argument
63 #define VIDWx_BUF_SIZE(win, buf) (VIDW_BUF_SIZE(buf) + (win) * 4) argument
218 static void fimd_enable_video_output(struct fimd_context *ctx, unsigned int win, in fimd_enable_video_output() argument
221 u32 val = readl(ctx->regs + WINCON(win)); in fimd_enable_video_output()
228 writel(val, ctx->regs + WINCON(win)); in fimd_enable_video_output()
232 unsigned int win, in fimd_enable_shadow_channel_path() argument
238 val |= SHADOWCON_CHx_ENABLE(win); in fimd_enable_shadow_channel_path()
240 val &= ~SHADOWCON_CHx_ENABLE(win); in fimd_enable_shadow_channel_path()
247 unsigned int win, ch_enabled = 0; in fimd_clear_channel() local
252 for (win = 0; win < WINDOWS_NR; win++) { in fimd_clear_channel()
253 u32 val = readl(ctx->regs + WINCON(win)); in fimd_clear_channel()
256 fimd_enable_video_output(ctx, win, false); in fimd_clear_channel()
259 fimd_enable_shadow_channel_path(ctx, win, in fimd_clear_channel()
493 static void fimd_win_set_pixfmt(struct fimd_context *ctx, unsigned int win) in fimd_win_set_pixfmt() argument
495 struct exynos_drm_plane *plane = &ctx->planes[win]; in fimd_win_set_pixfmt()
504 if (ctx->driver_data->has_limited_fmt && !win) { in fimd_win_set_pixfmt()
560 writel(val, ctx->regs + WINCON(win)); in fimd_win_set_pixfmt()
563 if (win != 0) { in fimd_win_set_pixfmt()
572 writel(val, ctx->regs + VIDOSD_C(win)); in fimd_win_set_pixfmt()
576 writel(val, ctx->regs + VIDWnALPHA0(win)); in fimd_win_set_pixfmt()
577 writel(val, ctx->regs + VIDWnALPHA1(win)); in fimd_win_set_pixfmt()
581 static void fimd_win_set_colkey(struct fimd_context *ctx, unsigned int win) in fimd_win_set_colkey() argument
590 writel(keycon0, ctx->regs + WKEYCON0_BASE(win)); in fimd_win_set_colkey()
591 writel(keycon1, ctx->regs + WKEYCON1_BASE(win)); in fimd_win_set_colkey()
601 unsigned int win, bool protect) in fimd_shadow_protect_win() argument
607 bits = SHADOWCON_WINx_PROTECT(win); in fimd_shadow_protect_win()
621 static void fimd_win_commit(struct exynos_drm_crtc *crtc, unsigned int win) in fimd_win_commit() argument
632 if (win < 0 || win >= WINDOWS_NR) in fimd_win_commit()
635 plane = &ctx->planes[win]; in fimd_win_commit()
654 fimd_shadow_protect_win(ctx, win, true); in fimd_win_commit()
663 writel(val, ctx->regs + VIDWx_BUF_START(win, 0)); in fimd_win_commit()
668 writel(val, ctx->regs + VIDWx_BUF_END(win, 0)); in fimd_win_commit()
682 writel(val, ctx->regs + VIDWx_BUF_SIZE(win, 0)); in fimd_win_commit()
689 writel(val, ctx->regs + VIDOSD_A(win)); in fimd_win_commit()
701 writel(val, ctx->regs + VIDOSD_B(win)); in fimd_win_commit()
707 if (win != 3 && win != 4) { in fimd_win_commit()
708 u32 offset = VIDOSD_D(win); in fimd_win_commit()
709 if (win == 0) in fimd_win_commit()
710 offset = VIDOSD_C(win); in fimd_win_commit()
717 fimd_win_set_pixfmt(ctx, win); in fimd_win_commit()
720 if (win != 0) in fimd_win_commit()
721 fimd_win_set_colkey(ctx, win); in fimd_win_commit()
723 fimd_enable_video_output(ctx, win, true); in fimd_win_commit()
726 fimd_enable_shadow_channel_path(ctx, win, true); in fimd_win_commit()
729 fimd_shadow_protect_win(ctx, win, false); in fimd_win_commit()
737 static void fimd_win_disable(struct exynos_drm_crtc *crtc, unsigned int win) in fimd_win_disable() argument
742 if (win < 0 || win >= WINDOWS_NR) in fimd_win_disable()
745 plane = &ctx->planes[win]; in fimd_win_disable()
754 fimd_shadow_protect_win(ctx, win, true); in fimd_win_disable()
756 fimd_enable_video_output(ctx, win, false); in fimd_win_disable()
759 fimd_enable_shadow_channel_path(ctx, win, false); in fimd_win_disable()
762 fimd_shadow_protect_win(ctx, win, false); in fimd_win_disable()