Lines Matching refs:variant
60 #define OSD_BASE(win, variant) ((variant).osd + ((win) * (variant).osd_stride)) argument
61 #define VIDOSD_A(win, variant) (OSD_BASE(win, variant) + 0x00) argument
62 #define VIDOSD_B(win, variant) (OSD_BASE(win, variant) + 0x04) argument
63 #define VIDOSD_C(win, variant) (OSD_BASE(win, variant) + 0x08) argument
64 #define VIDOSD_D(win, variant) (OSD_BASE(win, variant) + 0x0C) argument
136 struct s3c_fb_variant variant; member
170 struct s3c_fb_win_variant variant; member
209 struct s3c_fb_variant variant; member
229 return win->variant.valid_bpp & VALID_BPP(bpp); in s3c_fb_validate_win_bpp()
266 if (sfb->variant.palette[win->index] != 0) { in s3c_fb_check_var()
351 if (sfb->variant.has_clksel) in s3c_fb_calc_pixclk()
398 if (win->variant.osd_size_off) in vidosd_set_size()
399 writel(size, sfb->regs + OSD_BASE(win->index, sfb->variant) in vidosd_set_size()
400 + win->variant.osd_size_off); in vidosd_set_size()
413 if (win->variant.has_osd_alpha) in vidosd_set_alpha()
414 writel(alpha, sfb->regs + VIDOSD_C(win->index, sfb->variant)); in vidosd_set_alpha()
429 if (sfb->variant.has_prtcon) { in shadow_protect_win()
431 } else if (sfb->variant.has_shadowcon) { in shadow_protect_win()
437 if (sfb->variant.has_prtcon) { in shadow_protect_win()
439 } else if (sfb->variant.has_shadowcon) { in shadow_protect_win()
512 if (win->variant.palette_sz >= 256) in s3c_fb_set_par()
541 writel(info->fix.smem_start, buf + sfb->variant.buf_start); in s3c_fb_set_par()
544 writel(data, buf + sfb->variant.buf_end); in s3c_fb_set_par()
551 writel(data, regs + sfb->variant.buf_size + (win_no * 4)); in s3c_fb_set_par()
557 writel(data, regs + VIDOSD_A(win_no, sfb->variant)); in s3c_fb_set_par()
566 writel(data, regs + VIDOSD_B(win_no, sfb->variant)); in s3c_fb_set_par()
578 if (sfb->variant.has_shadowcon) { in s3c_fb_set_par()
648 void __iomem *keycon = regs + sfb->variant.keycon; in s3c_fb_set_par()
662 writel(data, regs + sfb->variant.wincon + (win_no * 4)); in s3c_fb_set_par()
663 writel(0x0, regs + sfb->variant.winmap + (win_no * 4)); in s3c_fb_set_par()
666 if (sfb->variant.has_blendcon) { in s3c_fb_set_par()
705 palreg = sfb->regs + sfb->variant.palette[win->index]; in s3c_fb_update_palette()
715 if (win->variant.palette_16bpp) in s3c_fb_update_palette()
769 if (regno < win->variant.palette_sz) { in s3c_fb_setcolreg()
807 wincon = readl(sfb->regs + sfb->variant.wincon + (index * 4)); in s3c_fb_blank()
819 sfb->regs + sfb->variant.winmap + (index * 4)); in s3c_fb_blank()
825 writel(0x0, sfb->regs + sfb->variant.winmap + (index * 4)); in s3c_fb_blank()
839 writel(wincon, sfb->regs + sfb->variant.wincon + (index * 4)); in s3c_fb_blank()
904 writel(info->fix.smem_start + start_boff, buf + sfb->variant.buf_start); in s3c_fb_pan_display()
905 writel(info->fix.smem_start + end_boff, buf + sfb->variant.buf_end); in s3c_fb_pan_display()
1148 if (sfb->variant.has_shadowcon) { in s3c_fb_release_win()
1173 struct s3c_fb_win_variant *variant, in s3c_fb_probe_win() argument
1183 dev_dbg(sfb->dev, "probing window %d, variant %p\n", win_no, variant); in s3c_fb_probe_win()
1187 palette_size = variant->palette_sz * 4; in s3c_fb_probe_win()
1203 win->variant = *variant; in s3c_fb_probe_win()
1217 if (win->variant.palette_16bpp) { in s3c_fb_probe_win()
1260 ret = fb_alloc_cmap(&fbinfo->cmap, win->variant.palette_sz, 1); in s3c_fb_probe_win()
1309 if (sfb->variant.is_2443) in s3c_fb_set_rgb_timing()
1316 writel(data, regs + sfb->variant.vidtcon); in s3c_fb_set_rgb_timing()
1321 writel(data, regs + sfb->variant.vidtcon + 4); in s3c_fb_set_rgb_timing()
1327 writel(data, regs + sfb->variant.vidtcon + 8); in s3c_fb_set_rgb_timing()
1342 writel(0, regs + sfb->variant.wincon + (win * 4)); in s3c_fb_clear_win()
1343 writel(0, regs + VIDOSD_A(win, sfb->variant)); in s3c_fb_clear_win()
1344 writel(0, regs + VIDOSD_B(win, sfb->variant)); in s3c_fb_clear_win()
1345 writel(0, regs + VIDOSD_C(win, sfb->variant)); in s3c_fb_clear_win()
1347 if (sfb->variant.has_shadowcon) { in s3c_fb_clear_win()
1370 if (fbdrv->variant.nr_windows > S3C_FB_MAX_WIN) { in s3c_fb_probe()
1389 sfb->variant = fbdrv->variant; in s3c_fb_probe()
1400 if (!sfb->variant.has_clksel) { in s3c_fb_probe()
1444 if (sfb->variant.has_fixvclk) { in s3c_fb_probe()
1453 for (win = 0; win < fbdrv->variant.nr_windows; win++) in s3c_fb_probe()
1457 for (win = 0; win < (fbdrv->variant.nr_windows - 1); win++) { in s3c_fb_probe()
1458 void __iomem *regs = sfb->regs + sfb->variant.keycon; in s3c_fb_probe()
1469 for (win = 0; win < fbdrv->variant.nr_windows; win++) { in s3c_fb_probe()
1494 if (!sfb->variant.has_clksel) in s3c_fb_probe()
1521 if (!sfb->variant.has_clksel) in s3c_fb_remove()
1550 if (!sfb->variant.has_clksel) in s3c_fb_suspend()
1572 if (!sfb->variant.has_clksel) in s3c_fb_resume()
1580 if (sfb->variant.has_fixvclk) { in s3c_fb_resume()
1588 for (win_no = 0; win_no < sfb->variant.nr_windows; win_no++) in s3c_fb_resume()
1591 for (win_no = 0; win_no < sfb->variant.nr_windows - 1; win_no++) { in s3c_fb_resume()
1592 void __iomem *regs = sfb->regs + sfb->variant.keycon; in s3c_fb_resume()
1627 if (!sfb->variant.has_clksel) in s3c_fb_runtime_suspend()
1642 if (!sfb->variant.has_clksel) in s3c_fb_runtime_resume()
1710 .variant = {
1742 .variant = {