OpenGrok
Cross Reference: sx.c
xref
: /
src
/
sys
/
arch
/
sparc
/
dev
/
sx.c
Home
|
History
|
Annotate
|
Download
|
only in
dev
History log of
/src/sys/arch/sparc/dev/sx.c
Revision
Date
Author
Comments
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
Indexes created Sun Oct 12 09:09:55 GMT 2025