All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carsten Leonhardt <leo@arioch.oche.de>
To: VDA <VDA@port.imtp.ilyichevsk.odessa.ua>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Stomping on Athlon bug
Date: 13 Sep 2001 13:58:41 +0200	[thread overview]
Message-ID: <87heu7s3ny.fsf@cymoril.oche.de> (raw)
In-Reply-To: <17613305632.20010913121304@port.imtp.ilyichevsk.odessa.ua>
In-Reply-To: <17613305632.20010913121304@port.imtp.ilyichevsk.odessa.ua>

VDA <VDA@port.imtp.ilyichevsk.odessa.ua> writes:

Here the values from my Tyan Trinity KT-A (S2390B), BIOS v1.09, which
doesn't work with optimisation.

Their BIOS "changelog":

# New features and Fixes :
# Add the VIA chipset registration update, and 1.4GHz CPU
# support.

As I have a 1.4GHz CPU, I have no intention to test an earlier BIOS...

Some of these Registers are configurable in the BIOS setup.


> YH 00: 06 11 05 03 06 00 10 22 03 00 00 06 00 00 00 00
> 3R 00: 06 11 05 03 06 00 10 22 03 00 00 06 00 08 00 00
>                                               ^^
Tyan 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00

> Device 0 Offset D - Latency Timer (00h)(RW)
> Specifies the latency timer value in PCI bus clocks.
> 7-3 Guaranteed Time Slice for CPU. default=0
> 2-0 Reserved (fixed granularity of 8 clks). always read 0
>     Bits 2-1 are writeable but read 0 for PCI specification
>     compatibility. The programmed value may be read
>     back in Offset 75 bits 5-4 (PCI Arbitration 1).
> *** 3R BIOS: bits 7-3=00001
> *** YH BIOS: bits 7-3=00000
> *** TODO: probably does not matter
> 
> YH 10: 08 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00
> 3R 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
>        ^^^^^^^^^^^

Tyan 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00

> Device 0 Offset 13-10 - Graphics Aperture Base
>     (00000008h) (RW)
> 31-28 Upper Programmable Base Address Bits. default=0
> 27-20 Lower Programmable Base Address Bits. default=0
>     These bits behave as if hardwired to 0 if the
>     corresponding Graphics Aperture Size register bit
>     (Device 0 Offset 84h) is 0.
>     27 26 25 24 23 22 21 20 (This Register)
>      7  6  5  4  3  2  1  0 (Gr Aper Size)
>     RW RW RW RW RW RW RW RW 1M
>     RW RW RW RW RW RW RW  0 2M
>     RW RW RW RW RW RW  0  0 4M
>     RW RW RW RW RW  0  0  0 8M
>     RW RW RW RW  0  0  0  0 16M
>     RW RW RW  0  0  0  0  0 32M
>     RW RW  0  0  0  0  0  0 64M
>     RW  0  0  0  0  0  0  0 128M
>      0  0  0  0  0  0  0  0 256M
> 19-0 Reserved. always reads 00008
>     Note: The locations in the address range defined by this
>     register are prefetchable.
> 
> *** 3R BIOS: addr: E0000000
> *** YH BIOS: addr: D0000000
> *** TODO: probably does not matter
> 
> YH 50: 16 f4 eb
> 3R 50: 16 f4 6b
>              ^^

Tyan 50: 17 a3 eb b4 47 89 18 18 88 00 08 10 14 18 18 18

> Device 0 Offset 52 - S2K Timing Control III..................RW
>     The contents of this register are preserved during suspend.
>     Bits 2-0 have no default value.
> 7 Disconnect Enable When STPGNT Detected
> 6 Write to Read Delay. default = 1
> 5-4 Read to Write Delay. default = 11b
> 3 1ns Skew Between Even / Odd Clock Group For Data (Strapped
>   from MAB3)
>     0 Disable (default if no strap on MAB3)
>     1 Enable
> 2-0 Write Data Delay from SYSDC to CPU Data
>   Output (WrDataDly)
> *** 3R BIOS: bit 7=0
> *** YH BIOS: bit 7=1 
> *** TODO: try to set bit 7 to 1.
> 
> YH 50: .. .. .. b4 06
> 3R 50: .. .. .. b4 47
>                    ^^

Tyan 50: 17 a3 eb b4 47 89 18 18 88 00 08 10 14 18 18 18

> Device 0 Offset 54 - BIU Control (RW)
> 7 SDRAM Self-Refresh When Disconnected
>     0 Disable (default)  1 Enable
> 6 Probe Next Tag State T1 When PCI Master Read
>  Cacheing Enabled
>     0 Disable (default)  1 Enable
> 5 S2K Data Input Buffer
>     0 Disable (default
> )  1 Enable
> 4 S2K Data Output Enable Timing
>     0 1T Setup / Hold (default)  1 1/2T Setup / Hold
> 3 DRAM Speculative Read for PCI Master Read
>  (Before Probe Result is Known)
>     0 Disable (default)  1 Enable
> 2 PCI Master Pipeline Request
>     0 Disable (default)  1 Enable
> 1 PCI-to-CPU / CPU-to-PCI (P2C / C2P)
>  Concurrency
>     0 Disable (default)  1 Enable
> 0 Fast Write-to-Read Turnaround
>     0 Disable (default)  1 Enable
> *** 3R BIOS: enabled 6,2,1,0 bits only.
> *** YH BIOS: enabled   2,1   bits only.
> *** TODO: try disabling bits 6,0.
>     bit 0 is most interesting. Try it first.

