Date: Thu, 17 Oct 2013 06:14:33 +0000 (UTC) From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r256667 - stable/9/sys/powerpc/ofw Message-ID: <201310170614.r9H6EXLU068961@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhibbits Date: Thu Oct 17 06:14:32 2013 New Revision: 256667 URL: http://svnweb.freebsd.org/changeset/base/256667 Log: MFC r253979 Micro-optimize OFW syscons 8-bit blank. Modified: stable/9/sys/powerpc/ofw/ofw_syscons.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/powerpc/ofw/ofw_syscons.c ============================================================================== --- stable/9/sys/powerpc/ofw/ofw_syscons.c Thu Oct 17 05:51:54 2013 (r256666) +++ stable/9/sys/powerpc/ofw/ofw_syscons.c Thu Oct 17 06:14:32 2013 (r256667) @@ -586,14 +586,22 @@ ofwfb_blank_display8(video_adapter_t *ad { struct ofwfb_softc *sc; int i; - uint8_t *addr; + uint32_t *addr; + uint32_t color; + uint32_t end; sc = (struct ofwfb_softc *)adp; - addr = (uint8_t *) sc->sc_addr; + addr = (uint32_t *) sc->sc_addr; + end = (sc->sc_stride/4) * sc->sc_height; + + /* Splat 4 pixels at once. */ + color = (ofwfb_background(SC_NORM_ATTR) << 24) | + (ofwfb_background(SC_NORM_ATTR) << 16) | + (ofwfb_background(SC_NORM_ATTR) << 8) | + (ofwfb_background(SC_NORM_ATTR)); - /* Could be done a lot faster e.g. 32-bits, or Altivec'd */ - for (i = 0; i < sc->sc_stride*sc->sc_height; i++) - *(addr + i) = ofwfb_background(SC_NORM_ATTR); + for (i = 0; i < end; i++) + *(addr + i) = color; return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310170614.r9H6EXLU068961>