2000-11-17 00:43:21

by Anton Altaparmakov

[permalink] [raw]
Subject: How to add a drive to DMA black list?

Hello all,

I have an ide hard drive that misbehaves when the option "enable DMA at
boot time" (2.4.x kernel) is selected (this is on a on board ide
controller). But on the other hand I have a Promise Ultra-ATA-100
controller with an IBM ATA-100 drive that, according to the menuconfig
information and the information at the top of the driver requires the
"enable DMA at boot time" feature to be selected.

I tried adding the string that is output for the bad drive by hdparm -i
into drivers/ide/ide-dma.c::drive_blacklist and
drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that it is
using DMA and the kernel hangs after displaying:

PIIX: chipset revision 2
PIIX: not 100% native mode: will probe irqs later
[snip]
PDC20267: IDE controller on PCI bus 00 dev 98
PDC20267: chipset revision 2
PDC20267: not 100% native mode: will probe irqs later
PDC20267: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
[snip]
hdc: Conner Peripherals 1275MB - CFS1275A, ATA DISK drive
hde: IBM-DTLA-307045, ATA DISK drive
[snip]
hdc: 2496876 sectors (1278 MB) w/64KiB Cache, CHS=2477/16/63, DMA
hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63. UDMA(100)
Partition check:
hda: hda1 hda2 < hda5 >
hdc:hdc: timout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
_
Dead.

What should I do? Thanks in advance,

Anton

--
"Education is what remains after one has forgotten everything he
learned in school." - Albert Einstein
--
Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
Christ's College eMail: [email protected] / [email protected]
Cambridge CB2 3BU ICQ: 8561279
United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/


2000-11-17 01:49:52

by Anton Altaparmakov

[permalink] [raw]
Subject: sorted - was: How to add a drive to DMA black list?

The drive was being added to the black lists fine it's just that I had PIIX
tuning enabled which caused the good/bad dma tables check to be bypassed
completely. - So disabling PIIX tuning made my PC boot fine.

Regards,

Anton

At 00:13 17/11/2000, Anton Altaparmakov wrote:
>Hello all,
>
>I have an ide hard drive that misbehaves when the option "enable DMA at
>boot time" (2.4.x kernel) is selected (this is on a on board ide
>controller). But on the other hand I have a Promise Ultra-ATA-100
>controller with an IBM ATA-100 drive that, according to the menuconfig
>information and the information at the top of the driver requires the
>"enable DMA at boot time" feature to be selected.
>
>I tried adding the string that is output for the bad drive by hdparm -i
>into drivers/ide/ide-dma.c::drive_blacklist and
>drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that it is
>using DMA and the kernel hangs after displaying:
>
>PIIX: chipset revision 2
>PIIX: not 100% native mode: will probe irqs later
>[snip]
>PDC20267: IDE controller on PCI bus 00 dev 98
>PDC20267: chipset revision 2
>PDC20267: not 100% native mode: will probe irqs later
>PDC20267: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
>[snip]
>hdc: Conner Peripherals 1275MB - CFS1275A, ATA DISK drive
>hde: IBM-DTLA-307045, ATA DISK drive
>[snip]
>hdc: 2496876 sectors (1278 MB) w/64KiB Cache, CHS=2477/16/63, DMA
>hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63. UDMA(100)
>Partition check:
> hda: hda1 hda2 < hda5 >
> hdc:hdc: timout waiting for DMA
>ide_dmaproc: chipset supported ide_dma_timeout func only: 14
>hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
>_
>Dead.
>
>What should I do? Thanks in advance,
>
>Anton
>
>--
> "Education is what remains after one has forgotten everything he
> learned in school." - Albert Einstein
>--
>Anton Altaparmakov Voice: +44-(0)1223-333541(lab) /
>+44-(0)7712-632205(mobile)
>Christ's College eMail: [email protected] / [email protected]
>Cambridge CB2 3BU ICQ: 8561279
>United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>Please read the FAQ at http://www.tux.org/lkml/

