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