Lines Matching refs:crtc
450 struct aty128_crtc crtc; member
753 pitch_value = par->crtc.pitch; in aty128_init_engine()
754 if (par->crtc.bpp == 24) { in aty128_init_engine()
775 (depth_to_dst(par->crtc.depth) << 8) | in aty128_init_engine()
1037 static void aty128_set_crtc(const struct aty128_crtc *crtc, in aty128_set_crtc() argument
1040 aty_st_le32(CRTC_GEN_CNTL, crtc->gen_cntl); in aty128_set_crtc()
1041 aty_st_le32(CRTC_H_TOTAL_DISP, crtc->h_total); in aty128_set_crtc()
1042 aty_st_le32(CRTC_H_SYNC_STRT_WID, crtc->h_sync_strt_wid); in aty128_set_crtc()
1043 aty_st_le32(CRTC_V_TOTAL_DISP, crtc->v_total); in aty128_set_crtc()
1044 aty_st_le32(CRTC_V_SYNC_STRT_WID, crtc->v_sync_strt_wid); in aty128_set_crtc()
1045 aty_st_le32(CRTC_PITCH, crtc->pitch); in aty128_set_crtc()
1046 aty_st_le32(CRTC_OFFSET, crtc->offset); in aty128_set_crtc()
1047 aty_st_le32(CRTC_OFFSET_CNTL, crtc->offset_cntl); in aty128_set_crtc()
1054 struct aty128_crtc *crtc, in aty128_var_to_crtc() argument
1151 crtc->gen_cntl = 0x3000000L | c_sync | (dst << 8); in aty128_var_to_crtc()
1153 crtc->h_total = h_total | (h_disp << 16); in aty128_var_to_crtc()
1154 crtc->v_total = v_total | (v_disp << 16); in aty128_var_to_crtc()
1156 crtc->h_sync_strt_wid = h_sync_strt | (h_sync_wid << 16) | in aty128_var_to_crtc()
1158 crtc->v_sync_strt_wid = v_sync_strt | (v_sync_wid << 16) | in aty128_var_to_crtc()
1161 crtc->pitch = vxres >> 3; in aty128_var_to_crtc()
1163 crtc->offset = 0; in aty128_var_to_crtc()
1166 crtc->offset_cntl = 0x00010000; in aty128_var_to_crtc()
1168 crtc->offset_cntl = 0; in aty128_var_to_crtc()
1170 crtc->vxres = vxres; in aty128_var_to_crtc()
1171 crtc->vyres = vyres; in aty128_var_to_crtc()
1172 crtc->xoffset = xoffset; in aty128_var_to_crtc()
1173 crtc->yoffset = yoffset; in aty128_var_to_crtc()
1174 crtc->depth = depth; in aty128_var_to_crtc()
1175 crtc->bpp = bpp; in aty128_var_to_crtc()
1244 static int aty128_crtc_to_var(const struct aty128_crtc *crtc, in aty128_crtc_to_var() argument
1253 h_total = crtc->h_total & 0x1ff; in aty128_crtc_to_var()
1254 h_disp = (crtc->h_total >> 16) & 0xff; in aty128_crtc_to_var()
1255 h_sync_strt = (crtc->h_sync_strt_wid >> 3) & 0x1ff; in aty128_crtc_to_var()
1256 h_sync_dly = crtc->h_sync_strt_wid & 0x7; in aty128_crtc_to_var()
1257 h_sync_wid = (crtc->h_sync_strt_wid >> 16) & 0x3f; in aty128_crtc_to_var()
1258 h_sync_pol = (crtc->h_sync_strt_wid >> 23) & 0x1; in aty128_crtc_to_var()
1259 v_total = crtc->v_total & 0x7ff; in aty128_crtc_to_var()
1260 v_disp = (crtc->v_total >> 16) & 0x7ff; in aty128_crtc_to_var()
1261 v_sync_strt = crtc->v_sync_strt_wid & 0x7ff; in aty128_crtc_to_var()
1262 v_sync_wid = (crtc->v_sync_strt_wid >> 16) & 0x1f; in aty128_crtc_to_var()
1263 v_sync_pol = (crtc->v_sync_strt_wid >> 23) & 0x1; in aty128_crtc_to_var()
1264 c_sync = crtc->gen_cntl & CRTC_CSYNC_EN ? 1 : 0; in aty128_crtc_to_var()
1265 pix_width = crtc->gen_cntl & CRTC_PIX_WIDTH_MASK; in aty128_crtc_to_var()
1284 var->xres_virtual = crtc->vxres; in aty128_crtc_to_var()
1285 var->yres_virtual = crtc->vyres; in aty128_crtc_to_var()
1286 var->xoffset = crtc->xoffset; in aty128_crtc_to_var()
1287 var->yoffset = crtc->yoffset; in aty128_crtc_to_var()
1531 aty128_set_crtc(&par->crtc, par); in aty128fb_set_par()
1538 if (par->crtc.bpp == 32) in aty128fb_set_par()
1540 else if (par->crtc.bpp == 16) in aty128fb_set_par()
1547 info->fix.line_length = (par->crtc.vxres * par->crtc.bpp) >> 3; in aty128fb_set_par()
1548 info->fix.visual = par->crtc.bpp == 8 ? FB_VISUAL_PSEUDOCOLOR in aty128fb_set_par()
1560 (((par->crtc.h_total>>16) & 0xff)+1)*8, in aty128fb_set_par()
1561 ((par->crtc.v_total>>16) & 0x7ff)+1, in aty128fb_set_par()
1562 par->crtc.bpp, in aty128fb_set_par()
1563 par->crtc.vxres*par->crtc.bpp/8); in aty128fb_set_par()
1577 struct aty128_crtc crtc; in aty128_decode_var() local
1581 if ((err = aty128_var_to_crtc(var, &crtc, par))) in aty128_decode_var()
1587 if ((err = aty128_ddafifo(&fifo_reg, &pll, crtc.depth, par))) in aty128_decode_var()
1590 par->crtc = crtc; in aty128_decode_var()
1604 if ((err = aty128_crtc_to_var(&par->crtc, var))) in aty128_encode_var()
1646 xres = (((par->crtc.h_total >> 16) & 0xff) + 1) << 3; in aty128fb_pan_display()
1647 yres = ((par->crtc.v_total >> 16) & 0x7ff) + 1; in aty128fb_pan_display()
1652 if (xoffset+xres > par->crtc.vxres || yoffset+yres > par->crtc.vyres) in aty128fb_pan_display()
1655 par->crtc.xoffset = xoffset; in aty128fb_pan_display()
1656 par->crtc.yoffset = yoffset; in aty128fb_pan_display()
1658 offset = ((yoffset * par->crtc.vxres + xoffset) * (par->crtc.bpp >> 3)) in aty128fb_pan_display()
1661 if (par->crtc.bpp == 24) in aty128fb_pan_display()
2283 || (par->crtc.depth == 16 && regno > 63) in aty128fb_setcolreg()
2284 || (par->crtc.depth == 15 && regno > 31)) in aty128fb_setcolreg()
2295 switch (par->crtc.depth) { in aty128fb_setcolreg()
2312 if (par->crtc.depth == 16 && regno > 0) { in aty128fb_setcolreg()
2330 } else if (par->crtc.bpp == 16) in aty128fb_setcolreg()
2388 dstval = depth_to_dst(par->current_par.crtc.depth);