SunVTS 3.0 Test Reference Manual

Chapter 2 Advanced Frame Buffer Test (afbtest)

afbtest verifies the functionality of the Advanced Frame Buffer.

afbtest can detect and adapt to the various video modes of the advanced frame buffer (AFB). Instead of only running in one standard graphics mode, all tests can run in any mode. In stereo mode, all tests write into the right and left eyes unless you specify otherwise.

You can interrupt afbtest using Control-C. Turn off all other keyboard input if OPEN LOOK is running on the unit being tested.

Test accuracy is checked using a checksum algorithm. Possible locations of failing pixels are colored chartreuse to help visually identify their position.


Caution - Caution -

Do not run any other application or screen saver program that uses the AFB accelerator port while running afbtest. This combination causes SunVTS to return incorrect errors.



Note -

Disable all screen savers before testing any graphics device. Type xset s off at a UNIX prompt to disable the Solaris screen saver.



Note -

DO NOT run Open Windows across multiple monitor while running afbtest, otherwise the test will return errors.



Note -

afbtest requires approximately 29 Mbytes of disk space in the /tmp directory to extract its working files. If this space is not available, the diagnostic will fail and report warning and error messages, indicating a lack of disk space.


afbtest Options

By default, all afbtest options are enabled.

Figure 2-1 afbtest Option Menu

Graphic

Table 2-1 afbtest Options

afbtest Options

Description 

3DRAM Test 

The 3DRAM test thoroughly tests the video memory in the AFB using 512-bit reads and writes. 3DRAM makes a full screen pass, consisting of a write and a read to each pixel location, for each access mode on the list below. The data used can be either random or specified by the user. A second pass is made with the one's complement of the data used in the first pass so that each memory location is tested with both a zero and a one. 

Errors in this subtest are attributes to the 3DRAM. A failing chip is indicated by (x, y) locations and device-specific "U" numbers.  

  • DFB8R, DFB8G, DFB8B, DFB8X - Buffer A

  • DFB24 - Buffer A

  • DFB32 - Buffer A

  • SFB8R, SFB8G, SFB8B, SFB8X - Buffer A

  • SFB8R, SFB8G, SFB8B, SFB8X - Buffer B

  • SFB32 - Buffer A

  • SFB32 - Buffer B

  • SFB32 - Buffer C

  • SFB64 - Buffers A and C

  • SFB64 - Buffers B and C

3DRAM Logic Test 

The 3DRAM Logic test provides logical functionality to the AFB. The following services are tested: 

  • Compare Controls - Match AB

  • Compare Controls - Magnitude AB

  • Compare Controls - Match C

  • Compare Controls - Magnitude C

  • Match Mask - AB

  • Magnitude Mask - AB

  • Match Mask - C

  • Magnitude Mask - C

  • Raster Operations - RGB

  • Raster Operations - X

  • Raster Operations - YZ

  • Plane Mask - RGB

  • Plane Mask - X

  • Plane Mask - Y

  • Plane Mask - Z

  • Group Enable - R, G, B, X

  • Group Enable - Y, Z

Each function is tested separately with a series of SFB64 writes. A total of 16 writes are made for each different test case with Y coordinate values varying from 0 to 30 in increments of 2 pixels. This dotted column organization provides page thrashing and block flashing in all screen resolutions. For each operation all possible combinations are tested. For example, in ROP RGB new==old there are three possible values: new < old, new == old, and new > old. Each of these cases are tested.

Five passes of the functions are made. Each pass writes into a different AFB address space: SFB32-A, SFB32-B, SFB32-C, SFB64-AC, and SFB64-BC. Note that the passes that write into the SFB32 address spaces are writing two pixels at a time because the tests use SFB64 writes. 

Care is taken to ensure that all 3DRAM chips are tested. Errors in this subtest are attributed to the 3DRAM. 

RAMDAC Test 

RAMDAC registers are tested using simple read/write patterns to determine if there are any bad bits. This includes all LUTs (4 CLUTs, PWLUT and OWLUT). afbtest ensures that data is actually being read from the RAMDAC and not being supplied by the driver.

RAMDAC on AFB can be in SEP8 or Combined mode. RAMDAC test detects the RAMDAC mode and tests the RAMDAC output for that mode. The RAMDAC Signature Register captures the pixels going to the screen. This test determines that all of the different data paths within the RAMDAC are functioning properly.  

