Lines Matching refs:variant

60 #define OSD_BASE(win, variant) ((variant).osd + ((win) * (variant).osd_stride))
61 #define VIDOSD_A(win, variant) (OSD_BASE(win, variant) + 0x00)
62 #define VIDOSD_B(win, variant) (OSD_BASE(win, variant) + 0x04)
63 #define VIDOSD_C(win, variant) (OSD_BASE(win, variant) + 0x08)
64 #define VIDOSD_D(win, variant) (OSD_BASE(win, variant) + 0x0C)
67 * struct s3c_fb_variant - fb variant information
132 * @variant: The variant information for this driver.
136 struct s3c_fb_variant variant;
159 * @variant: The variant information for this window.
170 struct s3c_fb_win_variant variant;
194 * @variant: Variant information for this hardware.
209 struct s3c_fb_variant variant;
229 return win->variant.valid_bpp & VALID_BPP(bpp);
266 if (sfb->variant.palette[win->index] != 0) {
351 if (sfb->variant.has_clksel)
398 if (win->variant.osd_size_off)
399 writel(size, sfb->regs + OSD_BASE(win->index, sfb->variant)
400 + win->variant.osd_size_off);
413 if (win->variant.has_osd_alpha)
414 writel(alpha, sfb->regs + VIDOSD_C(win->index, sfb->variant));
429 if (sfb->variant.has_prtcon) {
431 } else if (sfb->variant.has_shadowcon) {
437 if (sfb->variant.has_prtcon) {
439 } else if (sfb->variant.has_shadowcon) {
512 if (win->variant.palette_sz >= 256)
541 writel(info->fix.smem_start, buf + sfb->variant.buf_start);
544 writel(data, buf + sfb->variant.buf_end);
551 writel(data, regs + sfb->variant.buf_size + (win_no * 4));
557 writel(data, regs + VIDOSD_A(win_no, sfb->variant));
566 writel(data, regs + VIDOSD_B(win_no, sfb->variant));
578 if (sfb->variant.has_shadowcon) {
648 void __iomem *keycon = regs + sfb->variant.keycon;
662 writel(data, regs + sfb->variant.wincon + (win_no * 4));
663 writel(0x0, regs + sfb->variant.winmap + (win_no * 4));
666 if (sfb->variant.has_blendcon) {
705 palreg = sfb->regs + sfb->variant.palette[win->index];
715 if (win->variant.palette_16bpp)
769 if (regno < win->variant.palette_sz) {
807 wincon = readl(sfb->regs + sfb->variant.wincon + (index * 4));
819 sfb->regs + sfb->variant.winmap + (index * 4));
825 writel(0x0, sfb->regs + sfb->variant.winmap + (index * 4));
839 writel(wincon, sfb->regs + sfb->variant.wincon + (index * 4));
904 writel(info->fix.smem_start + start_boff, buf + sfb->variant.buf_start);
905 writel(info->fix.smem_start + end_boff, buf + sfb->variant.buf_end);
1146 if (sfb->variant.has_shadowcon) {
1164 * @variant: The variant information for this window.
1171 struct s3c_fb_win_variant *variant,
1181 dev_dbg(sfb->dev, "probing window %d, variant %p\n", win_no, variant);
1185 palette_size = variant->palette_sz * 4;
1201 win->variant = *variant;
1215 if (win->variant.palette_16bpp) {
1257 ret = fb_alloc_cmap(&fbinfo->cmap, win->variant.palette_sz, 1);
1306 if (sfb->variant.is_2443)
1313 writel(data, regs + sfb->variant.vidtcon);
1318 writel(data, regs + sfb->variant.vidtcon + 4);
1324 writel(data, regs + sfb->variant.vidtcon + 8);
1339 writel(0, regs + sfb->variant.wincon + (win * 4));
1340 writel(0, regs + VIDOSD_A(win, sfb->variant));
1341 writel(0, regs + VIDOSD_B(win, sfb->variant));
1342 writel(0, regs + VIDOSD_C(win, sfb->variant));
1344 if (sfb->variant.has_shadowcon) {
1367 if (fbdrv->variant.nr_windows > S3C_FB_MAX_WIN) {
1386 sfb->variant = fbdrv->variant;
1397 if (!sfb->variant.has_clksel) {
1441 if (sfb->variant.has_fixvclk) {
1450 for (win = 0; win < fbdrv->variant.nr_windows; win++)
1454 for (win = 0; win < (fbdrv->variant.nr_windows - 1); win++) {
1455 void __iomem *regs = sfb->regs + sfb->variant.keycon;
1466 for (win = 0; win < fbdrv->variant.nr_windows; win++) {
1491 if (!sfb->variant.has_clksel)
1518 if (!sfb->variant.has_clksel)
1545 if (!sfb->variant.has_clksel)
1567 if (!sfb->variant.has_clksel)
1575 if (sfb->variant.has_fixvclk) {
1583 for (win_no = 0; win_no < sfb->variant.nr_windows; win_no++)
1586 for (win_no = 0; win_no < sfb->variant.nr_windows - 1; win_no++) {
1587 void __iomem *regs = sfb->regs + sfb->variant.keycon;
1622 if (!sfb->variant.has_clksel)
1637 if (!sfb->variant.has_clksel)
1705 .variant = {
1737 .variant = {