bit 0 is configurable in the bios setup, setting it to 1 didn't help

> YH 50: .. .. .. .. .. 00 04 04 00 00 01 02 03 04 04 04
> 3R 50: .. .. .. .. .. 89 04 04 00 00 01 02 03 04 04 04
>                       ^^

Tyan 50: 17 a3 eb b4 47 89 18 18 88 00 08 10 14 18 18 18

> Device 0 Offset 55 - Debug (RW)
> 7-0 Reserved (do not program). default = 0
> *** 3R BIOS: non-zero!?
> *** YH BIOS: zero.
> *** TODO: try to set to 0.
> 
> YH 60: 0f 0a 00 20 e4 e4 d4 c4 50 28 65 0d 08 5f 00 00
> 3R 60: 0f 0a 00 20 e4 e4 d4 00 50 08 65 0d 08 5f 00 00
>                                   ^^

Tyan 60: 0f 8a 00 20 e6 e6 d4 c4 51 0c 43 0d 08 5f 00 00

> Device 0 Offset 69 - DRAM Clock Select (00h) (RW)
> 7 Reserved. always reads 0
> 6 DRAM Operating Frequency Faster Than CPU
>     0 DRAM Same As or Equal to CPU (default)
>     1 DRAM Faster Than CPU by 33 MHz
>     Rx68[0] Rx69[6] CPU / DRAM
>           0       0 100 / 100
>           0       1 100 / 133
>           1       0 133 / 133 (default)
>           1       1 -reserved-
> 5 Write Recovery Time For Write With Auto-Precharge
>     0 1T (default)  1 2T
> 4 DRAM Controller Command Register Output
>     0 Disable (default)  1 Enable
> 3 Fast DRAM Precharge for Different Bank
>     0 Disable (default)  1 Enable
> 2 DRAM 4K Page Enable (for 64Mbit DRAM)
>     0 Disable (default)  1 Enable
> 1 DIMM Type
>     0 Unbuffered (default)  1 Registered
> 0 AutoPrecharge on CPU Writeback / TLB Lookup
>     0 Disable (default)  1 Enable
> *** 3R BIOS: bit 5 is 0
> *** YH BIOS: bit 5 is 1
> *** TODO: try setting it back to 1
> 
> YH 70: d4 88 cc 0c 0e 81 d2 00 01 b4 19 02 00 00 00 00
> 3R 70: d8 88 cc 0c 0e 81 d2 00 01 b4 19 02 00 00 00 00
>        ^^

Tyan 70: ce 88 cc 0c 0e 81 d2 00 01 b4 19 02 00 00 00 00

> Device 0 Offset 70 - PCI Buffer Control (00h) (RW)
> 7 CPU to PCI Post-Write
>     0 Disable (default)  1 Enable
> 6 PCI Master to DRAM Post-Write
>     0 Disable (default)  1 Enable
> 5 Reserved. always reads 0
> 4 PCI Master to DRAM Prefetch
>     0 Enable (default)  1 Disable
> 3 Enhance CPU-to-PCI Write
>     0 Normal operation (default)
>     1 Reduce 1 cycle when the CPU-to-PCI buffer
>       becomes available after being full (PCI and AGP buses)
> 2 PCI Master Read Caching
>     0 Disable (default)  1 Enable
> 1 Delay Transaction
>     0 Disable (default)  1 Enable
> 0 Slave Device Stopped Idle Cycle Reduction
>     0 Normal Operation (default)
>     1 Reduce 1 PCI idle cycle when stopped by a
>       slave device (PCI and AGP buses)
> *** 3R BIOS: bit 4=1, 3=0
> *** YH BIOS: bit 4=0, 3=1
> *** TODO: probably doesn't matter
> 
> YH a0: 02 c0 20 00 03 02 00 1f 00 00 00 00 2b 12 00 00
> 3R a0: 02 c0 20 00 03 02 00 1f 00 00 00 00 2f 12 00 00
>                                            ^^

Tyan a0: 02 c0 20 00 07 02 00 1f 00 00 00 00 2f 02 04 63

> Device 0 Offset AC - AGP Control (00h) (RW)
> 7 Reserved. always reads 0
> 6 CPU Stall on AGP Command FIFO GART
>  Address Request
>     0 Disable (default)  1 Enable
> 5 AGP Read Snoop DRAM Post-Write Buffer
>     0 Disable (default)  1 Enable
> 4 GREQ# Priority Becomes Higher When Arbiter is
>  Parked at AGP Master
>     0 Disable (default)  1 Enable
> 3 2X Rate Supported (read also at RxA4[1])
>     0 Not supported (default)  1 Supported
> 2 LPR In-Order Access (Force Fence)
>     0 Fence/Flush functions not guaranteed. AGP
>       read requests (low/normal priority and
>       high priority) may be executed
>       before previously issued write requests
>       (default)
>     1 Force all requests to be executed in order
>       (automatically enables Fence/Flush functions).
>       Low (i.e., normal) priority AGP read requests
>       will never be executed before previously
>       issued writes. High priority AGP read requests
>       may still be executed prior to previously issued
>       write requests as required.
> 1 AGP Arbitration Parking
>     0 Disable (default)
>     1 Enable (GGNT# remains asserted until either
>       GREQ# de-asserts or data phase ready)
> 0 AGP to PCI Master or CPU to PCI Turnaround Cycle
>     0 2T or 3T Timing (default)
>     1 1T Timing
> *** 3R BIOS: bit 2=1
> *** YH BIOS: bit 2=0
> *** TODO: probably doesn't matter
>     
> YH b0: db 63 02
> 3R b0: db 63 1a
>              ^^

Tyan b0: db 63 2a 78 31 ff 00 07 67 00 00 00 00 00 00 00

> Device 0 Offset B2 - AGP Pad Drive / Delay Control (RW)
> 7 GD/GBE/GDS, SBA/SBS Control
>   1.5V (Bit-1 = 0)
>     0 SBA/SBS = no cap (default)
>       GD/GBE/GDS = no cap
>     1 SBA/SBS = no cap
>       GD/GBE/GDS = cap
>   3.3V (Bit-1 = 1)
>     0 SBA/SBS = cap (default)
>       GD/GBE/GDS = no cap
>     1 SBA/SBS = cap
>       GD/GBE/GDS = cap
> 6 Reserved. always reads 0
> 5 S2K Slew Rate Control. strapped from SRASA#
>     0 Enable (default)  1 Disable
> 4 GD[31-16] Staggered Delay
>     0 None (default)  1 GD[31:16] delayed by 1 ns
> 3 Reserved. always reads 0
> 2 AGP Preamble Control
>     0 Disable (default)  1 Enable
> 1 AGP Voltage
>     0 1.5V (default)  1 3.3V
> 0 GDS Output Delay
>     0 None (default)
>     1 GDS[1-0] & GDS[1-0]# delayed by 0.4 ns
>       (GDS1 & GDS1# will be delayed an additional
>       1ns if bit-4 = 1)
> *** 3R BIOS: 1A=00011010
> *** YH BIOS: 02=00000010
> *** TODO: probably doesn't matter
> 
> YH b0: .. .. .. 50 31 ff 80 0a 67 00 00 00 00 00 00 00
> 3R b0: .. .. .. 50 31 ff 80 0b 67 00 00 00 00 00 00 00
>                             ^^

Tyan b0: db 63 2a 78 31 ff 00 07 67 00 00 00 00 00 00 00

> Device 0 Offset B7 - S2K Compensation Result 3 (RO)
> 7-5 Reserved. always reads 0
> 4-0 S2K Strobe Delay from DLL Counter (Auto)
>     default = 0
> *** TODO: readonly. doesn't matter
> 
> YH f0: 00 00 00 00 00 03 03 00 22 00 00 00 00 00 00 00
> 3R f0: 00 00 00 00 00 03 03 00 22 00 00 00 00 80 00 00
>                                               ^^

Tyan f0: 00 00 00 00 00 03 03 00 22 00 00 00 00 80 00 00

> Device 0 Offset FD - Back-DoorControl 2 (00h) ........... RW
> 7-5 Reserved. always reads 0
> 4-0 Max # of AGP Requests. default = 0
>     00000 1 Request
>     00001 2 Requests
>     00010 3 Requests
>     ..... ........
>     11111 32 Requests
>     (see also RxA7 and RxFC[1])
> *** 3R BIOS: 80
> *** YH BIOS: 00
> *** TODO: probably doesn't matter
>     Curious how "always zero" bit 7 happen to become 1

  parent reply	other threads:[~2001-09-13 11:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-13  9:13 Stomping on Athlon bug VDA
2001-09-13 10:06 ` Gergely Tamas
2001-09-13 11:27   ` Gergely Tamas
2001-09-13 10:17 ` Arjan van de Ven
2001-09-13 12:19   ` Jan Niehusmann
2001-09-13 12:21     ` Arjan van de Ven
2001-09-13 14:02       ` Jan Niehusmann
2001-09-13 16:33         ` Eric W. Biederman
2001-09-13 18:09           ` Roberto Jung Drebes
2001-09-13 11:58 ` Carsten Leonhardt [this message]
2001-09-13 15:11 ` Eric W. Biederman
2001-09-14 20:06   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87heu7s3ny.fsf@cymoril.oche.de \
    --to=leo@arioch.oche.de \
    --cc=VDA@port.imtp.ilyichevsk.odessa.ua \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.