cg14test には、以下の 9 つのテストグループがあります。
MDI および VBC チップ制御レジスタ (MDI and VBC Chip Control Registers)
メモリーチップ (Memory Chips)
MDI チップカーソルレジスタ (MDI Chip Cursor Registers)
MDI チップ CLUT レジスタ (MDI Chip CLUT registers)
DAC チップレジスタ (DAC Chip Registers
MDI チップ XLU レジスタ (MDI Chip XLU Registers)
CG14 ディスプレイ(CG14 Display) (目視のみ)
ビットモードでの MDI チップテストモードリードバック (MDI Chip Testmode Readback in 8-bit mode)
ドライバ IOCTL (Driver IOCTLs)
グループ |
説明 |
---|---|
ハードウェア (テストグループ 1 〜 6) |
/dev/fbs/cgfourteenX を開き、読み書き共有の MDI 制御アドレス空間を割り当て (mmap) ます。割り当てられたアドレス空間への直接書き込みを使用して、ターゲットのテスト位置を修正し、確認のため割り当てられたアドレス空間から読み取り、デバイスをクローズします。 |
画像パターン (テストグループ 7) |
256 色の画像パターンを読み込み、パターンを回転させます。このサブテストは、目視で確認する必要があります。 |
データ伝播 (テストグループ 8)
|
フレームバッファー (FB) メモリーに 4 つのニュートラルデータパターンを読み込み、テストモードリードバックラッチをトリガーするデータをターゲット FB ピクセルに設定します。結果は、垂直ブランキングが行われた後に、リードバックレジスタから読み取られます。2 つの異なるトリガーパターンが FB の各ピクセルに使用されます。4 つの MDI ピクセルパス (A 〜 D) がすべて使用され、トリガーごとのピクセル位置は、グロス MDI 入力データのオープンまたはショート、VRAM SAM アドレス指定、VRAM SAM 転送アドレス指定を検出するようになっています。 画面は、グレースケールまたはカラーの 4 つの水平バーを表示します。これらのバーは、トリガーデータが反転するたびに、および 1 つのラスターパターンのテストが完了したときに変化します。 注 - 解像度と VRAM 容量によっては、8 ビット/ピクセルのモードがテストされます。 |
ドライバ (テストグループ 9)
|
ハードウェアへのドライバ通信の検査に、それまで使用されていない IOCTL コールをすべてテストします。ドライバを呼び出してハードウェア更新を実行し、次に、補完ドライバ読み取りを使用するか、割り当て (mmap) られたアドレス空間を読み取ってスティミュラスと比較し、更新が正常に完了したかどうかを確認します。
cg14test は、(可能な場合には) 各ステップの前後に以下の作業を行うことによって、テストの全体的流れを維持し、視覚的に混乱するのを防止します。
レジスタテストに使用されるデータは、すべて 0、すべて 1、テスト中に各ビットに 1 が移動するなどに最適化されています。 |
MDI および VBC チップ 制御レジスタ (テストグループ 1)
|
マスター制御レジスタのビット 7 〜 0 を書き込み・読み取り照合
|
メモリーチップ (テストグループ 2) |
メモリーチップテストグループは、VRAM テスト、メモリー保持、書き込み回復テストから構成されています。
VRAM テスト データバステストは、18 個の NTA パターン (Nair、Thatte、Abraham のメモリーテスト手法) を使用して、データ障害とアドレス障害がないかどうかを検査します。このテストは、MDI_CHUNKY_XBGR_MAP アクセスモードでのみ実行されます (表 8-2 参照)。 テストは以下のように行われます。ゼロ解除しながら、FB メモリーを昇順にアクセスします。 NTA パターンテスト番号 x は、ある位置を読み取ってデータ y が存在していることを確認します。次に、新しいデータ z をその位置に書き込みます。位置は、FB 内を昇順に移っていきます。
メモリー保持 VRAM データ保持テストは、VRAM の更新に大きな問題がないかどうかを検査します。このテスト中は、更新が有効なため、更新に欠陥がないかぎり、データ保持での問題は発生しません。
このテストは、ビデオを無効にし、すべての VRAM に 0 を書き込み、指定されたメモリー保持時間 (デフォルトは 5 秒) を待ってから、すべての VRAM データを読み取って比較します。このプロセスが f のデータで繰り返されてからビデオが復元され、テストが完了します。
このテストに関係する「R=数値」と「H=数値」の 2 つの新しいコマンド行パラメタがあります。R= を使用して、128 〜 1023 の範囲で更新間隔を指定することができます。更新サイクルと、システムのデフォルトとの間の時間は 123 です。H= を使用して、保持テストの保持時間を秒単位で指定することができます。 |
メモリーチップ (テストグループ 2) (続き)
|
書き込み回復 書き込み回復テストは、すべての EMC 割り当てモードで使用され、データ 0x0000000 を書き込み、直後にそのデータ位置を読み取って VRAM が書き込みから正しく回復できるかどうかを検査します。これをすべての位置に昇順で行います。次に、 2 回目のもう 1 つのパスが、先程とは反対のデータ 0xffffffff を、メモリーバッファーに降順で書き込みます。
EMC 割り当てアクセスモードは以下のとおりです。
|
MDI チップの カーソルレジスタ (テストグループ 3)
|
MDI チップのカーソルレジスタのテスト内容は以下のとおりです。
|
MDI チップの CLUT レジスタ (テストグループ 4) |
MDI チップの CLUT レジスタのテスト内容は以下のとおりです。
|
DAC チップの レジスタ (テストグループ 5)
|
DAC チップのレジスタのテストグループは、RAMDAC レジスタと制御レジスタのテストから構成されています。
RAMDAC レジスタ
制御レジスタ
|
MDI チップの XLUT レジスタ (テストグループ 6) |
チップの XLUT レジスタグループのテスト内容は以下のとおりです。
|
CG14 ディスプレイ(テストグループ 7) (目視のみ) |
このテストは、(それぞれ異なる色で) 画面に 256 個のボックスを表示し、次にCLUT1 エントリをシフトさせて、パターンが左から右に水平に反射したような視覚的印象を与えます。その後、パターンは回転しながら上下してから左から右に水平に反射します。 |
MDI チップのテストモードリードバックレジスタ (テストグループ 8) |
読み取り専用および検証モードでバックレジスタのビット 23 〜 0 を読み取ります。 |
ドライバ IOCTL (テストグループ 9) |
|
ドライバ IOCTL (テストグループ 9) (続き) |
|
表 8-2 cg14test の NTA テストパターン
NTA テスト パターン 番号 = x |
テストデータ = y |
新データ = z |
---|---|---|
1.0 | 0x00000000 | 0x01010101 |
1.5 | 0x01010101 | 0xffffffff |
2.1 | 0xffffffff | 0xf1f1f1f1 |
2.2 | 0xf1f1f1f1 | 0x33333333 |
3.1 | 0x33333333 | 0xf0f0f0f0 |
3.2 | 0xf0f0f0f0 | 0x0f0f0f0f |
4.1 | 0x0f0f0f0f | 0x55555555 |
4.2 | 0x55555555 | 0xaaaaaaaa |
5.1 | 0xaaaaaaaa |
0x05050505 (1x) 0x88888888 (2x) |
5.2 | 0x88888888 | 0xf5f5f5f5 |
6.1 | 0xf5f5f5f5 |
0x00000000 (1x) 0x5f5f5f5f (2x) |
6.2 | 0x5f5f5f5f | 0x11111111 |
7.1 | 0x11111111 |
0x00000000 (1x) 0xcccccccc (2x) |
7.2 | 0xcccccccc | 0xdbdbdbdb |
8.1 | 0xdbdbdbdb | 0x6d6d6d6d |
8.2 | 0x6d6d6d6d | 0x6b6b6b6b |
9.1 | 0x6b6b6b6b | 0x0000000 |
9.2 | 0x00000000 | - |