2.4.21-rc1-ac2 Promise IDE DMA won't work
I looked thru marc's archives, and i'm not finding anything specific to this problem, tho I do believe it is probably a known issue.
ASUS A7v266-E
PDC20265
LITE-ON LTR-32123S
only device on the Promise IDE is the cd-rw drive. have four hard drives on the VIA IDE.
running kernel 2.4.21-rc1-ac2 + preempt + rmap15g + i2c-sensors
burning now works using cdrecord ATAPI (previous was 2.4.21-pre5-ac3 where the ide-scsi was too unstable)
at present, reading the cd drive takes 80+% of CPU system time...
I would like to be able to enable DMA. i tried doing it manually with hdparm. enabling 32-bit IO or enabling DMA would both make it just not work.
[root@tabriel root]# hdparm /dev/hdg
/dev/hdg:
HDIO_GET_MULTCOUNT failed: Invalid argument
IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) readonly = 1 (on) readahead = 8 (on)
HDIO_GETGEO failed: Invalid argument
[root@tabriel root]#
[root@tabriel root]# hdparm -I /dev/hdg
/dev/hdg:
ATAPI CD-ROM, with removable media
Model Number: LITE-ON LTR-32123S
Serial Number:
Firmware Revision: XS0R
Standards:
Used: ATAPI for CD-ROMs, SFF-8020i, r2.5
Supported: CD-ROM ATAPI-2
Configuration:
DRQ response: 50us.
Packet size: 12 bytes
Capabilities:
LBA, IORDY(cannot be disabled)
DMA: *mdma0 mdma1 mdma2 udma0 udma1 udma2
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=227ns IORDY flow control=120ns
[root@tabriel root]#
any more info needed, just ask. any help much appreciated.
Signature · 2 lines
"Ignorance is the soil in which belief in miracles grows." -- Robert G. Ingersoll
NO ATAPI DMA!
I will not write the driver core to attempt to support the various combinations. The ATAPI DMA engine space is used support 48bit. Use the onboard controller for ATAPI.
Quoted 55 lines · Tabris
I looked thru marc's archives, and i'm not finding anything specific to this problem, tho I do believe it is probably a known issue.
ASUS A7v266-E
PDC20265
LITE-ON LTR-32123Sonly device on the Promise IDE is the cd-rw drive. have four hard drives on the VIA IDE.
running kernel 2.4.21-rc1-ac2 + preempt + rmap15g + i2c-sensors
burning now works using cdrecord ATAPI (previous was 2.4.21-pre5-ac3 where the ide-scsi was too unstable)
at present, reading the cd drive takes 80+% of CPU system time...
I would like to be able to enable DMA. i tried doing it manually with hdparm. enabling 32-bit IO or enabling DMA would both make it just not work.
[root@tabriel root]# hdparm/dev/hdg
/dev/hdg:
HDIO_GET_MULTCOUNTfailed: Invalid argumentIO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) readonly = 1 (on) readahead = 8 (on)
HDIO_GETGEOfailed: Invalid argument
[root@tabriel root]#
[root@tabriel root]# hdparm -I/dev/hdg
/dev/hdg:ATAPI CD-ROM, with removable media
Model Number: LITE-ON LTR-32123S
Serial Number:
Firmware Revision: XS0R
Standards:
Used: ATAPI for CD-ROMs, SFF-8020i, r2.5
Supported: CD-ROM ATAPI-2
Configuration:
DRQ response: 50us.
Packet size: 12 bytes
Capabilities:
LBA, IORDY(cannot be disabled)
DMA: *mdma0 mdma1 mdma2 udma0 udma1 udma2
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=227ns IORDY flow control=120ns
[root@tabriel root]#
Quoted 13 lines
any more info needed, just ask. any help much appreciated.
Signature · 8 lines
"Ignorance is the soil in which belief in miracles grows." -- Robert G. Ingersoll - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Andre Hedrick
LAD Storage Consulting Group
Quoted 7 lines · Andre Hedrick
NO ATAPI DMA!
I will not write the driver core to attempt to support the various combinations. The ATAPI DMA engine space is used support 48bit. Use the onboard controller for ATAPI.
Andre Hedrick
LAD Storage Consulting Group
Can I object that it came built onto the board? okok... i'll take that as a no for now...
Tho i'm still not quite sure how it makes a diff to be honest, unless you mean that the Promise and HPT will never be supported for DMA?
and the only other thing i should say is that altho i'm not exactly a n00b, the average user WILL expect it to work.
can i expect this to be fixed by 2.6? (yeah, i know... 2.4-ac-ide code is similar to 2.5-ide code)
--
tabris
Quoted 15 lines · Tabris
Quoted 7 lines · Andre Hedrick
NO ATAPI DMA!
I will not write the driver core to attempt to support the various combinations. The ATAPI DMA engine space is used support 48bit. Use the onboard controller for ATAPI.
Andre Hedrick
LAD Storage Consulting GroupCan I object that it came built onto the board? okok... i'll take that as a no for now...
Tho i'm still not quite sure how it makes a diff to be honest, unless you mean that the Promise and HPT will never be supported for DMA?
Quoted 7 lines
and the only other thing i should say is that altho i'm not exactly a n00b, the average user WILL expect it to work.
can i expect this to be fixed by 2.6? (yeah, i know... 2.4-ac-ide code is similar to 2.5-ide code)
--
tabris
The point is that you should put your ATAPI device (in this case the cd-rom) on the VIA controllers, and place the hdd's on the promise controller, since dma is supported for hdd's...
This is also their intended primary functions by the manufacturers..., for example the HPT370 controller with bios version >1.1.x.xxx does not have ATAPI support (atleast officially, I haven't tried it)
Thomas
The Promise chipset use a second DMA engine at offset 0x24 respective of the channel. Mixing an ATA and ATAPI on that channel is almost impossible to make the corner cases work. Next, if there us a 48-bit ATA plus ATAPI on the channel popping between the two enignes does not look sane at all because one has to swithc the location of the hwif->sgtable.
Quoted 15 lines · Tabris
Quoted 7 lines · Andre Hedrick
NO ATAPI DMA!
I will not write the driver core to attempt to support the various combinations. The ATAPI DMA engine space is used support 48bit. Use the onboard controller for ATAPI.
Andre Hedrick
LAD Storage Consulting GroupCan I object that it came built onto the board? okok... i'll take that as a no for now...
Tho i'm still not quite sure how it makes a diff to be honest, unless you mean that the Promise and HPT will never be supported for DMA?
Quoted 8 lines
and the only other thing i should say is that altho i'm not exactly a n00b, the average user WILL expect it to work.
can i expect this to be fixed by 2.6? (yeah, i know... 2.4-ac-ide code is similar to 2.5-ide code)
--
tabris
Andre Hedrick
LAD Storage Consulting Group
Quoted 5 lines · Andre Hedrick
The Promise chipset use a second DMA engine at offset
0x24respective of the channel. Mixing an ATA and ATAPI on that channel is almost impossible to make the corner cases work. Next, if there us a 48-bit ATA plus ATAPI on the channel popping between the two enignes does not look sane at all because one has to swithc the location of thehwif->sgtable.
You can wrap that on the drivers for the disk stuff now but not cleanly for the other cases. Is there any reason we can't use the ATAPI engine for everything btw ?
Quoted 6 lines · Andre Hedrick
The Promise chipset use a second DMA engine at offset
0x24respective of the channel. Mixing an ATA and ATAPI on that channel is almost impossible to make the corner cases work. Next, if there us a 48-bit ATA plus ATAPI on the channel popping between the two enignes does not look sane at all because one has to swithc the location of thehwif->sgtable.
Ok... moved the HDDs from the VIA secondary to the PDC primary (tried moving both, but it seems that ide=reverse doesn't work), and the CD-R/W to the VIA secondary.
good news, regular reads seem to use the DMA engine. bad news, CDDA ripping (using cdparanoia) does not.
is this a known issue? (i thought that CDDA ripping had been fixed)
Haven't tested burning yet.
Hope this all helps, and doesn't annoy too much ;)
--
tabris
-
The day advanced as if to light some work of mine; it was morning, and lo! now it is evening, and nothing memorable is accomplished.
-- H.D. Thoreau
Quoted 10 lines · Tabris
Quoted 6 lines · Andre Hedrick
The Promise chipset use a second DMA engine at offset
0x24respective of the channel. Mixing an ATA and ATAPI on that channel is almost impossible to make the corner cases work. Next, if there us a 48-bit ATA plus ATAPI on the channel popping between the two enignes does not look sane at all because one has to swithc the location of thehwif->sgtable.
Quoted 6 lines
Ok... moved the HDDs from the VIA secondary to the PDC primary (tried moving both, but it seems that ide=reverse doesn't work), and the CD-R/W to the VIA secondary.
good news, regular reads seem to use the DMA engine. bad news, CDDA ripping (using cdparanoia) does not.
is this a known issue? (i thought that CDDA ripping had been fixed)
Have you tried Andrew Morton's ide-cd dma patch? It seems to have worked well for me, at least. A summary of what it does is included at the top of the patch.
http://www.zipworld.com.au/~akpm/linux/patches/2.4/2.4.20/ide-akpm.patch
Perhaps Alan might considier it for the -rc2 ac patch?
Cheers,
Nicholas
Quoted 28 lines · Andre Hedrick
Quoted 7 lines
NO ATAPI DMA!
I will not write the driver core to attempt to support the various combinations. The ATAPI DMA engine space is used support 48bit. Use the onboard controller for ATAPI.
Andre Hedrick
LAD Storage Consulting GroupCan I object that it came built onto the board? okok... i'll take that as a no for now...
Quoted 10 lines
Tho i'm still not quite sure how it makes a diff to be honest, unless you mean that the Promise and HPT will never be supported for DMA?
and the only other thing i should say is that altho i'm not exactly a n00b, the average user WILL expect it to work.
can i expect this to be fixed by 2.6? (yeah, i know... 2.4-ac-ide code is similar to 2.5-ide code)
--
tabrisThe point is that you should put your ATAPI device (in this case the cd-rom)
on the VIA controllers, and place the hdd's on the promise controller, since dma is supported for hdd's...
Quoted 6 lines
This is also their intended primary functions by the manufacturers..., for example the HPT370 controller with bios version >1.1.x.xxx does not have ATAPI support (atleast officially, I haven't tried it)
Thomas
So, are you telling me that DMA for both my hard drives, and my CD-R/Ws will work, if i put my HDs on the PDC20265 controller, and my CD-R/W on the VIA?
or will i lose DMA on the hard drives in this way, losing performance?
the second solution, tho one _I_ could probably live with, is still a problem, especially for those of us who want to sell GNU/Linux to our customers as a 'better' solution.
btw, please cc: me in your replies, as I no longer am able to subscribe to the linux-kernel list. this reply i had to hack by hand from marc.theaimsgroup
--
tabris
-
Why don't you fix your little problem... and light this candle?
-- Alan Shepherd, the first man into space, Gemini program