Lines Matching defs:par
309 * struct atafb_par *par)
311 * values in the 'par' structure.
315 * struct atafb_par *par)
323 * struct atafb_par *par);
324 * Fill the 'var' structure based on the values in 'par' and maybe
327 * void (*get_par)(struct atafb_par *par)
328 * Fill the hardware's 'par' structure.
331 * void (*set_par)(struct atafb_par *par)
332 * Set the hardware according to 'par'.
350 struct atafb_par *par);
352 struct atafb_par *par);
354 struct atafb_par *par);
355 void (*get_par)(struct atafb_par *par);
356 void (*set_par)(struct atafb_par *par);
554 static int tt_encode_fix(struct fb_fix_screeninfo *fix, struct atafb_par *par)
564 mode = par->hw.tt.mode & TT_SHIFTER_MODEMASK;
574 fix->line_length = par->next_line;
579 static int tt_decode_var(struct fb_var_screeninfo *var, struct atafb_par *par)
590 par->hw.tt.mode = TT_SHIFTER_TTHIGH;
600 par->hw.tt.mode = TT_SHIFTER_TTLOW;
608 par->hw.tt.mode = TT_SHIFTER_TTMID;
613 par->hw.tt.mode = TT_SHIFTER_STLOW;
621 par->hw.tt.mode = TT_SHIFTER_STMID;
628 par->hw.tt.mode = TT_SHIFTER_STHIGH;
639 par->hw.tt.sync = 0;
641 par->hw.tt.sync = 1;
649 par->yres_virtual = yres_virtual;
650 par->screen_base = screen_base + var->yoffset * linelen;
651 par->next_line = linelen;
655 static int tt_encode_var(struct fb_var_screeninfo *var, struct atafb_par *par)
675 if (par->hw.tt.sync & 1)
680 switch (par->hw.tt.mode & TT_SHIFTER_MODEMASK) {
727 if (par->yres_virtual)
728 var->yres_virtual = par->yres_virtual;
740 var->yoffset = (par->screen_base - screen_base) / linelen;
749 static void tt_get_par(struct atafb_par *par)
752 par->hw.tt.mode = shifter_tt.tt_shiftmode;
753 par->hw.tt.sync = shifter_st.syncmode;
757 par->screen_base = atari_stram_to_virt(addr);
760 static void tt_set_par(struct atafb_par *par)
762 shifter_tt.tt_shiftmode = par->hw.tt.mode;
763 shifter_st.syncmode = par->hw.tt.sync;
765 if (current_par.screen_base != par->screen_base)
766 fbhw->set_screen_base(par->screen_base);
787 struct atafb_par par;
803 tt_get_par(&par);
804 tt_encode_var(&atafb_predefined[0], &par);
852 struct atafb_par *par)
863 if (par->hw.falcon.mono) {
868 } else if (par->hw.falcon.f_shift & 0x100) {
875 fix->line_length = par->next_line;
881 struct atafb_par *par)
932 par->hw.falcon.f_shift = 0x400;
933 par->hw.falcon.st_shift = 0x200;
936 par->hw.falcon.f_shift = 0x000;
937 par->hw.falcon.st_shift = 0x100;
940 par->hw.falcon.f_shift = 0x000;
941 par->hw.falcon.st_shift = 0x000;
944 par->hw.falcon.f_shift = 0x010;
947 par->hw.falcon.f_shift = 0x100; /* hicolor, no overlay */
950 par->hw.falcon.bpp = bpp;
960 fbhw->get_par(par); /* Current par will be new par */
977 par->hw.falcon.ste_mode = bpp == 2;
978 par->hw.falcon.mono = bpp == 1;
988 if (par->hw.falcon.ste_mode)
1011 par->hw.falcon.line_width = bpp * xres / 16;
1012 par->hw.falcon.line_offset = bpp * (xres_virtual - xres) / 16;
1024 par->hw.falcon.ste_mode = 1;
1025 par->hw.falcon.f_shift = 0x000;
1026 par->hw.falcon.st_shift = 0x200;
1158 par->hw.falcon.vid_control = mon_type | f030_bus_width;
1160 par->hw.falcon.vid_control |= VCO_SHORTOFFS; /* base_offset 64 */
1162 par->hw.falcon.vid_control |= VCO_HSYPOS;
1164 par->hw.falcon.vid_control |= VCO_VSYPOS;
1166 par->hw.falcon.vid_control |= pclock->control_mask;
1168 par->hw.falcon.sync = pclock->sync_mask | 0x2;
1170 par->hw.falcon.vid_mode = (2 / plen) << 2;
1172 par->hw.falcon.vid_mode |= VMO_DOUBLE;
1174 par->hw.falcon.vid_mode |= VMO_INTER;
1198 prescale = hxx_prescale(&par->hw.falcon);
1199 base_off = par->hw.falcon.vid_control & VCO_SHORTOFFS ? 64 : 128;
1205 if (par->hw.falcon.f_shift & 0x100) {
1212 if (par->hw.falcon.ste_mode)
1223 par->HHT = plen * (left_margin + xres + right_margin) /
1225 /* par->HHT = (gend2 + plen * right_margin / prescale) / 2 - 2;*/
1227 par->HDB = gstart - hdb_off / prescale;
1228 par->HBE = gstart;
1229 if (par->HDB < 0)
1230 par->HDB += par->HHT + 2 + 0x200;
1231 par->HDE = gend1 - par->HHT - 2 - hde_off / prescale;
1232 par->HBB = gend2 - par->HHT - 2;
1235 if ((par->HDB & 0x200) && (par->HDB & ~0x200) - par->HDE <= 5) {
1240 par->HBB++; /* compensate for non matching hde and hbb */
1241 par->HSS = par->HHT + 2 - plen * hsync_len / prescale;
1242 if (par->HSS < par->HBB)
1243 par->HSS = par->HBB;
1247 hfreq = pclock->f / ((par->HHT + 2) * prescale * 2);
1265 par->VBE = (upper_margin * 2 + 1); /* must begin on odd halfline */
1266 par->VDB = par->VBE;
1267 par->VDE = yres;
1269 par->VDE <<= 1;
1271 par->VDE <<= 1; /* VDE now half lines per (half-)frame */
1272 par->VDE += par->VDB;
1273 par->VBB = par->VDE;
1274 par->VFT = par->VBB + (lower_margin * 2 - 1) - 1;
1275 par->VSS = par->VFT + 1 - (vsync_len * 2 - 1);
1278 par->VBB++;
1279 par->VSS++;
1280 par->VFT++;
1285 vfreq = (hfreq * 2) / (par->VFT + 1);
1299 (hfreq * 2) / (par->VFT + 1 + 4 * lines - 2 * yres) >
1310 (hfreq * 2) / (par->VFT + 1 + 4 * lines) >
1321 (hfreq * 2) / (par->VFT + 1 + 4 * lines) >
1340 par->yres_virtual = yres_virtual;
1341 par->screen_base = screen_base + var->yoffset * linelen;
1342 par->hw.falcon.xoffset = 0;
1344 par->next_line = linelen;
1350 struct atafb_par *par)
1356 struct falcon_hw *hw = &par->hw.falcon;
1440 if (par->yres_virtual)
1441 var->yres_virtual = par->yres_virtual;
1503 var->yoffset = (par->screen_base - screen_base) / linelen;
1515 static void falcon_get_par(struct atafb_par *par)
1518 struct falcon_hw *hw = &par->hw.falcon;
1544 par->screen_base = atari_stram_to_virt(addr);
1552 static void falcon_set_par(struct atafb_par *par)
1557 if (current_par.screen_base != par->screen_base)
1558 fbhw->set_screen_base(par->screen_base);
1570 f_new_mode = par->hw.falcon;
1635 struct atafb_par *par = info->par;
1643 par->hw.falcon.xoffset = var->xoffset & 15;
1645 par->hw.falcon.xoffset = 0;
1648 par->hw.falcon.line_offset = bpp *
1650 if (par->hw.falcon.xoffset)
1651 par->hw.falcon.line_offset -= bpp;
1652 xoffset = var->xoffset - par->hw.falcon.xoffset;
1654 par->screen_base = screen_base +
1657 fbhw->set_screen_base(par->screen_base);
1725 struct atafb_par par;
1755 falcon_get_par(&par);
1756 falcon_encode_var(&atafb_predefined[0], &par);
1769 struct atafb_par *par)
1779 mode = par->hw.st.mode & 3;
1793 fix->line_length = par->next_line;
1799 struct atafb_par *par)
1810 par->hw.st.mode = ST_HIGH;
1820 par->hw.st.mode = ST_LOW;
1827 par->hw.st.mode = ST_MID;
1839 par->hw.st.sync = (par->hw.st.sync & ~1) | 1;
1841 par->hw.st.sync = (par->hw.st.sync & ~1);
1849 par->yres_virtual = yres_virtual;
1850 par->screen_base = screen_base + var->yoffset * linelen;
1851 par->next_line = linelen;
1856 struct atafb_par *par)
1876 if (!(par->hw.st.sync & 1))
1881 switch (par->hw.st.mode & 3) {
1909 if (par->yres_virtual)
1910 var->yres_virtual = par->yres_virtual;
1922 var->yoffset = (par->screen_base - screen_base) / linelen;
1931 static void stste_get_par(struct atafb_par *par)
1934 par->hw.st.mode = shifter_tt.st_shiftmode;
1935 par->hw.st.sync = shifter_st.syncmode;
1940 par->screen_base = atari_stram_to_virt(addr);
1943 static void stste_set_par(struct atafb_par *par)
1945 shifter_tt.st_shiftmode = par->hw.st.mode;
1946 shifter_st.syncmode = par->hw.st.sync;
1948 if (current_par.screen_base != par->screen_base)
1949 fbhw->set_screen_base(par->screen_base);
1976 struct atafb_par par;
1988 stste_get_par(&par);
1989 stste_encode_var(&atafb_predefined[0], &par);
2070 static int ext_encode_fix(struct fb_fix_screeninfo *fix, struct atafb_par *par)
2111 fix->line_length = par->next_line;
2115 static int ext_decode_var(struct fb_var_screeninfo *var, struct atafb_par *par)
2127 par->next_line = external_xres_virtual * external_depth / 8;
2131 static int ext_encode_var(struct fb_var_screeninfo *var, struct atafb_par *par)
2171 static void ext_get_par(struct atafb_par *par)
2173 par->screen_base = external_screen_base;
2176 static void ext_set_par(struct atafb_par *par)
2259 struct atafb_par *par = info->par;
2265 par->screen_base = screen_base +
2268 fbhw->set_screen_base(par->screen_base);
2325 static void ata_get_par(struct atafb_par *par)
2328 *par = current_par;
2330 fbhw->get_par(par);
2333 static void ata_set_par(struct atafb_par *par)
2335 fbhw->set_par(par);
2336 current_par = *par;
2350 struct atafb_par par;
2352 err = fbhw->decode_var(var, &par);
2357 ata_set_par(&par);
2358 fbhw->encode_var(var, &par);
2368 struct atafb_par par;
2371 err = fbhw->decode_var(&info->var, &par);
2375 err = fbhw->encode_fix(fix, &par);
2381 struct atafb_par par;
2383 ata_get_par(&par);
2384 fbhw->encode_var(var, &par);
2417 struct atafb_par *par = info->par;
2443 atafb_mfb_fillrect(info, par->next_line, rect->color,
2446 atafb_iplan2p2_fillrect(info, par->next_line, rect->color,
2449 atafb_iplan2p4_fillrect(info, par->next_line, rect->color,
2452 atafb_iplan2p8_fillrect(info, par->next_line, rect->color,
2460 struct atafb_par *par = info->par;
2501 atafb_mfb_copyarea(info, par->next_line, sy, sx, dy, dx, height, width);
2503 atafb_iplan2p2_copyarea(info, par->next_line, sy, sx, dy, dx, height, width);
2505 atafb_iplan2p4_copyarea(info, par->next_line, sy, sx, dy, dx, height, width);
2507 atafb_iplan2p8_copyarea(info, par->next_line, sy, sx, dy, dx, height, width);
2514 struct atafb_par *par = info->par;
2547 atafb_mfb_linefill(info, par->next_line,
2551 atafb_iplan2p2_linefill(info, par->next_line,
2555 atafb_iplan2p4_linefill(info, par->next_line,
2559 atafb_iplan2p8_linefill(info, par->next_line,
2567 height, par->next_line, image->width,
2629 /* check var by decoding var into hw par, rounding if necessary,
2630 * then encoding hw par back into new, validated var */
2634 struct atafb_par par;
2637 // if ((err = ata_decode_var(var, &par)))
2638 err = fbhw->decode_var(var, &par);
2643 fbhw->encode_var(var, &par);
2647 /* actually set hw par by decoding var, then setting hardware from
2648 * hw par just decoded */
2651 struct atafb_par *par = info->par;
2654 fbhw->decode_var(&info->var, par);
2656 fbhw->encode_fix(&info->fix, par);
2660 ata_set_par(par);
3105 // reads hw state into current par, which may not be sane yet
3107 fb_info.par = ¤t_par;