linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
@ 2004-12-05 19:23 Rene Herman
  2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 7+ messages in thread
From: Rene Herman @ 2004-12-05 19:23 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: Linux Kernel

Hi Bart.

I see your 2004-11-01 IDE update:

http://lkml.org/lkml/2004/11/1/158

obsoleted the idex=ata66 option, saying that it "should be handled by 
host drivers needing it". As far as I can see, amd74xx does not handle this?

I do need a way to force an 80c cable on this AMD756 (ATA66 max) board, 
since the BIOS doesn't seem to be setting the cable bits correctly.

Regards,
Rene.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-05 19:23 [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON! Rene Herman
@ 2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
  2004-12-14  6:51   ` Andre Hedrick
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-12-13 21:47 UTC (permalink / raw)
  To: Rene Herman; +Cc: Linux Kernel

On Sun, 05 Dec 2004 20:23:13 +0100, Rene Herman
<rene.herman@keyaccess.nl> wrote:
> Hi Bart.

Hi,
 
> I see your 2004-11-01 IDE update:
> 
> http://lkml.org/lkml/2004/11/1/158
> 
> obsoleted the idex=ata66 option, saying that it "should be handled by
> host drivers needing it". As far as I can see, amd74xx does not handle this?
> 
> I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
> since the BIOS doesn't seem to be setting the cable bits correctly.

Ugh, I checked AMD datasheets and AMD756 doesn't support host
side cable detection.  Well, we can try doing disk side only for it.
[ ATi and ITE (in -ac kernels) drivers are also doing this. ]

--- amd74xx.c.orig	2004-11-02 14:17:14.000000000 +0100
+++ amd74xx.c	2004-12-13 22:41:50.406229168 +0100
@@ -344,10 +344,8 @@
 			break;
 
 		case AMD_UDMA_66:
-			pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
-			for (i = 24; i >= 0; i -= 8)
-				if ((u >> i) & 4)
-					amd_80w |= (1 << (1 - (i >> 4)));
+			/* no host side cable detection */
+			amd_80w = 0x03;
 			break;
 	}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
@ 2004-12-14  6:51   ` Andre Hedrick
  2004-12-14 16:15   ` Rene Herman
  2004-12-15 23:52   ` Alan Cox
  2 siblings, 0 replies; 7+ messages in thread
From: Andre Hedrick @ 2004-12-14  6:51 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: Rene Herman, Linux Kernel


Bart,

Recall there is a mixed breed out there ... some do some don't.
Also I need your snail mail address, I have a case of hardware to send you
way.  Since you have managed to not go insane yet ... I want to help you
get there with ease.

Cheers,

Andre

Andre Hedrick
LAD Storage Consulting Group

On Mon, 13 Dec 2004, Bartlomiej Zolnierkiewicz wrote:

> On Sun, 05 Dec 2004 20:23:13 +0100, Rene Herman
> <rene.herman@keyaccess.nl> wrote:
> > Hi Bart.
> 
> Hi,
>  
> > I see your 2004-11-01 IDE update:
> > 
> > http://lkml.org/lkml/2004/11/1/158
> > 
> > obsoleted the idex=ata66 option, saying that it "should be handled by
> > host drivers needing it". As far as I can see, amd74xx does not handle this?
> > 
> > I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
> > since the BIOS doesn't seem to be setting the cable bits correctly.
> 
> Ugh, I checked AMD datasheets and AMD756 doesn't support host
> side cable detection.  Well, we can try doing disk side only for it.
> [ ATi and ITE (in -ac kernels) drivers are also doing this. ]
> 
> --- amd74xx.c.orig	2004-11-02 14:17:14.000000000 +0100
> +++ amd74xx.c	2004-12-13 22:41:50.406229168 +0100
> @@ -344,10 +344,8 @@
>  			break;
>  
>  		case AMD_UDMA_66:
> -			pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
> -			for (i = 24; i >= 0; i -= 8)
> -				if ((u >> i) & 4)
> -					amd_80w |= (1 << (1 - (i >> 4)));
> +			/* no host side cable detection */
> +			amd_80w = 0x03;
>  			break;
>  	}
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
  2004-12-14  6:51   ` Andre Hedrick
@ 2004-12-14 16:15   ` Rene Herman
  2004-12-15 23:52   ` Alan Cox
  2 siblings, 0 replies; 7+ messages in thread
From: Rene Herman @ 2004-12-14 16:15 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: Linux Kernel

[-- Attachment #1: Type: text/plain, Size: 1674 bytes --]

Bartlomiej Zolnierkiewicz wrote:

>>I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
>>since the BIOS doesn't seem to be setting the cable bits correctly.
> 
> 
> Ugh, I checked AMD datasheets and AMD756 doesn't support host
> side cable detection.  Well, we can try doing disk side only for it.
> [ ATi and ITE (in -ac kernels) drivers are also doing this. ]
> 
> --- amd74xx.c.orig	2004-11-02 14:17:14.000000000 +0100
> +++ amd74xx.c	2004-12-13 22:41:50.406229168 +0100
> @@ -344,10 +344,8 @@
>  			break;
>  
>  		case AMD_UDMA_66:
> -			pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
> -			for (i = 24; i >= 0; i -= 8)
> -				if ((u >> i) & 4)
> -					amd_80w |= (1 << (1 - (i >> 4)));
> +			/* no host side cable detection */
> +			amd_80w = 0x03;
>  			break;
>  	}
> 

Well, yes, works for me I guess. Was playing around to see if I could 
find something a bit more subtle but it seems nothing's available. My 
BIOS does show hdc (a DVD-ROM by the way) to be udma4 in its summary 
screen but it does not enable udma for it. I saw AMD_DRIVE_TIMINGS is 
not used for udma (and programmed by my BIOS to the highest PIO mode the 
device offers for all devices present) so also of no use...

Attached patch combines this and deleting a "use ide0=ata66" advice from 
the driver.

One slight cosmetic problem, with amd_80w set unconditionally the 
/proc/ide/amd74xx file's "cable type" line will now always show "80w" 
and seems likely to confuse people that have 40w cables installed. I 
believe the proc file may be on its way out anyway? If not, one option 
could be to print "n/a" for amd_config->flags & AMD_UDMA == AMD_UDMA_66 
(<= ?).

Rene.

[-- Attachment #2: linux-2.6.10-rc3_ata66.diff --]
[-- Type: text/x-patch, Size: 787 bytes --]

--- linux-2.6.10-rc3/drivers/ide/pci/amd74xx.c.orig	2004-12-14 11:33:21.000000000 +0100
+++ linux-2.6.10-rc3/drivers/ide/pci/amd74xx.c	2004-12-14 16:31:22.000000000 +0100
@@ -344,10 +344,8 @@
 			break;
 
 		case AMD_UDMA_66:
-			pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
-			for (i = 24; i >= 0; i -= 8)
-				if ((u >> i) & 4)
-					amd_80w |= (1 << (1 - (i >> 4)));
+			/* no host side cable detection */
+			amd_80w = 0x03;
 			break;
 	}
 
@@ -383,8 +381,6 @@
 	if (amd_clock < 20000 || amd_clock > 50000) {
 		printk(KERN_WARNING "%s: User given PCI clock speed impossible (%d), using 33 MHz instead.\n",
 			amd_chipset->name, amd_clock);
-		printk(KERN_WARNING "%s: Use ide0=ata66 if you want to assume 80-wire cable\n",
-			amd_chipset->name);
 		amd_clock = 33333;
 	}
 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
  2004-12-14  6:51   ` Andre Hedrick
  2004-12-14 16:15   ` Rene Herman
@ 2004-12-15 23:52   ` Alan Cox
  2004-12-16 14:29     ` Bartlomiej Zolnierkiewicz
  2 siblings, 1 reply; 7+ messages in thread
From: Alan Cox @ 2004-12-15 23:52 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: Rene Herman, Linux Kernel Mailing List

On Llu, 2004-12-13 at 21:47, Bartlomiej Zolnierkiewicz wrote:
> > I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
> > since the BIOS doesn't seem to be setting the cable bits correctly.
> 
> Ugh, I checked AMD datasheets and AMD756 doesn't support host
> side cable detection.  Well, we can try doing disk side only for it.
> [ ATi and ITE (in -ac kernels) drivers are also doing this. ]

That is probably a good change but not sufficient for things like
bladeservers where some vendors use short 40c cables which are within
specification but break drive side detection. Removing ata66 forcing
doesn't work because of these although perhaps it could be done using
subvendor ids so it is automatic ?

Right now I plan to keep ata66 overrides in -ac.

Alan


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-15 23:52   ` Alan Cox
@ 2004-12-16 14:29     ` Bartlomiej Zolnierkiewicz
  2004-12-16 14:32       ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 7+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-12-16 14:29 UTC (permalink / raw)
  To: Alan Cox; +Cc: Rene Herman, Linux Kernel Mailing List

On Wed, 15 Dec 2004 23:52:52 +0000, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> On Llu, 2004-12-13 at 21:47, Bartlomiej Zolnierkiewicz wrote:
> > > I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
> > > since the BIOS doesn't seem to be setting the cable bits correctly.
> >
> > Ugh, I checked AMD datasheets and AMD756 doesn't support host
> > side cable detection.  Well, we can try doing disk side only for it.
> > [ ATi and ITE (in -ac kernels) drivers are also doing this. ]
> 
> That is probably a good change but not sufficient for things like
> bladeservers where some vendors use short 40c cables which are within
> specification but break drive side detection. Removing ata66 forcing
> doesn't work because of these although perhaps it could be done using
> subvendor ids so it is automatic ?

Yes, one of the aims of deprecating ata66 override was to see what can
be done automatically.  The fewer special kernel parameters the better
(w/o sacrificing functionality of course).

> Right now I plan to keep ata66 overrides in -ac.

Fine but I'm not going to remove them soon (warning is a bit strong
to help us gain more knowledge :), however it would be nice if somebody
could move them from IDE core to specific host drivers.

Bartlomiej

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON!
  2004-12-16 14:29     ` Bartlomiej Zolnierkiewicz
