Date: Wed, 31 Mar 2010 15:39:47 +0000 (UTC) From: Jung-uk Kim <jkim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r205982 - stable/8/sys/dev/syscons Message-ID: <201003311539.o2VFdlNx049396@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jkim Date: Wed Mar 31 15:39:46 2010 New Revision: 205982 URL: http://svn.freebsd.org/changeset/base/205982 Log: MFC: r205550, r205605, r205865 Sync. pixel mode support for syscons(4) with HEAD. - Separate 24-bit pixel draw from 32-bit case. Although it is slower, we do not want to write a useless zero to inaccessible memory region. - We only want the dummy palette for direct color mode. Modified: stable/8/sys/dev/syscons/scvgarndr.c stable/8/sys/dev/syscons/scvidctl.c stable/8/sys/dev/syscons/syscons.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/syscons/scvgarndr.c ============================================================================== --- stable/8/sys/dev/syscons/scvgarndr.c Wed Mar 31 15:32:36 2010 (r205981) +++ stable/8/sys/dev/syscons/scvgarndr.c Wed Mar 31 15:39:46 2010 (r205982) @@ -181,9 +181,17 @@ static u_short mouse_or_mask[16] = { #define vga_drawpxl(pos, color) \ switch (scp->sc->adp->va_info.vi_depth) { \ case 32: \ - case 24: \ writel(pos, vga_palette32[color]); \ break; \ + case 24: \ + if (((pos) & 1) == 0) { \ + writew(pos, vga_palette32[color]); \ + writeb(pos + 2, vga_palette32[color] >> 16);\ + } else { \ + writeb(pos, vga_palette32[color]); \ + writew(pos + 1, vga_palette32[color] >> 8);\ + } \ + break; \ case 16: \ if (scp->sc->adp->va_info.vi_pixel_fsizes[1] == 5)\ writew(pos, vga_palette15[color]); \ Modified: stable/8/sys/dev/syscons/scvidctl.c ============================================================================== --- stable/8/sys/dev/syscons/scvidctl.c Wed Mar 31 15:32:36 2010 (r205981) +++ stable/8/sys/dev/syscons/scvidctl.c Wed Mar 31 15:39:46 2010 (r205982) @@ -741,7 +741,7 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, #ifndef SC_NO_PALETTE_LOADING #ifdef SC_PIXEL_MODE - if ((adp->va_flags & V_ADP_DAC8) != 0) + if (adp->va_info.vi_mem_model == V_INFO_MM_DIRECT) vidd_load_palette(adp, scp->sc->palette2); else #endif @@ -802,7 +802,7 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, if (scp == scp->sc->cur_scp) { set_mode(scp); #ifndef SC_NO_PALETTE_LOADING - if ((adp->va_flags & V_ADP_DAC8) != 0) + if (adp->va_info.vi_mem_model == V_INFO_MM_DIRECT) vidd_load_palette(adp, scp->sc->palette2); else vidd_load_palette(adp, scp->sc->palette); Modified: stable/8/sys/dev/syscons/syscons.c ============================================================================== --- stable/8/sys/dev/syscons/syscons.c Wed Mar 31 15:32:36 2010 (r205981) +++ stable/8/sys/dev/syscons/syscons.c Wed Mar 31 15:39:46 2010 (r205982) @@ -2127,7 +2127,7 @@ restore_scrn_saver_mode(scr_stat *scp, i if (set_mode(scp) == 0) { #ifndef SC_NO_PALETTE_LOADING #ifdef SC_PIXEL_MODE - if ((scp->sc->adp->va_flags & V_ADP_DAC8) != 0) + if (scp->sc->adp->va_info.vi_mem_model == V_INFO_MM_DIRECT) vidd_load_palette(scp->sc->adp, scp->sc->palette2); else #endif @@ -2536,7 +2536,7 @@ exchange_scr(sc_softc_t *sc) #ifndef SC_NO_PALETTE_LOADING if (ISGRAPHSC(sc->old_scp)) { #ifdef SC_PIXEL_MODE - if ((sc->adp->va_flags & V_ADP_DAC8) != 0) + if (sc->adp->va_info.vi_mem_model == V_INFO_MM_DIRECT) vidd_load_palette(sc->adp, sc->palette2); else #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003311539.o2VFdlNx049396>