The data pattern is designed so all the data paths are tested. i.e., All CLUTs, PWLUTs and OWLUTS. A cursor is also displayed on the screen. 

Errors in this test are attributed to the RAMDAC. 

Microcode Test 

Micro code test generates the checksum for the microcode of the each enabled float and compares all the check sums for equality. 

Errors in this test are attributed to the Microcode PROMS & SRAMS. 

Rendering Pipeline Test 

Rendering Pipeline uses the rendering pipeline tests developed for the FFB stand-alone diagnostics. Each FFB primitive is tested thoroughly with a variety of sources and configurations. 

  • Dots

  • Anti-aliased dots

  • Lines using all four line drawing primitives

  • Triangles

  • Polygons

  • Rectangles

  • Fonts

Errors in this test are attributed to the Draw Chips. 

Fast Fill/Vertical Scroll Test 

Fast Fill/Vertical Scroll primitives are separated from the Rendering Pipeline tests because of their dependence on screen type. There are three different tests, one for each screen type. Each test uses both block and page mode fast_fills. 

Errors in this test are attributed to the Draw Chips. 

Pixel Process Test 

The Pixel Processor test, a subtest, exercises the options selected by the AFB's Pixel Processor Control (PPC) register. 

  • Auxiliary clipping (additive and subtractive)

  • Depth cueing

  • Alpha blend

  • Viewport clip (2D and 3D)

  • Area pattern (transparent and opaque)

Errors in this test are attributed to the Draw Chips. 

AFB Dots Test 

This test uses the AFB primitive tests developed for the AFB stand-alone diagnostics. AFB Dots are tested thoroughly with a variety of sources and configurations. 

  • Dots

  • Anti-aliased dots

  • Big dots

Errors in this test are attributed to the Command & Draw Chips. 

AFB Lines Test 

This test uses the AFB primitive tests developed for the AFB stand alone diagnostics. AFB Lines are tested thoroughly with a variety of sources and configurations. 

  • Jaggy lines

  • Anti-aliased lines

  • Lines with patterns

  • Bresenham Lines

  • Wide Lines drawn as lines and Triangles

Errors in this test are attributed to the Command & Draw Chips. 

AFB Triangles Test 

This test uses the AFB primitive tests developed for the AFB stand alone diagnostics. AFB Triangles are tested thoroughly with a variety of sources and configurations. 

  • Triangles drawn clock wise & counter clockwise

  • Triangles drawn as stripes

  • Independent Triangles

  • Triangles drawn as stars

  • Triangles with facet normals

Errors in this test are attributed to the Command & Draw Chips. 

Lighting Test 

The Lighting test exercises AFB float and lighting microcode. This test lights an object with maximum number of lights (32) that AFB can handle in hardware. A check sum is generated for the rendered image and compared with the check sum generated for the same image on a known good system. 

Errors in this test are attributed to the Float & Microcode SRAMS. 

Texture Processor Test 

The Texture Processor test exercises the different options of the AFB's Texture Pixel Processor Control (TPPC) register. 

  • Texture Minification

  • Texture Magnification

  • Blend

  • Decal

  • Modulation

Errors in this test are attributed to the Draw Chips. 

AFB Mix Test 

The AFB Mix test draws different primitives with variety combinations of sources and configurations, exercising all the Draw, Float, Microcode and 3DRAM chips on AFB. This test is to stress the AFB. 

Errors in this test are attributed to Draw, Float, Microcode and/or 3DRAM Chips. 

Picking Test 

The Picking test exercises the pick detect login of the 3DRAM. We define a pick detect window and make sure that writes to the window are picked, and writes outside the window are not picked. The test is repeated once for each 3DRAM. 

Errors in this test are attributed to the 3DRAM. 

Arbitration Test 

The Arbitration test, a subtest, continuously renders an object into the accelerator port while doing reads and writes through the direct port. A picture is rendered into all 32 planes of the B buffer while the other process does 32-bit DFB reads and writes in the A plane. This subtest simulates conditions in the real world, where rendering processes and windows operations run concurrently. 

Errors in this test are attributed to the Context switching between DFB and SFB. 

Stereo Test 

Stereo test displays an object in stereo mode with different images for the right and left eye. The user can verify proper operation by looking at the screen with stereo glasses and following the instructions being displayed. If the monitor type is not 1280x1024 @ 76MHz, this test prints a warning message and does not execute. To prevent this message from being displayed or written to the SunVTS information log, disable the stereo test in the test option menu. Only Sony P4 and N2 monitors support stereo resolutions. This test temporarily switches the monitor into stereo mode, renders a stereo image, performs a signature analysis on the stereo image (using the RAMDAC signature capture register), and after displaying the image for five seconds, restores the monitor to its previous resolution. 

Errors in this test are attributed to the RAMDAC. 

UART Test 

The UART test tests both UART0 and UART1. First, UART memory is tested using simple read/write patterns to determine if there are any bad bits. Then data is written to UART 0/1 and the written data is read using the internal loopback in polling mode. The read data is verified with written data. 

Errors in this test are attributed to UART and its SRAM memory chip. 

afbtest Test Modes

Due to the nature of graphic tests, reading data from, or writing data to the frame buffer during graphic tests will disturb user operation. For this reason, afbtest is only available in Functional mode.

afbtest Command Line Syntax

/opt/SUNWvts/bin/afbtest standard_arguments -o dev=device_name, S=subtest_number,F=#_of_subtest_loops,B=#_of_test_loops,P=test_pattern

Table 2-2 afbtest Command Line Syntax

Argument 

Explanation 

dev=device_name

device_name is the relative path name of the device being tested with respect to /dev/fbs; The default is afb0.

S=subtest_number

subtest_number is the test number of the subtest to be run. Select from the subtests below. You can run multiple subtests by adding the subtest numbers together. For example, n=0x3 runs both test 1 and test 2; n=0x180 runs both test 0x080 and test 0x0100. You do not need the leading zeros.

n - 0x00001 3DRAM

n - 0x00002 3DRAM Logic

n - 0x00004 RAMDAC

n - 0x00008 Micro code

n - 0x00010 Rendering Pipeline

n - 0x00020 FastFill/Vertical Scroll

n - 0x00040 Pixel Processor

n - 0x00080 AFB Dots

n - 0x00100 AFB Lines

n - 0x00200 AFB Triangles

n - 0x00400 Lighting

n - 0x00800 Texture Processor

n - 0x02000 AFB Mix Test

n - 0x04000 Picking

n - 0x08000 Arbitration

n - 0x10000 Stereon - ox40000 UART

F=#_of_subtest_loops

The number of times to repeat each subtest; the default is 1. 

B=#_of_test_loops

The number of times to repeat a test loop before passing; the default is 1. 

P=test_pattern

The test pattern number. The default is r, for random patterns. You may also choose 0 for 0x0000000, 3 for 0x3333333, 5 for 0x5555555, or 9 for 0x9999999.


Note -

64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname. If the test is not present in this directory, then it may only be available as a 32-bit test. For more information refer to "32-Bit and 64-Bit Tests".


afbtest Error Messages

Errors returned by afbtest are nonspecific: It is not possible to determine which component caused a failure. In all error conditions, the field replaceable unit (FRU) is the entire AFB.

Table 2-3 afbtest Error Messages

 

Error Message 

Probable Cause(s) 

Recommended Action 

6000

string error: 3DRAM Memory error

string Plane at (data,data) Expected = 0x%02x, actual = 0x%02x, xor = 0x%02x

Faulty frame buffer. 

If the problem persists, contact your authorized Sun service provider. 

6002

string error: 3DRAM Memory error

string Plane at (data,data) Expected = 0x%06x, actual = 0x%06x, xor = 0x%06x

6004

string error: 3DRAM Memory error

string Plane at (data,data) Expected = 0x%08x, actual = 0x%08x, xor = 0x%08x

6006

string error: 3DRAM Memory error

string Mode, Plane A at (data,data)

Expected = 0x%08x, actual = 0x%08x, xor = 0x%08x

Faulty frame buffer. 

If the problem persists, contact your authorized Sun service provider. 

6008

string error: 3DRAM Memory error

string Mode, Plane B at (data,data)

Expected = 0x%08x, actual = 0x%08x, xor = 0x%08x

Faulty frame buffer. 

If the problem persists, contact your authorized Sun service provider. 

6010

string error: 3DRAM Memory error

string Mode, Plane C at (data,data)

Expected = 0x%08x, actual = 0x%08x, xor = 0x%08x

6012

Misaligned raster

Software error. 

Reinstall software or contact your system administrator. 

6013

File Not Found

Could not open file string

6014

Could not open file string: string

6015

Keyword not Found, line data

6016

Miscompares, starting at string

Faulty frame buffer. 

Contact your authorized Sun service representative. 

6017

Picking test error.

Got a pick hit with picking disabled

6018

Picking test error.

Got a pick hit outside the picking area

6019

Picking test error. Should have detected a pick hit

6020

Out of memory

Software System Error. 

Contact your system administrator. 

6021

string failed

Software error. 

Reinstall software or contact your system administrator. 

Check for existence and/or permissions on string.

Also check for available space in /tmp. 

6022

string failed

Software error. 

Reinstall software or contact your system administrator.  

Check for existence and/or permissions on string.

6023

fork1(2) failed

Software error. 

Reinstall software or contact your system administrator. 

6024

execl(2) failed

6025

Unable to open string

Software error. 

Reinstall software or contact your system administrator. 

Check device for existence and/or permissions on string.

6026

ioctl(2) failed trying to read CLUT.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your Sun Service provider. 

6027

ioctl(2) failed trying to turn on AFB video.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6028

ioctl(2) failed trying to post CLUT.

 

6029

Miscompare found in Green channel of CLUT entry data. Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

Faulty frame buffer. 

If the problem persists, contact your authorized Sun service provider. 

6030

Miscompare found in Green channel of CLUT entry data. Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

6031

Miscompare found in Blue channel of CLUT entry data. Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

6032

ioctl(2) failed trying to read WID LUT.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6033

ioctl(2) failed trying to post WID LUT.

6034

ioctl(2) failed trying to get RAMDAC signature analysis.

6035

Miscompare found in WID LUT entry data.

Expected = 0x%06x, Observed = 0x%06x, XOR = 0x%06x.

Faulty frame buffer. 

If the problem persists, contact your authorized Sun service provider. 

6036

RAMDAC test failed. The on-screen image is incorrect.

6037

sysinfo(2) failed getting hostname.

Software error. 

Must be superuser 

6038

can't acquire console semaphore

Software error. 

Reinstall software or contact your system administrator. 

6039

Cannot gain control of mouse: string

6040

Cannot gain control of keyboard: string

6046

ioctl(2) failed trying to get current video mode.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6047

ioctl(2) failed trying to set current video mode.

6048

ioctl(2) failed trying to get AFB system info.

6049

ioctl(2) failed trying to go into Diagnostic mode.

6050

mmap(2) failed: string.

Software system error. 

Reinstall software or contact your system administrator. 

6051

munmap(2) failed: string.

6052

close(2) failed: string.

6053

DGA error grabbing window on screen data.

6054

DGA error getting window from token on screen data.

6055

ioctl(2) failed trying to read Transparent Overlay registers.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6056

ioctl(2) failed trying to post Transparent Overlay registers.

6057

ioctl(2) failed trying to post cursor.

6058

ioctl(2) failed trying to read cursor.

6059

No AFB device found on display 0.

The environmental variable DISPLAY is set wrong or the 

display being used is not using an AFB. 

Set the variable to a display that has the AFB plugged into it. 

6060

There is an inconsistency with the version of the X Window System.

Software error. 

Contact your system administrator. 

6061

stat(2) failed trying to get info about Device Under Test.

Software error. 

Reinstall software or contact your system administrator. 

6062

stat(2) failed trying to get info about screen 0:data.

6063

Can't access XWindows.

Software error. 

Try running xhost(1) or contact your system administrator. 

6064

wait(2) failed: string

Software error. 

Reinstall software or contact your system administrator. 

6065

signal(2) failed: string

6066

thr_kill(2) failed

6067

thr_join(2) failed: string

6071

To get signatures, run afbtest from the command line.

 

 

6072

Stereo image incorrect

Faulty frame buffer. 

If the problem persists, contact your Sun Service provider. 

6075

System LWP limit exceeded.

Software error. 

Reinstall software or contact your system administrator. 

6076

Error data creating thread.

6104

Error in getting the length of the file. string

6105

Stencil test failed string

Faulty 3DRAM. 

If the problem persists, contact your Sun Service provider. 

6106

Passin test failed string

6107

Blend2 test failed string

6108 

Couldn't create lock file string

No permission or lack of space in /tmp.

Free some space in /tmp directory. Check permissions of /tmp.

6115

string error: GCopy error

string at (data,data)

