Lines Matching refs:win

44 #define VIDOSD_A(win)		(VIDOSD_BASE + 0x00 + (win) * 16)  argument
45 #define VIDOSD_B(win) (VIDOSD_BASE + 0x04 + (win) * 16) argument
50 #define VIDOSD_C(win) (VIDOSD_BASE + 0x08 + (win) * 16) argument
52 #define VIDOSD_D(win) (VIDOSD_BASE + 0x0C + (win) * 16) argument
54 #define VIDWnALPHA0(win) (VIDW_ALPHA + 0x00 + (win) * 8) argument
55 #define VIDWnALPHA1(win) (VIDW_ALPHA + 0x04 + (win) * 8) argument
57 #define VIDWx_BUF_START(win, buf) (VIDW_BUF_START(buf) + (win) * 8) argument
58 #define VIDWx_BUF_START_S(win, buf) (VIDW_BUF_START_S(buf) + (win) * 8) argument
59 #define VIDWx_BUF_END(win, buf) (VIDW_BUF_END(buf) + (win) * 8) argument
60 #define VIDWx_BUF_SIZE(win, buf) (VIDW_BUF_SIZE(buf) + (win) * 4) argument
336 static void fimd_enable_video_output(struct fimd_context *ctx, unsigned int win, in fimd_enable_video_output() argument
339 u32 val = readl(ctx->regs + WINCON(win)); in fimd_enable_video_output()
346 writel(val, ctx->regs + WINCON(win)); in fimd_enable_video_output()
350 unsigned int win, in fimd_enable_shadow_channel_path() argument
356 val |= SHADOWCON_CHx_ENABLE(win); in fimd_enable_shadow_channel_path()
358 val &= ~SHADOWCON_CHx_ENABLE(win); in fimd_enable_shadow_channel_path()
366 unsigned int win, ch_enabled = 0; in fimd_clear_channels() local
380 for (win = 0; win < WINDOWS_NR; win++) { in fimd_clear_channels()
381 u32 val = readl(ctx->regs + WINCON(win)); in fimd_clear_channels()
384 fimd_enable_video_output(ctx, win, false); in fimd_clear_channels()
387 fimd_enable_shadow_channel_path(ctx, win, in fimd_clear_channels()
594 static void fimd_win_set_bldeq(struct fimd_context *ctx, unsigned int win, in fimd_win_set_bldeq() argument
617 fimd_set_bits(ctx, BLENDEQx(win), mask, val); in fimd_win_set_bldeq()
620 static void fimd_win_set_bldmod(struct fimd_context *ctx, unsigned int win, in fimd_win_set_bldmod() argument
638 fimd_set_bits(ctx, WINCON(win), WINCONx_BLEND_MODE_MASK, val); in fimd_win_set_bldmod()
647 writel(val, ctx->regs + VIDOSD_C(win)); in fimd_win_set_bldmod()
651 writel(val, ctx->regs + VIDWnALPHA0(win)); in fimd_win_set_bldmod()
655 writel(val, ctx->regs + VIDWnALPHA1(win)); in fimd_win_set_bldmod()
661 static void fimd_win_set_pixfmt(struct fimd_context *ctx, unsigned int win, in fimd_win_set_pixfmt() argument
664 struct exynos_drm_plane plane = ctx->planes[win]; in fimd_win_set_pixfmt()
681 if (ctx->driver_data->has_limited_fmt && !win) { in fimd_win_set_pixfmt()
724 writel(WIN_RGB_ORDER_REVERSE, ctx->regs + WIN_RGB_ORDER(win)); in fimd_win_set_pixfmt()
727 writel(WIN_RGB_ORDER_FORWARD, ctx->regs + WIN_RGB_ORDER(win)); in fimd_win_set_pixfmt()
743 fimd_set_bits(ctx, WINCON(win), ~WINCONx_BLEND_MODE_MASK, val); in fimd_win_set_pixfmt()
746 if (win != 0) { in fimd_win_set_pixfmt()
747 fimd_win_set_bldmod(ctx, win, alpha, pixel_alpha); in fimd_win_set_pixfmt()
748 fimd_win_set_bldeq(ctx, win, alpha, pixel_alpha); in fimd_win_set_pixfmt()
752 static void fimd_win_set_colkey(struct fimd_context *ctx, unsigned int win) in fimd_win_set_colkey() argument
761 writel(keycon0, ctx->regs + WKEYCON0_BASE(win)); in fimd_win_set_colkey()
762 writel(keycon1, ctx->regs + WKEYCON1_BASE(win)); in fimd_win_set_colkey()
773 unsigned int win, bool protect) in fimd_shadow_protect_win() argument
789 bits = SHADOWCON_WINx_PROTECT(win); in fimd_shadow_protect_win()
839 unsigned int win = plane->index; in fimd_update_plane() local
852 writel(val, ctx->regs + VIDWx_BUF_START(win, 0)); in fimd_update_plane()
857 writel(val, ctx->regs + VIDWx_BUF_END(win, 0)); in fimd_update_plane()
872 writel(val, ctx->regs + VIDWx_BUF_SIZE(win, 0)); in fimd_update_plane()
879 writel(val, ctx->regs + VIDOSD_A(win)); in fimd_update_plane()
891 writel(val, ctx->regs + VIDOSD_B(win)); in fimd_update_plane()
898 if (win != 3 && win != 4) { in fimd_update_plane()
899 u32 offset = VIDOSD_D(win); in fimd_update_plane()
900 if (win == 0) in fimd_update_plane()
901 offset = VIDOSD_C(win); in fimd_update_plane()
909 fimd_win_set_pixfmt(ctx, win, fb, state->src.w); in fimd_update_plane()
912 if (win != 0) in fimd_update_plane()
913 fimd_win_set_colkey(ctx, win); in fimd_update_plane()
915 fimd_enable_video_output(ctx, win, true); in fimd_update_plane()
918 fimd_enable_shadow_channel_path(ctx, win, true); in fimd_update_plane()
928 unsigned int win = plane->index; in fimd_disable_plane() local
933 fimd_enable_video_output(ctx, win, false); in fimd_disable_plane()
936 fimd_enable_shadow_channel_path(ctx, win, false); in fimd_disable_plane()