* 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