Home | History | Annotate | Download | only in voyager
History log of /src/sys/dev/pci/voyager/voyagerfb.c
RevisionDateAuthorComments
 1.34  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.33  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.32  21-May-2021  macallan branches: 1.32.4;
fix wsdisplay attachment in the New Order Of Things
 1.31  21-May-2021  macallan use probed VRAM size to determine where to put the cursor instead of blindly
assuming 16MB
also make sure the glyph cache can't overlap with the cursor
 1.30  24-Apr-2021  thorpej branches: 1.30.2; 1.30.4;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.29  19-Jan-2018  macallan branches: 1.29.20;
enable font loading
 1.28  13-Jan-2016  macallan some trivial fixes:
- rearrange dmesg output so all values are printed properly
- use aprint_*
- support WSDISPLAYIO_GET_FBINFO
 1.27  11-Mar-2014  mrg branches: 1.27.6;
avoid set but unused variables.
move variables under their usage #ifdef.
 1.26  30-Jul-2013  macallan avoid uninitialized use of defattr
 1.25  19-Mar-2013  macallan branches: 1.25.6;
rearrange things a little bit to avoid showing garbled VRAM content while
switching colour depth
 1.24  13-Mar-2013  macallan break a bunch of long lines
 1.23  13-Mar-2013  macallan support anti-aliased fonts in 8bit
while there, use the DRAM config register to figure out how much video
memory we have instead of guessing
 1.22  30-May-2012  macallan branches: 1.22.2;
fix some comments
 1.21  23-May-2012  macallan first step to fix PR 46461 - don't jump through a NULL pointer when we're
not the console but the firmware set up the graphics hardware anyway
 1.20  19-Apr-2012  macallan glyphcache_init() works best with its parameters in the right order. Doh.
While there request an RGB devcmap.
 1.19  20-Mar-2012  macallan split voyagerfb_putchar() into one method for mono fonts and one for
anti-aliased fonts
 1.18  13-Mar-2012  elad Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
 1.17  21-Feb-2012  macallan use glyphcache for anti-aliased fonts
 1.16  11-Jan-2012  macallan use rasops_init(0,0), WSFONT_GLYPH(), FONT_IS_ALPHA()
 1.15  28-Dec-2011  macallan make anti-aliased fonts with odd widths work
The drawing engine needs lines padded to 64bit when doing colour host blits
which is of course not mentioned anywhere in the manual.
 1.14  27-Dec-2011  macallan add fastpaths for alpha == 0 and alpha == 255 - no need to do the six
multiplications dance there, just use background or foreground colour
 1.13  24-Dec-2011  macallan don't put alpha values in a variable named alpha since alpha doesn't like
variables conflicting with platform names
( just in case someone figures out how to stick an sm50x into an alpha )
 1.12  22-Dec-2011  macallan don't probe colour depth on attach - we're going to change it anyway
 1.11  22-Dec-2011  macallan don't switch to 8 bit for WSDISPLAYIO_MODE_EMUL if VOYAGERFB_ANTIALIAS
is defined
 1.10  22-Dec-2011  macallan support running in 32bit colour with anti-aliased fonts
enable with options VOYAGERFB_ANTIALIAS
 1.9  08-Nov-2011  macallan branches: 1.9.4;
switch to 32bit colour for X, switch back to 8 bit for console emulation
 1.8  08-Nov-2011  macallan run the console in 8 bit colour for additional speed
( on Gdium this scrolls more than twice as fast as the 16bit default mode )
 1.7  18-Oct-2011  macallan branches: 1.7.2;
add backlight control via sm502 PWM
 1.6  28-Sep-2011  macallan support a hardware cursor - now X with wsfb on gdium is a little less annoying
 1.5  22-Sep-2011  macallan use BUS_SPACE_MAP_PREFETCHABLE
 1.4  20-Sep-2011  macallan support ioctl(WSDISPLAYIO_SVIDEO) and friends so wsfb can turn the backlight
off
 1.3  06-Sep-2011  macallan add simple backlight control support, only on/off for now
 1.2  06-Sep-2011  macallan wsdisplayio_busid_pci() needs out parent since we don't attach directly
to a PCI bus anymore
 1.1  31-Aug-2011  macallan split up voyagerfb into the framebuffer portion and a pseudo bus that we can
attach all the other sub-devices to
while there attach an i2c bus
 1.7.2.5  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.7.2.4  30-Oct-2012  yamt sync with head
 1.7.2.3  23-May-2012  yamt sync with head.
 1.7.2.2  17-Apr-2012  yamt sync with head
 1.7.2.1  10-Nov-2011  yamt sync with head
 1.9.4.5  02-Jun-2012  mrg sync to latest -current.
 1.9.4.4  29-Apr-2012  mrg sync to latest -current.
 1.9.4.3  05-Apr-2012  mrg sync to latest -current.
 1.9.4.2  24-Feb-2012  mrg sync to -current.
 1.9.4.1  18-Feb-2012  mrg merge to -current.
 1.22.2.3  03-Dec-2017  jdolecek update from HEAD
 1.22.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.2.1  23-Jun-2013  tls resync from head
 1.25.6.2  18-May-2014  rmind sync with head
 1.25.6.1  28-Aug-2013  rmind sync with head
 1.27.6.1  19-Mar-2016  skrll Sync with HEAD
 1.29.20.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.30.4.1  31-May-2021  cjep sync with head
 1.30.2.1  17-Jun-2021  thorpej Sync w/ HEAD.
 1.32.4.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed