SunVTS 3.0 Test Reference Manual

Chapter 41 S24 Frame Buffer Test (tcxtest)

Through a series of protocol, memory, acceleration, and colormap tests, tcxtest checks the functionality of the S24 Frame Buffer SBus card used on the SPARCstation5 and checks the FSV (fast SBus video) ASIC on the SPARCstation4 motherboard.


Note -

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


Test Groups

tcxtest has four distinct test groups:

tcxtest Subtests

Table 41-1 tcxtest Subtests

tcxtest Subtests 

Description 

WRC 

By performing multiple writes and reads, and then verifying the results, the WRC test exercises the FIFO inside the S24 chip. The WRC test is composed of these three subtests: test_afx_alt_wr, test_memafx, and test_afx_random. If these tests fail, they print an error message showing the expected and observed data.

Test_afx_alt_wr 

This test performs 16 writes to alternative pages (for example: WR (Page1), WR (Page2), WR (Page1+off), WR (Page2+off), etc.). It then reads back the data and compares it with the expected results. This test also writes to the frame buffer space 16 times, followed by a write to a different page in the frame buffer space. The test then reads this data back and verifies it with the expected results. 

Test_memafx 

The CPU in the SWIFT chip has closely coupled interfaces for the DRAM and the AFX bus. This test checks the arbitration between the two accesses. 

This test performs a number of alternating writes to the AFX and the CPU memory. After writing to different locations, the test reads and verifies the data. By performing an access across the page boundaries, the test covers both the cached and non-cached accesses. 

Test_afx_random 

After writing to one page in the DRAM memory, the test performs a few random writes/reads to random locations in the AFX space. The test then writes to a different page in the DRAM space, where it performs random accesses. 

This test does not perform any data verification, it just checks to see if any of these random accesses caused a time out. 

Constant 

This test writes a data pattern to the whole memory. This pattern is read back and compared with the expected data. Once the memory fill operation is completed, the test reads the memory back and verifies that the value read is correct. 

Address 

This test writes a data pattern (which is same as the value of the address) to the whole memory. This pattern is then read back to verify that it is the correct value. 

Random 

This test writes a random data pattern to the whole memory. This pattern is read back and compared with the expected data. After the memory fill operation is completed, the test reads the memory and verifies the values read are correct. 

Blit 

This test has two parts; the raw blit test and the user blit test.

The raw blit test draws a 64x64x24 pixel image at the top-left corner of screen. Next it blits the image to the screen. The destination images are read back and compared with the original image to verify the raw blit operation has run correctly.

The user blit test draws a 64x64x24 pixel image at the top left corner of screen. It then blits the image to the screen. The destination images are read back and compared with the original image. The user blit test is the same as the raw blit test, except the user blit test uses the user data space for the blit command.

Stip 

This test performs numerous corner cases for stipple. The test writes to the destination with different data values using a stipple operation. The destination data is read back and verified. For the fast SBus video (SV), the following is checked: 

  • Walks 1 through pixel mask

  • Walks 1 through ROP bits

  • Walks 1 through destination byte

  • Walks 1 through IDX byte

Cursor (does not apply to SPARCstation 4) 

This test performs a data register regression test. It writes a walking 1 pattern to the cursor data registers. The data is then read back and verified with the expected results. The test is repeated using a walking 0 as the data pattern 

Colormap 

Loads all locations in the colormap with varying values of RGB. 

Note: If the system being tested has a monochrome or greyscale monitor, visual color problems are undetectable. 

 

 

tcxtest Options

FB Locking is the only test parameter options for this test. See the section about testing multiple frame buffers in the SunVTS 3.0 User's Guide for details.

  1. Click enable or disable to configure Frame Buffer locking.

    Figure 41-1 tcxtest Option Menu

    Graphic

tcxtest Test Modes

Available only in the Functional test mode. Functional test is the default for tcxtest. tcxtest runs the appropriate subtests for the hardware platform being tested.

tcxtest Command Line Syntax

/opt/SUNWvts/bin/tcxtest standard_arguments -o dev=device_name,lock=E(nable)/D(isable), X=bit_mode,T=test,S=[dfb8, dfb24, dfb32]

Table 41-2 tcxtest Command Line Syntax

Argument 

Explanation 

dev=device_name

Specifies the filename of the device to be tested, for example: dev=tcx0.

lock=E(nable)/D(isable)

Enables or disables the window system locking option. See the section about Testing Frame Buffers in SunVTS 3.0 User's Guide for details. Do not use when device is the window system display.

X=bit_mode

Specifies the data transfer size; supported values are: 

 

8 byte 16 short 32 long 64 double word

T=test

Specifies a particular test; to specify an individual test, replace test with:

 

a =Address c =Constant r =Random b =Blit s =Stipple h =Cursor w =WRC

Note: When you select either the Blit or Stipple test, both the User and Raw mode tests are run.

S=[dfb8, dfb24, dfb32]

Specifies which frame buffer memory space to use. 

-dfb8 Dumb frame buffer 8-bit space. Memory is accessed only by bytes.