@ 2004-12-16 14:32       ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 7+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-12-16 14:32 UTC (permalink / raw)
  To: Alan Cox; +Cc: Rene Herman, Linux Kernel Mailing List

On Thu, 16 Dec 2004 15:29:19 +0100, Bartlomiej Zolnierkiewicz
<bzolnier@gmail.com> wrote:
> On Wed, 15 Dec 2004 23:52:52 +0000, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > On Llu, 2004-12-13 at 21:47, Bartlomiej Zolnierkiewicz wrote:
> > > > I do need a way to force an 80c cable on this AMD756 (ATA66 max) board,
> > > > since the BIOS doesn't seem to be setting the cable bits correctly.
> > >
> > > Ugh, I checked AMD datasheets and AMD756 doesn't support host
> > > side cable detection.  Well, we can try doing disk side only for it.
> > > [ ATi and ITE (in -ac kernels) drivers are also doing this. ]
> >
> > That is probably a good change but not sufficient for things like
> > bladeservers where some vendors use short 40c cables which are within
> > specification but break drive side detection. Removing ata66 forcing
> > doesn't work because of these although perhaps it could be done using
> > subvendor ids so it is automatic ?
> 
> Yes, one of the aims of deprecating ata66 override was to see what can
> be done automatically.  The fewer special kernel parameters the better
> (w/o sacrificing functionality of course).

One thing I forgot - ata66 override alone ("idex=ata66") currently doesn't
help in the case you've described - it overrides host side only.

> > Right now I plan to keep ata66 overrides in -ac.
> 
> Fine but I'm not going to remove them soon (warning is a bit strong
> to help us gain more knowledge :), however it would be nice if somebody
> could move them from IDE core to specific host drivers.
> 
> Bartlomiej

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-12-16 14:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-05 19:23 [2.6.10-rc2+] ide1=ata66 -- OBSOLETE OPTION, WILL BE REMOVED SOON! Rene Herman
2004-12-13 21:47 ` Bartlomiej Zolnierkiewicz
2004-12-14  6:51   ` Andre Hedrick
2004-12-14 16:15   ` Rene Herman
2004-12-15 23:52   ` Alan Cox
2004-12-16 14:29     ` Bartlomiej Zolnierkiewicz
2004-12-16 14:32       ` Bartlomiej Zolnierkiewicz

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).