Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/sparc/dev/sx.c
RevisionDateAuthorComments
 1.8  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.7  13-Jun-2023  macallan add counter to periodically drain the instruction queue in order to avoid
stalling the MBus during long SX operations
adapted from xf86-video-suncg14
 1.6  13-Apr-2023  macallan initialize the diagnostic register with the value suggested by the SunOS
header. This sets a bunch of undocumented bits and yields a 10% speed increase
when rendering antialiased text.
 1.5  11-Sep-2021  andvar branches: 1.5.4;
Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.4  01-Mar-2019  macallan adapt to changes in sxreg.h
 1.3  15-Apr-2014  macallan branches: 1.3.2; 1.3.30;
print chip revision on attach
 1.2  06-Feb-2013  macallan branches: 1.2.2; 1.2.4; 1.2.12;
fix typos, deal with hardware insanity
 1.1  05-Feb-2013  macallan attachment and initialization for SX
 1.2.12.1  10-Aug-2014  tls Rebase.
 1.2.4.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.2  25-Feb-2013  tls resync with head
 1.2.4.1  06-Feb-2013  tls file sx.c was added on branch tls-maxphys on 2013-02-25 00:28:57 +0000
 1.2.2.1  18-May-2014  rmind sync with head
 1.3.30.1  10-Jun-2019  christos Sync with HEAD
 1.3.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.2.1  15-Apr-2014  yamt file sx.c was added on branch yamt-pagecache on 2014-05-22 11:40:08 +0000
 1.5.4.1  05-Jul-2023  martin Pull up following revision(s) (requested by abs in ticket #224):

sys/dev/wscons/wsdisplay_vconsvar.h: revision 1.34
sys/dev/wscons/wsdisplay_glyphcachevar.h: revision 1.6
sys/arch/sparc/dev/cgfourteen.c: revision 1.94
sys/arch/sparc/dev/cgfourteen.c: revision 1.95
sys/dev/sbus/mgx.c: revision 1.21
sys/dev/sbus/mgx.c: revision 1.22
sys/dev/sbus/mgx.c: revision 1.23
sys/dev/wscons/wsdisplay_vcons.c: revision 1.65
sys/dev/wscons/wsdisplay_vcons.c: revision 1.66
sys/dev/wscons/wsdisplay_glyphcache.c: revision 1.12
sys/arch/sparc/dev/sxvar.h: revision 1.5
sys/arch/sparc/dev/sx.c: revision 1.6
sys/arch/sparc/dev/sx.c: revision 1.7

make vcons_putchar_buffer() return a flag indicating if anything actually
changed, skip the actual drawing op if nothing did

add flags for drivers to requesr R2L bit/byte-ordered fonts, default to
L2R, chack them in vcons_load_font() instead of just trusting that we'd get
what we need

initialize the diagnostic register with the value suggested by the SunOS
header. This sets a bunch of undocumented bits and yields a 10% speed increase
when rendering antialiased text.

use macros compatible with xf86-video-suncg14 to issue SX instructions
much more readable, alignment weirdness is handled automatically and code is
interchangable

allow drivers to specify horizontal alignment of glyph cache cells
for things like SX which have alignment restrictions

add counter to periodically drain the instruction queue in order to avoid
stalling the MBus during long SX operations

adapted from xf86-video-suncg14
- use sx_wait() to avoid stalling the MBus
- request 32bit alignment for glyphcache cells

wait for the engine to go idle before issuing rectfill commands
we get occasional overlap with blit commands if we just wait for fifo slots
needs further investigation, it is possible that not all writes to drawing
engine registers are pipelined and of course we don't have docs

following a hunch...
- cache DEC and FG registers, only write them if the value actually changes
- wait for the engine to go idle before writing DEC
- wait for FIFO slots on everything else
with this we avoid waiting if possible and still avoid overlapping blit and
fill commands

RSS XML Feed