-dfb24 Dumb frame buffer 24-bit space. Memory is accessed only by 24-bit reads and writes.

-dfb32 Dumb frame buffer 8-bit space. Memory is accessed by 8-bit reads and writes.


Note -

64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname. If a 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".


tcxtest Error Messages

Table 41-3 tcxtest Error Messages

 

Error Message 

Probable Cause(s) 

Recommended Action 

6000

FBIOGATTR failed in is_24bit subroutine

Driver not installed. 

Examine system message files (/var/adm/messages) for other information.

OS driver problem. 

 

AFX bus error. 

 

6010

Colormap failure, Address: address, red, Expected: value Observed: value

Bad RAMDAC. 

Replace the frame buffer card. 

Bad a24 board. 

Examine system message files (/var/adm/messages) for other information.

AFX bus error. 

 

6011

Colormap failure, Address: address, green, Expected: value Observed: value

Bad RAMDAC. 

Replace the frame buffer card. 

Bad a24 board. 

Examine system message files (/var/adm/messages) for other information.

AFX bus error 

 

6012

Colormap failure, Address: address, blue, Expected: value Observed: value

Bad RAMDAC. 

Replace the frame buffer card. 

Bad a24 board. 

Examine system message files (/var/adm/messages) for other information.

AFX bus error. 

 

6013

THC Cursor Regression failed Address: address, Expected: value, Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6014

Can't clear frame buffer, dst_start: address, src_start: address, Address: value, Observed: value Expected: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6015

Frame buffer pattern test failed, dst_space: address, src_space: address, check_x = value, check_y = value, Address: value, Observed: value Expected: value

Bad a24 board. 

Replace frame buffer card 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

 

6016

Can't clear frame buffer pattern, dst_space: address, src_space: address, check_x: value, check_y: value, Address: value Observed: value Expected: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

 

6017

Can't clear frame buffer after write, Address: value, Expected: value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6018

Raw Blit test failed, Offset: address, Expected: value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6019

Blit test failed CHECKING, Offset: address, Expected: value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6020

Blit test failed, Offset: value, Expected: value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6021

Blit accel test failed. Offset: value, Expected:value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6022

Stipple test failed. Offset: address, Expected:value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6025

Raw Stipple test failed. Offset: address, Expected:value Observed: value

Bad a24 board. 

Replace the frame buffer card. 

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

6027

Frame buffer pattern test miscompare, y: value x: value Observed: value Expected: value Address: value

Bad RAMDAC. 

Replace the frame buffer card. 

Bad a24 board. 

Examine system message files (/var/adm/messages) for other information.

AFX bus error. 

 

6029

Afx protocol test message Expected: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6030

Null allocation to membase

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6031

Afx_mem test failure, Address: address, Expected: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6032

Afx_mem Mem test failure, Address+0x4000 Value: value, Exp 0x5555aaaa

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6033

Pattern test failed in Byte mode for DFBvalue. Offset: address, Expected: value OBserved: value xor(value)

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6034

Pattern test failed in Short mode for DFBvalue. Offset: value, Expected: value OBserved: value xor(value)

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6035

Pattern test failed in Long mode for DFBvalue. Offset: value, Expected: value OBserved: value xor(value)

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6036

Pattern test failed in Long mode for DFBvalue Offset: value, Expected: value OBserved: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

Examine system message files (/var/adm/messages) for other information.

6039

Random test failed in Byte mode for DFvalue, Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

 

Bad a24 board. 

 

Bad CPU board. 

 

6040

Random test failed in Short mode for DFBvalue, Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6041

Random test failed in Long mode for DFBvalue, Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6042

Pattern test failed in Dblword mode for DFBvalue, Offset: value, Expected: value Observed:value, xor:value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6043

Address test failed in Char mode for DFBvalue. Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6044

Address test failed in Short mode for DFBvalue, Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6045

Address test failed in Long mode for DFBvalue, Offset: value, Expected: value Observed: value xor: value

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6046

Address test failed in Dblword mode for DFBvalue, Offset: value, Expected: value Observed: value xor: value>

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

6047

Verifying Double:word writes

AFX bus error. 

Examine system message files (/var/adm/messages) for other information.

Bad a24 board. 

 

Bad CPU board. 

 

8000

Open failure for device device name

Driver not installed. 

Examine system message files (/var/adm/messages) for other information.

OS driver problem. 

 

AFX bus error. 

 

8001

Pattern test failed in Long mode, Offset: value, Expected: value Observed: value

Driver not installed. 

Examine system message files (/var/adm/messages) for other information.

AFX bus error. 

 

Bad CPU board. 

 

8002

can't acquire console semaphor

Not enough memory. 

Examine system message files (/var/adm/messages) for other information.

Not enough swap space. 

 

8003

XCreateSimpleWindow failed

Not enough memory. 

Examine system message files (/var/adm/messages) for other information.

Not enough swap space. 

 

8004

Multibuffering extension does not exists

Not enough memory. 

Examine system message files (/var/adm/messages) for other information.

Not enough swap space. 

 

8005

Couldn't create enough buffers

Not enough memory. 

Examine system message files (/var/adm/messages) for other information.

Not enough swap space.