--
"Education is what remains after one has forgotten everything he
learned in school." - Albert Einstein
--
Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
Christ's College eMail: [email protected] / [email protected]
Cambridge CB2 3BU ICQ: 8561279
United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/

2000-11-17 01:56:54

by Andre Hedrick

[permalink] [raw]
Subject: Re: sorted - was: How to add a drive to DMA black list?


Then I need to fix that to prevent the bypass that should not happen.

On Fri, 17 Nov 2000, Anton Altaparmakov wrote:

> The drive was being added to the black lists fine it's just that I had PIIX
> tuning enabled which caused the good/bad dma tables check to be bypassed
> completely. - So disabling PIIX tuning made my PC boot fine.
>
> Regards,
>
> Anton
>
> At 00:13 17/11/2000, Anton Altaparmakov wrote:
> >Hello all,
> >
> >I have an ide hard drive that misbehaves when the option "enable DMA at
> >boot time" (2.4.x kernel) is selected (this is on a on board ide
> >controller). But on the other hand I have a Promise Ultra-ATA-100
> >controller with an IBM ATA-100 drive that, according to the menuconfig
> >information and the information at the top of the driver requires the
> >"enable DMA at boot time" feature to be selected.
> >
> >I tried adding the string that is output for the bad drive by hdparm -i
> >into drivers/ide/ide-dma.c::drive_blacklist and
> >drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that it is
> >using DMA and the kernel hangs after displaying:
> >
> >PIIX: chipset revision 2
> >PIIX: not 100% native mode: will probe irqs later
> >[snip]
> >PDC20267: IDE controller on PCI bus 00 dev 98
> >PDC20267: chipset revision 2
> >PDC20267: not 100% native mode: will probe irqs later
> >PDC20267: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
> >[snip]
> >hdc: Conner Peripherals 1275MB - CFS1275A, ATA DISK drive
> >hde: IBM-DTLA-307045, ATA DISK drive
> >[snip]
> >hdc: 2496876 sectors (1278 MB) w/64KiB Cache, CHS=2477/16/63, DMA
> >hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63. UDMA(100)
> >Partition check:
> > hda: hda1 hda2 < hda5 >
> > hdc:hdc: timout waiting for DMA
> >ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> >hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
> >_
> >Dead.
> >
> >What should I do? Thanks in advance,
> >
> >Anton
> >
> >--
> > "Education is what remains after one has forgotten everything he
> > learned in school." - Albert Einstein
> >--
> >Anton Altaparmakov Voice: +44-(0)1223-333541(lab) /
> >+44-(0)7712-632205(mobile)
> >Christ's College eMail: [email protected] / [email protected]
> >Cambridge CB2 3BU ICQ: 8561279
> >United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/
> >
> >-
> >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >the body of a message to [email protected]
> >Please read the FAQ at http://www.tux.org/lkml/
>
> --
> "Education is what remains after one has forgotten everything he
> learned in school." - Albert Einstein
> --
> Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
> Christ's College eMail: [email protected] / [email protected]
> Cambridge CB2 3BU ICQ: 8561279
> United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/
>

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development

2000-11-17 02:04:17

by Anton Altaparmakov

[permalink] [raw]
Subject: Re: sorted - was: How to add a drive to DMA black list?

I am sure you knew this perfectly well already but just in case it is helpful:

the offending code is in:

drivers/ide/piix.c::piix_dmaproc [starts on line 402 in 2.4.0-test11-pre5]

It calls piix_config_drive_for_dma and only then calls ide_dmaproc.

It is ide_dmaproc that does the good/bad test so obviously it is called too
late.

Anton

At 01:26 17/11/2000, Andre Hedrick wrote:

