C H A P T E R  59

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 SPARCstation 5 and checks the FSV (fast SBus video) ASIC on the SPARCstation 4 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.



For instructions on testing frame buffers, see Testing Frame Buffers.


tcxtest Test Groups

tcxtest has four distinct test groups.

AFX Protocol tests (in 8/16/32/64-bit mode):

Frame Buffer Memory tests (in 8/16/32/64-bit14 mode):

Acceleration tests (both User and Raw modes):

Colormap and Cursor tests:


tcxtest Subtests
TABLE 59-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), and so on. 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

To reach the dialog box below, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system may not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.

FB locking is the only test parameter option for this test. See Testing Frame Buffers for details.

1. Click enable or disable to configure frame buffer locking. etc.

FIGURE 59-1 tcxtest Test Parameter Options Dialog Box

Screenshot of the tcxtest Test Parameter Options dialog box.


tcxtest Test Modes
TABLE 59-2 tcxtest Supported Test Modes

Test Mode

Description

Functional

(Offline)

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 59-3 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 Testing Frame Buffers 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.