2002-06-26 21:38:14

by Stanislav Brabec

[permalink] [raw]
Subject: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

Hallo,

I have been experimenting with AMD disconnect with my VIA KT266 based
MSI K7T266Pro (MS-6380).

LVCool does not yet support KT266, method discussed in LKML in past
(http://cip.uni-trier.de/nofftz/linux/Athlon-Powersaving-HOWTO.html)
does not activate low power mode on my mainboard. The only bit set by
this patch is already set probably by BIOS of my motherboard and does
not help. So I have checked VCool (http://vcool.occludo.net/) & Wine &
lspci and found following bit changes:

enable:
setpci -v -H1 -s 0:0.0 70=86
setpci -v -H1 -s 0:0.0 95=1e
disable:
setpci -v -H1 -s 0:0.0 70=82
setpci -v -H1 -s 0:0.0 95=1c

The result is 15 degrees temperature decrease on low system load!

I don't know exactly, what I am doing (and chipset docs are not
available), explanation is welcome, (un)success stories for other
motherboards too.

It works with both APM and ACPI.


Stability issues:

Allthrough I have experienced visible unstability of video voltage
(unstability of white on PCI video card) on periodic high load
(e. g. software OpenGL screensaver), the machine seems to be stable
for one week. No sound skips nor DMA slowdown was observed.

For unknown reasons, the system is stable only for whole number in
processor multiplier. For half-number multiplier system sometimes
crashes.


Notes:

1)
I have no feedback from VCool author (Martin Peters <[email protected]>).

2)
The method discussed in past
(by Daniel Nofftz <[email protected]>), which should work with
ACPI (but not for me) is:

VIA KT133/133A a KX133:
enable: setpci -v -H1 -s 0:0.0 52=EB
disable: setpci -v -H1 -s 0:0.0 52=6B

VIA KT266/266A:
enable: setpci -v -H1 -s 0:0.0 92=EB
disable: setpci -v -H1 -s 0:0.0 92=6B

3)
You can see also Fan Speed Control Daemon (stupid AWK script, but working):
http://www.penguin.cz/~utx/fanscd

--
Stanislav Brabec
http://www.penguin.cz/~utx


2002-06-27 17:22:27

by Alan

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

> For unknown reasons, the system is stable only for whole number in
> processor multiplier. For half-number multiplier system sometimes
> crashes.

See the CPU errata document - that one is known

2002-06-27 17:33:06

by Martin Knoblauch

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

>Hallo,
>
>
>I have been experimenting with AMD disconnect with my VIA KT266 based
>MSI K7T266Pro (MS-6380).
>
>
>LVCool does not yet support KT266, method discussed in LKML in past
>(http://cip.uni-trier.de/nofftz/linux/Athlon-Powersaving-HOWTO.html)
>does not activate low power mode on my mainboard. The only bit set by
>this patch is already set probably by BIOS of my motherboard and does
>not help. So I have checked VCool (http://vcool.occludo.net/) & Wine &
>lspci and found following bit changes:
>
>
>enable:
>setpci -v -H1 -s 0:0.0 70=86
>setpci -v -H1 -s 0:0.0 95=1e
>disable:
>setpci -v -H1 -s 0:0.0 70=82
>setpci -v -H1 -s 0:0.0 95=1c
>
>
>The result is 15 degrees temperature decrease on low system load!

I can attest that this also works on a Biostar M7VIF-X (KT333). Idle
temperature of the XP2100+ is down to 54-55 degC from 68-72 degC. And the box
is a bit more silent.

Martin
--
----------------------------------
Martin Knoblauch
[email protected]
http://www.knobisoft.de

2002-06-27 20:50:45

by Wayne Whitney

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

In mailing-lists.linux-kernel, you wrote:

> enable:
> setpci -v -H1 -s 0:0.0 70=86
> setpci -v -H1 -s 0:0.0 95=1e
>
> disable:
> setpci -v -H1 -s 0:0.0 70=82
> setpci -v -H1 -s 0:0.0 95=1c
>
> The result is 15 degrees temperature decrease on low system load!
> I don't know exactly, what I am doing (and chipset docs are not
> available), explanation is welcome, (un)success stories for other
> motherboards too.

Well, from a WPCREDIT file I found floating around the net
(11063099.pcr):

[70:2]=PCI Master Read Buffering 0=disable 1=enable
[92:7]=Disc when STPGNT# Detect 0=disable 1=enable
[95:1]=HALT Command Detect 0=disable 1=enable

My understanding is that the Athlon CPU only turns on power savings
when the chipset does a "bus disconnect". [92:7] enables bus
disconnect when the CPU issues STPGNT; [95:1] enables it when the
chipset issues HALT. Both the APM and ACPI idle loops at least do a
HALT, so with [95:1] set you will see power savings when the machine
is idle. As for an idle loop that does STPGNT, apparently only the
ACPI C2 idle loop does that, so you will see power savings from
setting just [92:7] only when your system supports the ACPI C2 state
and you compile ACPI into the kernel.

As for [70:2], my understanding is that without it, PCI audio cards
sometimes don't work when bus disconnect is enabled, they generate
only noise. This must be a more general interaction between bus
disconnect and the PCI bus, but which is mostly just showing up with
PCI audio cards. Reportedly, setting [70:2] usually fixes PCI audio
card noise.

As for me, I'm using an ASUS A7V333 with the Via KT333 chipset, which
has the same device id and register layout as the KT266 chipset.
Unfortunately this board doesn't support the ACPI C2 state in its BIOS
ACPI tables, so I use disconnect on HALT to enable power savings. The
only side effect I have noticed is that the on-board PCI audio chip
acquires a quiet, high-pitched tone, presumably do to electrical noise
from the CPU. I don't need to use PCI Master Read Buffering, I guess
because the PCI audio chip is on board. I haven't tried a PCI audio
card.

I'd be very happy if anyone could tell me how to do any of these: get
rid of the high-pitched noise with disconnect on HALT; have an idle
loop that uses STPGNT when my board doesn't support ACPI C2; hack the
ACPI tables in the BIOS to support ACPI C2, since the chipset does
support it.

Cheers, Wayne

2002-06-27 21:13:54

by Kevin P. Fleming

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

Same motherboard here (except the Pro2 RU version, with USB 2.0 and
onboard Promise RAID). Using an Athlon Thunderbird 1GHz, 100MHz FSB
(10.0 multiplier).

So far looks good, has dropped CPU temp from 52C to 43C in a few
minutes, and this box is otherwise warm due to having four 7200RPM ATA
drives and full slots... I don't have ACPI in my kernel, but I do have
APM (although with only default options turned on).

I have no sound or X stuff on this system, so those things are not a
problem... I do have a Gigabit Ethernet card, though (NS83820-based), so
I will be curious if that is affected at all.

Stanislav Brabec wrote:
> Hallo,
>
> I have been experimenting with AMD disconnect with my VIA KT266 based
> MSI K7T266Pro (MS-6380).
>
> LVCool does not yet support KT266, method discussed in LKML in past
> (http://cip.uni-trier.de/nofftz/linux/Athlon-Powersaving-HOWTO.html)
> does not activate low power mode on my mainboard. The only bit set by
> this patch is already set probably by BIOS of my motherboard and does
> not help. So I have checked VCool (http://vcool.occludo.net/) & Wine &
> lspci and found following bit changes:
>
> enable:
> setpci -v -H1 -s 0:0.0 70=86
> setpci -v -H1 -s 0:0.0 95=1e
> disable:
> setpci -v -H1 -s 0:0.0 70=82
> setpci -v -H1 -s 0:0.0 95=1c
>
> The result is 15 degrees temperature decrease on low system load!
>
> I don't know exactly, what I am doing (and chipset docs are not
> available), explanation is welcome, (un)success stories for other
> motherboards too.
>
> It works with both APM and ACPI.
>
>

2002-06-27 23:41:31

by Tobias Diedrich

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

Wayne Whitney wrote:

> Well, from a WPCREDIT file I found floating around the net
> (11063099.pcr):
>
> [70:2]=PCI Master Read Buffering 0=disable 1=enable
> [92:7]=Disc when STPGNT# Detect 0=disable 1=enable
> [95:1]=HALT Command Detect 0=disable 1=enable

Didn't know about register 70 until now, but I don't seem to need it...

I've been enabling this in a boot script (setpci -d 1106:3099 92=f9 95=1a)
ever since I bought the Board (Asus A7V266E with Athlon XP1700+).

Both the Enermax 300W powersupply and the power regulators on the Asus
board seem to take the extra stress well enough.
Temperature drops from ~70 degree to ~50 degree (which the board
measures using an external sensors, not the cpu diode), however
I'm shutting down the system every so often and because of that
my uptime is seldom more than 7 days and I can't say much about long
time stability. (Well, at the moment at least)

The TV Card does not like this at all, both the extra noise on the power
lines and the increased latency the PCI bus seems to have when this is
enabled. When I'm using the pci soundcard at the same time, whole
scanlines get missed. If I do a hdparm -tT /dev/hda in addition to that
I can reliably crash the system as long as this is enabled.
I also see a visible performance drop for the network card. (But not too
much, maybe 10%)

--
Tobias PGP: 0x9AC7E0BC
Shortly into her spell, the No-Camping Enforcer appeared behind her, again
unnoticed by Sakura.

2002-07-01 07:35:56

by Daniel Nofftz

[permalink] [raw]
Subject: Re: another way to activate AMD disconnect on VIA KT266 (aka cooling bits)

hi there ....
sorry that i answer so late on this topic :)

On Thu, 27 Jun 2002, Wayne Whitney wrote:

> In mailing-lists.linux-kernel, you wrote:
>
> > enable:
> > setpci -v -H1 -s 0:0.0 70=86
> > setpci -v -H1 -s 0:0.0 95=1e
> >
> > disable:
> > setpci -v -H1 -s 0:0.0 70=82
> > setpci -v -H1 -s 0:0.0 95=1c
> >
> > The result is 15 degrees temperature decrease on low system load!
> > I don't know exactly, what I am doing (and chipset docs are not
> > available), explanation is welcome, (un)success stories for other
> > motherboards too.

interesting ... on my computer this does not work, but i have acpi system
enabled and use my own kernel patch. (which enables "disconnect enable on
STPGNT detect")

>
> Well, from a WPCREDIT file I found floating around the net
> (11063099.pcr):
>
> [70:2]=PCI Master Read Buffering 0=disable 1=enable
> [92:7]=Disc when STPGNT# Detect 0=disable 1=enable
> [95:1]=HALT Command Detect 0=disable 1=enable

ok ... that is the same information and source of information i have
...

> My understanding is that the Athlon CPU only turns on power savings
> when the chipset does a "bus disconnect". [92:7] enables bus
> disconnect when the CPU issues STPGNT; [95:1] enables it when the
> chipset issues HALT. Both the APM and ACPI idle loops at least do a

this is new for me ... in my documentation on the kt266a there stands only
"reserved"for the 95:1 ... interesting to know ...

> HALT, so with [95:1] set you will see power savings when the machine
> is idle. As for an idle loop that does STPGNT, apparently only the
> ACPI C2 idle loop does that, so you will see power savings from
> setting just [92:7] only when your system supports the ACPI C2 state
> and you compile ACPI into the kernel.

the acpi c2 should be supported by many of the newer athlon boards ... but
some don't support it ... maybe cause they think it is not secure cause of
the athlon cpu bugs in this issue (athlon xp should not be affected by
this)

>
> As for [70:2], my understanding is that without it, PCI audio cards
> sometimes don't work when bus disconnect is enabled, they generate
> only noise. This must be a more general interaction between bus
> disconnect and the PCI bus, but which is mostly just showing up with
> PCI audio cards. Reportedly, setting [70:2] usually fixes PCI audio
> card noise.
>

yes .. .this is the same i heared ... but it does not work for everyone
...

> As for me, I'm using an ASUS A7V333 with the Via KT333 chipset, which
> has the same device id and register layout as the KT266 chipset.
> Unfortunately this board doesn't support the ACPI C2 state in its BIOS
> ACPI tables, so I use disconnect on HALT to enable power savings. The
> only side effect I have noticed is that the on-board PCI audio chip
> acquires a quiet, high-pitched tone, presumably do to electrical noise
> from the CPU. I don't need to use PCI Master Read Buffering, I guess
> because the PCI audio chip is on board. I haven't tried a PCI audio
> card.
>
> I'd be very happy if anyone could tell me how to do any of these: get
> rid of the high-pitched noise with disconnect on HALT; have an idle

sorry ... no idea ...

> loop that uses STPGNT when my board doesn't support ACPI C2; hack the

hmmm ... there is a kernel patch out there, which replaces the apm idle
loop with an idle loop which issues STPGNT ... but this patch is only for
kt133 ... (-> lvcool kernel patch) ... maybe you could take this patch,
and use the altered idle loop for your system ...


daniel

# Daniel Nofftz .......................... #
# Sysadmin CIP-Pool Informatik ........... #
# University of Trier(Germany), Room V 103 #

The resonable man adapts himself to the world. The unreasonable
man persists in trying to adapt the world to himself. It follows
that all progress depends on the unresaonable man.
George Bernard Shaw