>Then I need to fix that to prevent the bypass that should not happen.
>
>On Fri, 17 Nov 2000, Anton Altaparmakov wrote:
>
> > The drive was being added to the black lists fine it's just that I had
> PIIX
> > tuning enabled which caused the good/bad dma tables check to be bypassed
> > completely. - So disabling PIIX tuning made my PC boot fine.
> >
> > Regards,
> >
> > Anton
> >
> > At 00:13 17/11/2000, Anton Altaparmakov wrote:
> > >Hello all,
> > >
> > >I have an ide hard drive that misbehaves when the option "enable DMA at
> > >boot time" (2.4.x kernel) is selected (this is on a on board ide
> > >controller). But on the other hand I have a Promise Ultra-ATA-100
> > >controller with an IBM ATA-100 drive that, according to the menuconfig
> > >information and the information at the top of the driver requires the
> > >"enable DMA at boot time" feature to be selected.
> > >
> > >I tried adding the string that is output for the bad drive by hdparm -i
> > >into drivers/ide/ide-dma.c::drive_blacklist and
> > >drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that
> it is
> > >using DMA and the kernel hangs after displaying:
> > >
> > >PIIX: chipset revision 2
> > >PIIX: not 100% native mode: will probe irqs later
> > >[snip]
> > >PDC20267: IDE controller on PCI bus 00 dev 98
> > >PDC20267: chipset revision 2
> > >PDC20267: not 100% native mode: will probe irqs later
> > >PDC20267: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
> > >[snip]
> > >hdc: Conner Peripherals 1275MB - CFS1275A, ATA DISK drive
> > >hde: IBM-DTLA-307045, ATA DISK drive
> > >[snip]
> > >hdc: 2496876 sectors (1278 MB) w/64KiB Cache, CHS=2477/16/63, DMA
> > >hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63.
> UDMA(100)
> > >Partition check:
> > > hda: hda1 hda2 < hda5 >
> > > hdc:hdc: timout waiting for DMA
> > >ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> > >hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
> > >_
> > >Dead.
> > >
> > >What should I do? Thanks in advance,
> > >
> > >Anton
> > >
> > >--
> > > "Education is what remains after one has forgotten everything he
> > > learned in school." - Albert Einstein
> > >--
> > >Anton Altaparmakov Voice: +44-(0)1223-333541(lab) /
> > >+44-(0)7712-632205(mobile)
> > >Christ's College eMail: [email protected] / [email protected]
> > >Cambridge CB2 3BU ICQ: 8561279
> > >United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/
> > >
> > >-
> > >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > >the body of a message to [email protected]
> > >Please read the FAQ at http://www.tux.org/lkml/
> >
> > --
> > "Education is what remains after one has forgotten everything he
> > learned in school." - Albert Einstein
> > --
> > Anton Altaparmakov Voice: +44-(0)1223-333541(lab) /
> +44-(0)7712-632205(mobile)
> > Christ's College eMail: [email protected] / [email protected]
> > Cambridge CB2 3BU ICQ: 8561279
> > United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to [email protected]
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
>Andre Hedrick
>CTO Timpanogas Research Group
>EVP Linux Development, TRG
>Linux ATA Development
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>Please read the FAQ at http://www.tux.org/lkml/

--
"Education is what remains after one has forgotten everything he
learned in school." - Albert Einstein
--
Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
Christ's College eMail: [email protected] / [email protected]
Cambridge CB2 3BU ICQ: 8561279
United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/

2000-11-17 02:12:19

by Andre Hedrick

[permalink] [raw]
Subject: Re: sorted - was: How to add a drive to DMA black list?

On Fri, 17 Nov 2000, Anton Altaparmakov wrote:

> I am sure you knew this perfectly well already but just in case it is helpful:
>
> the offending code is in:
>
> drivers/ide/piix.c::piix_dmaproc [starts on line 402 in 2.4.0-test11-pre5]
>
> It calls piix_config_drive_for_dma and only then calls ide_dmaproc.
>
> It is ide_dmaproc that does the good/bad test so obviously it is called too
> late.

Sorry I have not looked at the PIIX code in a long time and forgot that it
was not complete with the table checks. But I will get there soon.

Cheers,

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development

2000-11-17 11:22:05

by Alan Cox

[permalink] [raw]
Subject: Re: How to add a drive to DMA black list?

> I tried adding the string that is output for the bad drive by hdparm -i
> into drivers/ide/ide-dma.c::drive_blacklist and
> drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that it is
> using DMA and the kernel hangs after displaying:

