* Incorrect 80 wire detection with amd 760mpx & 2.4.21-pre4-ac7
@ 2003-03-02 0:54 Nicholas Wourms
2003-03-02 2:16 ` Alan Cox
0 siblings, 1 reply; 3+ messages in thread
From: Nicholas Wourms @ 2003-03-02 0:54 UTC (permalink / raw)
To: linux-kernel
FYI:
I suspect that:
http://marc.theaimsgroup.com/?l=linux-kernel&m=104619727013220&w=2
is related to my problem.
Anyhow, I'm using a UDMA5 WesternDigital drive on a ASUS
K7M266-D motherboard. With a plain, stock 2.4.20 kernel,
the viper driver properly recognizes which channel has the
80 wire cable (in my case ide0). The hard disk is the
primary master, a cd-r drive is the primary slave, and a zip
drive is the secondary slave. I can successfully set UDMA5
with hdparm without any problems. However, after upgrading
to 2.4.21-pre4-ac7, I noticed that the drive was stuck at
UDMA2. Checking /proc/ide/amd74XX yeilds some unexpected
results:
----------AMD BusMastering IDE Configuration----------------
Driver Version: 2.9
South Bridge: Advanced Micro Devices
[AMD] AMD-768 [Opus] IDE
Revision: IDE 0x4
Highest DMA rate: UDMA100
BM-DMA base: 0xd800
PCI clock: 33.3MHz
-----------------------Primary IDE-------Secondary IDE------
Prefetch Buffer: yes yes
Post Write Buffer: yes yes
Enabled: yes yes
Simplex only: no no
Cable Type: 40w 80w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: UDMA UDMA UDMA PIO
Address Setup: 30ns 30ns 30ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 90ns 90ns 30ns 30ns
Data Active: 90ns 90ns 90ns 330ns
Data Recovery: 30ns 90ns 30ns 270ns
Cycle Time: 60ns 60ns 60ns 600ns
Transfer Rate: 33.3MB/s 33.3MB/s 33.3MB/s 3.3MB/s
It appears that the driver has got it backwards, identifying
my 80 wire cable as a 40 wire cable and visa-versa. As I
mentioned, this is completely opposite to the behavior of
2.4.20. I've poked around the source, but I can't come up
with anything new to what the other person discovered.
Trying to pass ide0=ata66 doesn't seem to have any effect on
the situation. I can provide further information upon
request, but I don't think it will be necessary at this point.
Cheers,
Nicholas
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Incorrect 80 wire detection with amd 760mpx & 2.4.21-pre4-ac7
2003-03-02 0:54 Incorrect 80 wire detection with amd 760mpx & 2.4.21-pre4-ac7 Nicholas Wourms
@ 2003-03-02 2:16 ` Alan Cox
2003-03-03 15:44 ` Vojtech Pavlik
0 siblings, 1 reply; 3+ messages in thread
From: Alan Cox @ 2003-03-02 2:16 UTC (permalink / raw)
To: Nicholas Wourms; +Cc: Linux Kernel Mailing List
On Sun, 2003-03-02 at 00:54, Nicholas Wourms wrote:
> FYI:
> I suspect that:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=104619727013220&w=2
> is related to my problem.
>
> Anyhow, I'm using a UDMA5 WesternDigital drive on a ASUS
> K7M266-D motherboard. With a plain, stock 2.4.20 kernel,
> the viper driver properly recognizes which channel has the
Yep. I'll apply the obvious fix if Vojtech doesn't. Its on the known
list
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Incorrect 80 wire detection with amd 760mpx & 2.4.21-pre4-ac7
2003-03-02 2:16 ` Alan Cox
@ 2003-03-03 15:44 ` Vojtech Pavlik
0 siblings, 0 replies; 3+ messages in thread
From: Vojtech Pavlik @ 2003-03-03 15:44 UTC (permalink / raw)
To: Alan Cox; +Cc: Nicholas Wourms, Linux Kernel Mailing List
[-- Attachment #1: Type: text/plain, Size: 571 bytes --]
On Sun, Mar 02, 2003 at 02:16:08AM +0000, Alan Cox wrote:
> On Sun, 2003-03-02 at 00:54, Nicholas Wourms wrote:
> > FYI:
> > I suspect that:
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=104619727013220&w=2
> > is related to my problem.
> >
> > Anyhow, I'm using a UDMA5 WesternDigital drive on a ASUS
> > K7M266-D motherboard. With a plain, stock 2.4.20 kernel,
> > the viper driver properly recognizes which channel has the
>
> Yep. I'll apply the obvious fix if Vojtech doesn't. Its on the known
> list
Obvious fix attached.
--
Vojtech Pavlik
SuSE Labs
[-- Attachment #2: obvious-fix.diff --]
[-- Type: text/plain, Size: 1082 bytes --]
--- linux-2.4.20-pre4-ac/drivers/ide/pci/amd74xx.c Fri Feb 28 17:05:25 2003
+++ linux-2.4.20-pre4-amd8111/drivers/ide/pci/amd74xx.c Fri Feb 28 17:19:37 2003
@@ -1,5 +1,5 @@
/*
- * Version 2.9
+ * Version 2.10
*
* AMD 755/756/766/8111 and nVidia nForce IDE driver for Linux.
*
@@ -103,7 +103,7 @@
amd_print("----------AMD BusMastering IDE Configuration----------------");
- amd_print("Driver Version: 2.9");
+ amd_print("Driver Version: 2.10");
amd_print("South Bridge: %s", bmide_dev->name);
pci_read_config_byte(dev, PCI_REVISION_ID, &t);
@@ -309,7 +309,8 @@
case AMD_UDMA_100:
pci_read_config_byte(dev, AMD_CABLE_DETECT, &t);
- amd_80w = ((u & 0x3) ? 1 : 0) | ((u & 0xc) ? 2 : 0);
+ pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
+ amd_80w = ((t & 0x3) ? 1 : 0) | ((t & 0xc) ? 2 : 0);
for (i = 24; i >= 0; i -= 8)
if (((u >> i) & 4) && !(amd_80w & (1 << (1 - (i >> 4))))) {
printk(KERN_WARNING "AMD_IDE: Bios didn't set cable bits corectly. Enabling workaround.\n");
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-03-03 15:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-02 0:54 Incorrect 80 wire detection with amd 760mpx & 2.4.21-pre4-ac7 Nicholas Wourms
2003-03-02 2:16 ` Alan Cox
2003-03-03 15:44 ` Vojtech Pavlik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox