Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/wcfb.c
RevisionDateAuthorComments
 1.21  17-Jul-2022  riastradh wsdisplay(4): Factor out WSDISPLAY_SCROLLSUPPORT logic.

Should find a way to avoid the #ifdefs in the .h file, but this makes
the code a good deal more legible and easier to maitain, at least.
No functional change intended.
 1.20  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19  24-Apr-2021  thorpej branches: 1.19.8;
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.18  01-Jun-2017  chs branches: 1.18.26;
remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.17  24-Mar-2017  macallan support screen blanking
 1.16  24-Mar-2017  macallan missed one line of debug spam...
 1.15  24-Mar-2017  macallan - clean up some testing & debugging goop
- 0xff is transparent, so restrict ourself to just 4 bit colour, all we need
for wscons
- support WSDISPLAYIO_GET_FBINFO etc. for wsfb, allow mmap()ing the fb etc.
 1.14  14-Jul-2016  msaitoh branches: 1.14.2; 1.14.4;
- Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.13  20-Mar-2015  macallan fix copyright & license, make it explicit that this driver is based on
OpenBSD's ifb driver
 1.12  09-Oct-2012  macallan branches: 1.12.14;
add acceleration support, for Sun XVR-1200 and compatible only so far
adapted from OpenBSD with various improvements, no support for Expert3D has
been added
this is still suboptimal since we have to sync the engine all the time but
it's an improvement over software-only operation
 1.11  13-Mar-2012  elad branches: 1.11.2;
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.10  30-Jan-2012  drochner Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive}
where it looks straightforward, and pci_aprint_devinfo_fancy in a few
others where drivers want to supply their own device names instead
of the pcidevs generated one. More complicated cases, where names
are composed at runtime, are left alone for now. It certainly makes
sense to simplify the drivers here rather than inventing a catch-all API.
This should serve as as example for new drivers, and also ensure
consistent output in the AB_QUIET ("boot -q") case. Also, it avoids
excessive stack usage where drivers attach child devices because the
buffer for the device name is not kept on the local stack anymore.
 1.9  11-Jan-2012  macallan use rasops_init(0, 0)
 1.8  22-Jan-2011  cegger branches: 1.8.4; 1.8.8;
Implement new WSDISPLAYIO_GET_BUSID ioctl.
It returns the bus id and allows userland (like Xorg) to create mapping
of ttyE? and bus id. For now only PCI is implemented.

First discussed with macallan@ then public on tech-kern@ and tech-x11@
 1.7  16-Dec-2010  cegger branches: 1.7.2; 1.7.4;
ioctl: KNF switch-case, remove useless brackets
 1.6  10-Mar-2010  macallan branches: 1.6.2; 1.6.4; 1.6.6;
- move register definition in their own header, reduce magic numbers
- get geometry and framebuffer layout from the chip instead of hardcoding
- get rid of some now superfluous leftovers
- remove some debug code
- clean things up a bit
- dump registers with WCFB_DEBUG even if we're not the console
 1.5  10-Mar-2010  macallan forgot to include opt_wsdisplay_compat.h for WSDISPLAY_SCROLLSUPPORT
 1.4  09-Mar-2010  macallan now we also draw a cursor
 1.3  09-Mar-2010  macallan Use a shadow framebuffer instead of doing every operation twice ( once for
each framebuffer ) - this gives quite a dramatic speedup and hides the funky
effects previously seen.
Almost there, now we need to actually draw a cursor.
 1.2  25-Feb-2010  macallan some cleanup
 1.1  25-Feb-2010  macallan a very preliminary driver for Wildcat 5110 / Sun XVR-500 graphics boards
Since we don't have any documentationthis driver is unaccelerated and thanks
to the insane state we get the hardware in it's also slow and scrolling
looks weird.
Some hardware info came from OpenBSD's ifb driver.
 1.6.6.2  30-Apr-2010  uebayasi Sync with HEAD.
 1.6.6.1  10-Mar-2010  uebayasi file wcfb.c was added on branch uebayasi-xip on 2010-04-30 14:43:44 +0000
 1.6.4.1  05-Mar-2011  rmind sync with head
 1.6.2.2  11-Mar-2010  yamt sync with head
 1.6.2.1  10-Mar-2010  yamt file wcfb.c was added on branch yamt-nfs-mp on 2010-03-11 15:03:59 +0000
 1.7.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.7.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.8.8.2  05-Apr-2012  mrg sync to latest -current.
 1.8.8.1  18-Feb-2012  mrg merge to -current.
 1.8.4.2  30-Oct-2012  yamt sync with head
 1.8.4.1  17-Apr-2012  yamt sync with head
 1.11.2.2  03-Dec-2017  jdolecek update from HEAD
 1.11.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.14.3  28-Aug-2017  skrll Sync with HEAD
 1.12.14.2  05-Oct-2016  skrll Sync with HEAD
 1.12.14.1  06-Apr-2015  skrll Sync with HEAD
 1.14.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.14.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.18.26.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.19.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed