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
131 * @variant: The variant information for this driver.
135 struct s3c_fb_variant variant;
158 * @varint: The variant information for this window.
169 struct s3c_fb_win_variant variant;
193 * @variant: Variant information for this hardware.
208 struct s3c_fb_variant variant;
228 return win->variant.valid_bpp & VALID_BPP(bpp);
265 if (sfb->variant.palette[win->index] != 0) {
350 if (sfb->variant.has_clksel)
397 if (win->variant.osd_size_off)
398 writel(size, sfb->regs + OSD_BASE(win->index, sfb->variant)
399 + win->variant.osd_size_off);
412 if (win->variant.has_osd_alpha)
413 writel(alpha, sfb->regs + VIDOSD_C(win->index, sfb->variant));
428 if (sfb->variant.has_prtcon) {
430 } else if (sfb->variant.has_shadowcon) {
436 if (sfb->variant.has_prtcon) {
438 } else if (sfb->variant.has_shadowcon) {
511 if (win->variant.palette_sz >= 256)
540 writel(info->fix.smem_start, buf + sfb->variant.buf_start);
543 writel(data, buf + sfb->variant.buf_end);
550 writel(data, regs + sfb->variant.buf_size + (win_no * 4));
556 writel(data, regs + VIDOSD_A(win_no, sfb->variant));
565 writel(data, regs + VIDOSD_B(win_no, sfb->variant));
577 if (sfb->variant.has_shadowcon) {
647 void __iomem *keycon = regs + sfb->variant.keycon;
661 writel(data, regs + sfb->variant.wincon + (win_no * 4));
662 writel(0x0, regs + sfb->variant.winmap + (win_no * 4));
665 if (sfb->variant.has_blendcon) {
704 palreg = sfb->regs + sfb->variant.palette[win->index];
714 if (win->variant.palette_16bpp)
768 if (regno < win->variant.palette_sz) {
806 wincon = readl(sfb->regs + sfb->variant.wincon + (index * 4));
818 sfb->regs + sfb->variant.winmap + (index * 4));
824 writel(0x0, sfb->regs + sfb->variant.winmap + (index * 4));
838 writel(wincon, sfb->regs + sfb->variant.wincon + (index * 4));
903 writel(info->fix.smem_start + start_boff, buf + sfb->variant.buf_start);
904 writel(info->fix.smem_start + end_boff, buf + sfb->variant.buf_end);
1146 if (sfb->variant.has_shadowcon) {
1163 * @variant: The variant information for this window.
1170 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;
1202 win->variant = *variant;
1216 if (win->variant.palette_16bpp) {
1259 ret = fb_alloc_cmap(&fbinfo->cmap, win->variant.palette_sz, 1);
1308 if (sfb->variant.is_2443)
1315 writel(data, regs + sfb->variant.vidtcon);
1320 writel(data, regs + sfb->variant.vidtcon + 4);
1326 writel(data, regs + sfb->variant.vidtcon + 8);
1341 writel(0, regs + sfb->variant.wincon + (win * 4));
1342 writel(0, regs + VIDOSD_A(win, sfb->variant));
1343 writel(0, regs + VIDOSD_B(win, sfb->variant));
1344 writel(0, regs + VIDOSD_C(win, sfb->variant));
1346 if (sfb->variant.has_shadowcon) {
1370 if (fbdrv->variant.nr_windows > S3C_FB_MAX_WIN) {
1389 sfb->variant = fbdrv->variant;
1401 if (!sfb->variant.has_clksel) {
1446 if (sfb->variant.has_fixvclk) {
1455 for (win = 0; win < fbdrv->variant.nr_windows; win++)
1459 for (win = 0; win < (fbdrv->variant.nr_windows - 1); win++) {
1460 void __iomem *regs = sfb->regs + sfb->variant.keycon;
1471 for (win = 0; win < fbdrv->variant.nr_windows; win++) {
1496 if (!sfb->variant.has_clksel)
1523 if (!sfb->variant.has_clksel)
1552 if (!sfb->variant.has_clksel)
1574 if (!sfb->variant.has_clksel)
1582 if (sfb->variant.has_fixvclk) {
1590 for (win_no = 0; win_no < sfb->variant.nr_windows; win_no++)
1593 for (win_no = 0; win_no < sfb->variant.nr_windows - 1; win_no++) {
1594 void __iomem *regs = sfb->regs + sfb->variant.keycon;
1629 if (!sfb->variant.has_clksel)
1644 if (!sfb->variant.has_clksel)
1712 .variant = {
1744 .variant = {