Expected = 0x%02x, actual = 0x%02x, xor = 0x%02x.

Faulty frame buffer. 

If the problem persists, contact your Sun Service provider. 

6116

string error: GCopy AFB to Memory error

string at (data,data)

Expected = 0x%02x, actual = 0x%02x, xor = 0x%02x.

6117

string error: GCopy Memory to AFB error

string at (data,data)

Expected = 0x%02x, actual = 0x%02x, xor = 0x%02x.

6208

ioctl(2) failed trying to post Overlay WID LUT.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6209

ioctl(2) failed trying to post Primary WID LUT.

6210

Miscompare found in Overlay WID LUT entry data.

Expected = 0x%06x, Observed = 0x%06x, XOR = 0x%06x.

Faulty frame buffer. 

If the problem persists, contact your Sun Service provider. 

6211

Miscompare found in Primary WID LUT entry data.

6212

ioctl(2) failed trying to read CLUT # data.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6213

ioctl(2) failed trying to post CLUT # data.

6214

Miscompare found in Red channel of CLUT # data in entry data.

Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

Faulty frame buffer. 

If the problem persists, contact your Sun Service provider. 

6215

Miscompare found in Green channel of CLUT # data in entry data.

Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

6216

Miscompare found in Blue channel of CLUT # data in entry data.

Expected = 0x%02x, Observed = 0x%02x, XOR = 0x%02x.

Faulty frame buffer. 

If the problem persists, contact your Sun Service provider. 

6217

RAMDAC test failed. The on-screen image in sep 4 mode is incorrect.

6218

RAMDAC test failed. The on-screen image in sep 8 mode is incorrect.

6219

RAMDAC test failed. The on-screen image in combined mode is incorrect.

6220

ioctl(2) failed trying to read Overlay WID LUT.

Possible hardware failure, more likely a software driver error. 

Reinstall software first, if failure continues, see a System Administrator or your authorized Sun service provider. 

6221

ioctl(2) failed trying to read Primary WID LUT.

6222 

Couldn't bind afbtest and its threads to processor# data.

User does not have permission or System error. 

If the problem persists, contact you system administrator, or an authorized Sun service provider. 

6230

L-core checksum mismatch, L-core Checksum of Float #data = 0xvalue

Possible hardware failure. 

If the problem persists, contact your Sun Service provider 

6231

S-core checksum mismatch, S-core Checksum of Float #data = 0xvalue

6232

F-core checksum mismatch, F-core Checksum of Float #data = 0xvalue

6233

F-core SRAM error in Float #data, Failing address = 0xvalue,

expected data = 0xvalue, actual data = 0xvalue, XOR of expected and actual data = 0xvalue, F-core checksum = 0xvalue

6234

L-core SRAM error in Float #data, Failing address = 0xvalue,

expected data = 0xvalue, actual data = 0xvalue, XOR of expected and actual data = 0xvalue, L-core checksum = 0xvalue

6235

S-core SRAM error in Float #data, Failing address = 0xvalue

expected data = 0xvalue, actual data = 0xvalue, XOR of expected and actual data = 0xvalue, S-core checksum = 0xvalue

6300 

Couldn't reset UARTn

Faulty UART 

or Some other application/test is using the UARTn

Try stopping other applications/tests that use the UART. If the problem persists, contact your authorized Sun service provider. 

6301 

UART memory test failed. Error occurred in memory of UARTn.

data at location 0xvalue expected 0xvalue = data actual data = data

Faulty UART. 

Or some other application/test is using the UART. 

 

Try stopping other applications/tests that use the UART. If the problem persists, contact your authorized Sun service provider. 

6302 

Couldn't baud rate of UARTn data to data.

6303 

UART loopback test failed. Loopback cable is missing on UART n. 

6304 

UART loopback test failed. Couldn't send data through UARTn.

6305 

UART loopback test failed. TxRdy not ready. Timed out while polling UARTn.

6306 

UART loopback test failed. Buffer pointer of UARTn data didn't advance. 

6307 

UART loopback test failed. Couldn't read data from UARTn.

6308 

UART Fill Buffer test for UARTn failed. Transmitter not ready.

6309 

UART Fill Buffer test for UARTn failed. Data mismatch at memory location ox%08x.

8000 

Real user ID of current instance of afbtest is not root. 

Not logged in as root. 

Log in as root. If the problem persists, contact your authorized Sun service provider.