linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Nofftz <nofftz@castor.uni-trier.de>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [right one][patch] amd athlon cooling on kt266/266a chipset
Date: Tue, 22 Jan 2002 18:21:18 +0100 (CET)	[thread overview]
Message-ID: <Pine.LNX.4.40.0201221817410.11025-200000@infcip10.uni-trier.de> (raw)

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1444 bytes --]

in the first mail, i forget to append the patch ... this one is the right
mail to look at ... (sorry)


hi there!

a few month ago someone has posted a patch for enabling the disconneect
on STPGND detect function in the kt133/kt133a chipset. for those who don't
know what this does: it sets a bit in a register of the northbridge of the
chipset to enable the power saving modes of the athlon/duron/athlon xp
prozessors.
i did not found any patch which enables this function on an kt266/kt266a
board. so i modified this patch (
http://groups.google.com/groups?q=via_disconnect&hl=en&selm=linux.kernel.20010903002855.A645%40gondor.com&rnum=1
)
to support the kt266 and kt266a chipset to.

now i am looking for people to test the patch and repord, whether it works
allright on other computers than my computer (i tested this patch on an
epox 8kha+ whith an xp1600+).

if you want to test this patch:
1. first apply the patch
2. enable generel-setup -> acpi , acpi-bus-maager , prozessor
   in the kernel config
3. add to the "append" line in /etc/lilo.conf the "amd_disconnect=yes"
statemand (or after reboot enter at the kernel-boot-prompt
"amd_disconnect=yes")
4. build a knew kernel
5. report to me, whether you have problems ...

if the patch gets a good feedback, maybe it is something for the official
kernel tree ?

daniel

# Daniel Nofftz
# Sysadmin CIP-Pool Informatik
# University of Trier(Germany), Room V 103
# Mail: daniel@nofftz.de


[-- Attachment #2: Type: TEXT/PLAIN, Size: 3267 bytes --]

--- linux-2.4.17-orig/drivers/pci/quirks.c	Sun Nov 11 19:09:33 2001
+++ linux/drivers/pci/quirks.c	Tue Jan 22 16:50:05 2002
@@ -21,6 +21,23 @@
 
 #undef DEBUG
 
+/* Power Saving for Athlon/Duron CPUs on Via Chipsets has to be enabled bye 
+ * kernel-boot-option "amd_disconnect=yes" . This is cause it looks like 
+ * there are some stability problems on some boards when this option is 
+ * enabled.
+ */
+
+int enable_amd_disconnect;
+
+static int __init amd_disconnect_setup (char *str) {
+        if(!strncmp(str,"yes",3)) {
+                enable_amd_disconnect=1;
+					                                                }
+        return 1;
+}
+
+__setup("amd_disconnect=", amd_disconnect_setup);
+
 /* Deal with broken BIOS'es that neglect to enable passive release,
    which can cause problems in combination with the 82441FX/PPro MTRRs */
 static void __init quirk_passive_release(struct pci_dev *dev)
@@ -146,6 +163,47 @@
 	printk(KERN_INFO "Applying VIA southbridge workaround.\n");
 }
 
+/* Power Saving for Athlon/Duron/AthonXP CPUs on Via Chipsets.
+ * Found in the net and modified for supporting KT266/KT266A chipsets
+ * by Daniel Nofftz <nofftz@castor.uni-trier.de>
+ * This Funktion must be enabled by kernel booting option "via_disconnect=yes"!
+ */
+
+static void __init quirk_amddisconnect(struct pci_dev *dev)
+{
+	u16 did;
+	u32 res32;
+	
+	if(!enable_amd_disconnect) return;
+
+        pci_read_config_word(dev,PCI_DEVICE_ID,&did);
+
+	
+	if(did==PCI_DEVICE_ID_VIA_8367_0)
+	{
+		pci_read_config_dword(dev,0x92&0xfc,&res32);
+		if ((res32&0x00800000)==0) 
+		{
+			printk(KERN_INFO "Enabling disconnect in VIA northbridge: KT266/266A chipset found.\n");
+			res32|=0x00800000;
+			pci_write_config_dword(dev,0x92&0xfc,res32);
+		} else
+			printk(KERN_INFO "Disconnect already anabled in VIA northbridge.\n");
+
+	}
+	else if((did==PCI_DEVICE_ID_VIA_8363_0)||(did==PCI_DEVICE_ID_VIA_8371_0))
+	{
+		pci_read_config_dword(dev,0x52&0xfc,&res32);
+	        if ((res32&0x00800000)==0) 
+		{	
+			printk(KERN_INFO "Enabling disconnect in VIA northbridge: KT133/KX133 chipset found\n");
+			res32|=0x00800000;
+			pci_write_config_dword(dev,0x52&0xfc,res32);
+		} else
+			printk(KERN_INFO "Disconnect already anabled in VIA northbridge.\n");
+		
+	}
+}
 /*
  *	VIA Apollo VP3 needs ETBF on BT848/878
  */
@@ -485,6 +543,9 @@
 	{ PCI_FIXUP_FINAL,	PCI_VENDOR_ID_VIA,	PCI_DEVICE_ID_VIA_8363_0,	quirk_vialatency },
 	{ PCI_FIXUP_FINAL,	PCI_VENDOR_ID_VIA,	PCI_DEVICE_ID_VIA_8371_1,	quirk_vialatency },
 	{ PCI_FIXUP_FINAL,	PCI_VENDOR_ID_VIA,	0x3112	/* Not out yet ? */,	quirk_vialatency },
+	{ PCI_FIXUP_FINAL,      PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_8367_0,	quirk_amddisconnect },
+        { PCI_FIXUP_FINAL,      PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_8363_0,       quirk_amddisconnect },
+        { PCI_FIXUP_FINAL,      PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_8371_0,       quirk_amddisconnect },
 	{ PCI_FIXUP_FINAL,	PCI_VENDOR_ID_VIA,	PCI_DEVICE_ID_VIA_82C576,	quirk_vsfx },
 	{ PCI_FIXUP_FINAL,	PCI_VENDOR_ID_VIA,	PCI_DEVICE_ID_VIA_82C597_0,	quirk_viaetbf },
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_VIA,	PCI_DEVICE_ID_VIA_82C597_0,	quirk_vt82c598_id },

             reply	other threads:[~2002-01-22 17:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-22 17:21 Daniel Nofftz [this message]
2002-01-24 19:19 ` [right one][patch] amd athlon cooling on kt266/266a chipset Disconnect
2002-01-24 21:44   ` Daniel Nofftz
2002-01-24 23:11     ` Disconnect
2002-01-25 16:49 ` Disconnect
2002-01-25 17:01   ` Mark Hahn
2002-01-28 11:24   ` Daniel Nofftz

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=Pine.LNX.4.40.0201221817410.11025-200000@infcip10.uni-trier.de \
    --to=nofftz@castor.uni-trier.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).