cvs commit: src/sys/dev/fb machfb.c
Marius Strobl
marius at FreeBSD.org
Sun Jul 10 11:43:21 GMT 2005
marius 2005-07-10 11:43:20 UTC
FreeBSD src repository
Modified files:
sys/dev/fb machfb.c
Log:
- Declare lookup tables etc. const. [1]
- Add a missing "ATI" in one of the device descriptions.
- In machfb_init_engine() adjust a wait_for_fifo() call to the
actual number of operations.
- As a speed optimization cache setting the foreground and back-
ground colors.
- I got the meaning of V_DISPLAY_BLANK wrong, it's blank like turn
off and not blank like turn on and clear the screen. So move
clearing the screen to machfb_clear() were it hopefully belongs.
- Properly implement V_DISPLAY_BLANK, V_DISPLAY_STAND_BY and
V_DISPLAY_SUSPEND. This makes blank_saver.ko and green_saver.ko
work. [1]
- Implement machfb_load_palette() and machfb_save_palette() and
set the V_ADP_PALETTE flag. This makes fade_saver.ko work. [2]
- Install our 16-color color map only once and with an offset of
16 as the OBP driver expects white to be at index 0 and black at
255. This fixes the inversion of the colors back at the boot
prompt after shutting down FreeBSD. This will also be handy if
we ever want to implement breaking into OFW. Unfortunately there
doesn't seem to be a better way to achieve this as e.g. bypassing
the color map isn't supported by all Mach64 chips.
- Move invalidating the cache variables to machfb_set_mode() and
set the V_ADP_MODECHANGE flag. This causes machfb_set_mode() to
be called when the X server shuts down. This hopefully will fix
the screen corruption happening occasionally when shutting down
the X server and which is present until switching to another VTY.
Inspired by: NetBSD [1]
Based on: Xorg [2]
Approved by: re (scottl)
Revision Changes Path
1.3 +148 -68 src/sys/dev/fb/machfb.c
More information about the cvs-src
mailing list