The black list is for drives with problems, not for controller bugs. Controller
bugs in the Linux code just have to be fixed.


2000-11-17 11:26:55

by Alan Cox

[permalink] [raw]
Subject: Re: sorted - was: How to add a drive to DMA black list?

> Then I need to fix that to prevent the bypass that should not happen.

No you need to fix the PIIX tuning hangs people keep reporting 8)

2000-11-17 11:33:47

by Anton Altaparmakov

[permalink] [raw]
Subject: Re: How to add a drive to DMA black list?

At 10:52 17/11/2000, Alan Cox wrote:
> > I tried adding the string that is output for the bad drive by hdparm -i
> > into drivers/ide/ide-dma.c::drive_blacklist and
> > drivers/ide/ide-dma.c::bad_dma_drives but the kernel still says that it is
> > using DMA and the kernel hangs after displaying:
>
>The black list is for drives with problems, not for controller bugs.
>Controller bugs in the Linux code just have to be fixed.

That is obvious. I may be of course wrong, but I would consider this a
drive problem, considering that another ide drive on the same controller
works fine with DMA enabled (a QUANTUM TRB850A) while the Conner
Peripherals 1275MB - CFS1275A fails with DMA enabled. They are in fact both
attached simultaneously to the PIIX controller (on different IDE channels,
both being masters) and one works and the other doesn't... - I should
probably have stated that when posting but I didn't consider it important
at the time (and copying by hand from one screen to another doesn't
encourage copying everything but the essentials...). - Am I missing something?

Regards,

Anton


--
"Education is what remains after one has forgotten everything he
learned in school." - Albert Einstein
--
Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
Christ's College eMail: [email protected] / [email protected]
Cambridge CB2 3BU ICQ: 8561279
United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/

2000-11-17 11:56:33

by Alan Cox

[permalink] [raw]
Subject: Re: How to add a drive to DMA black list?

> drive problem, considering that another ide drive on the same controller
> works fine with DMA enabled (a QUANTUM TRB850A) while the Conner
> Peripherals 1275MB - CFS1275A fails with DMA enabled. They are in fact both

And the Conner drives work fine on a VIA MVP3 it seems. You need to try
the drive with multiple controllers to be sure its not a PIIX bug that only
trips on that drive (or indeed a bug in the combination)

Alan

2000-11-17 19:43:10

by Andre Hedrick

[permalink] [raw]
Subject: Re: sorted - was: How to add a drive to DMA black list?

On Fri, 17 Nov 2000, Alan Cox wrote:

> > Then I need to fix that to prevent the bypass that should not happen.
>
> No you need to fix the PIIX tuning hangs people keep reporting 8)

You can't fix was the docs claim is broken and issuing a channel reset is
the only way out. Unfortunate, this is what I am looking at doing :-((

Cheers,

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development

2000-11-19 17:19:57

by Anton Altaparmakov

[permalink] [raw]
Subject: Re: How to add a drive to DMA black list?

At 11:26 17/11/2000, Alan Cox wrote:
> > drive problem, considering that another ide drive on the same controller
> > works fine with DMA enabled (a QUANTUM TRB850A) while the Conner
> > Peripherals 1275MB - CFS1275A fails with DMA enabled. They are in fact
> both
>
>And the Conner drives work fine on a VIA MVP3 it seems. You need to try
>the drive with multiple controllers to be sure its not a PIIX bug that only
>trips on that drive (or indeed a bug in the combination)

I have now tried the drive (which is actually a seagate drive but it
identifies itself as a conner) on my new Promise ATA-100 controller and the
drive works fine with DMA enabled. So you were quite right, it's the PIIX
driver/tuning which kills it.

Anton


--
"Education is what remains after one has forgotten everything he
learned in school." - Albert Einstein
--
Anton Altaparmakov Voice: +44-(0)1223-333541(lab) / +44-(0)7712-632205(mobile)
Christ's College eMail: [email protected] / [email protected]
Cambridge CB2 3BU ICQ: 8561279
United Kingdom WWW: http://www-stu.christs.cam.ac.uk/~aia21/