linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* BUG in pdc202xx_old.c
@ 2003-07-20 20:06 Jürgen Stohr
  2003-07-20 20:53 ` Andre Hedrick
  2003-07-20 23:31 ` Alan Cox
  0 siblings, 2 replies; 3+ messages in thread
From: Jürgen Stohr @ 2003-07-20 20:06 UTC (permalink / raw)
  To: andre; +Cc: linux-kernel

Hi Andre,
in pdc202xx_old.c is a bug that prevents the use of "66 Clocking". The driver 
always falls back to UDMA 33. The reason for this bug is found in function 
"config_chipset_for_dma" when checking if the "other" drive is capable of 
UDMA 66. The follwing patch, which should apply against 2.4.22-pre7, solves 
the problem for me:

--- pdc202xx_old.c.broken       2003-07-20 20:12:39.000000000 +0200
+++ pdc202xx_old.c      2003-07-20 20:18:50.000000000 +0200
@@ -425,7 +425,7 @@
                         * check to make sure drive on same channel
                         * is u66 capable
                         */
-                       if (hwif->drives[!(drive->dn%2)].id) {
+                       if (hwif->drives[!(drive->dn%2)].present) {
                                if (hwif->drives[!(drive->dn%2)].id->dma_ultra 
& 0x0078) {
                                        hwif->OUTB(CLKSPD | mask, 
(hwif->dma_master + 0x11));
                                } else {

regards,
Jürgen


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

* Re: BUG in pdc202xx_old.c
  2003-07-20 20:06 BUG in pdc202xx_old.c Jürgen Stohr
@ 2003-07-20 20:53 ` Andre Hedrick
  2003-07-20 23:31 ` Alan Cox
  1 sibling, 0 replies; 3+ messages in thread
From: Andre Hedrick @ 2003-07-20 20:53 UTC (permalink / raw)
  To: Jürgen Stohr; +Cc: linux-kernel, Alan Cox


Juergen:

I have formally given up on Promise.
If it works somebody take it and stuff it into a kernel tree it is a DGD
for me now.

DGD == Don't Giva Damn

Cheers,

Andre Hedrick
LAD Storage Consulting Group

On Sun, 20 Jul 2003, [utf-8] Jürgen Stohr wrote:

> Hi Andre,
> in pdc202xx_old.c is a bug that prevents the use of "66 Clocking". The driver 
> always falls back to UDMA 33. The reason for this bug is found in function 
> "config_chipset_for_dma" when checking if the "other" drive is capable of 
> UDMA 66. The follwing patch, which should apply against 2.4.22-pre7, solves 
> the problem for me:
> 
> --- pdc202xx_old.c.broken       2003-07-20 20:12:39.000000000 +0200
> +++ pdc202xx_old.c      2003-07-20 20:18:50.000000000 +0200
> @@ -425,7 +425,7 @@
>                          * check to make sure drive on same channel
>                          * is u66 capable
>                          */
> -                       if (hwif->drives[!(drive->dn%2)].id) {
> +                       if (hwif->drives[!(drive->dn%2)].present) {
>                                 if (hwif->drives[!(drive->dn%2)].id->dma_ultra 
> & 0x0078) {
>                                         hwif->OUTB(CLKSPD | mask, 
> (hwif->dma_master + 0x11));
>                                 } else {
> 
> regards,
> Jürgen
> 


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

* Re: BUG in pdc202xx_old.c
  2003-07-20 20:06 BUG in pdc202xx_old.c Jürgen Stohr
  2003-07-20 20:53 ` Andre Hedrick
@ 2003-07-20 23:31 ` Alan Cox
  1 sibling, 0 replies; 3+ messages in thread
From: Alan Cox @ 2003-07-20 23:31 UTC (permalink / raw)
  To: Jürgen Stohr; +Cc: Andre Hedrick, Linux Kernel Mailing List

On Sul, 2003-07-20 at 21:06, Jürgen Stohr wrote:
>                          * check to make sure drive on same channel
>                          * is u66 capable
>                          */
> -                       if (hwif->drives[!(drive->dn%2)].id) {
> +                       if (hwif->drives[!(drive->dn%2)].present) {

This doesn't really seem to make sense for current IDE - drive[n].id is
never NULL. On old systems it was and this test was needed so we didnt
check ultra dma flags on an ident free drive (old ST506 etc)

That makes me curious as to what is really going on here.


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

end of thread, other threads:[~2003-07-20 23:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-20 20:06 BUG in pdc202xx_old.c Jürgen Stohr
2003-07-20 20:53 ` Andre Hedrick
2003-07-20 23:31 ` Alan Cox

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