Skip to contentSkip to conversation

toshiba ide - ide dma setting

DISCUSSION Marcin Kuk 2 participants 7 messages Feb 8, 2005 – Feb 9, 2005 1 message not in the archive libata

lore
Share & tools
lore

Marcin Kuk

author
#0 lore raw

Hi.

I have a problem to allow DMA setting to my harddisk. I have Toshiba Satellite 320CDT laptop.

I found this question in letter's archive:
http://search.luky.org/linux-kernel.2003/msg35013.html

And the answer:
http://www.ussg.iu.edu/hypermail/linux/kernel/0306.0/0308.html

This is part of my dmesg from 2.4.26 kernel:
.........
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA MK4006MAV, ATA DISK drive
hdc: CD-220EA, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 8007552 sectors (4100 MB), CHS=7944/16/63
hdc: attached ide-cdrom driver.
hdc: ATAPI 20X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.12
Partition check:
hda: [PTBL] [993/128/63] hda1 hda2 hda3 hda4
............

I know that is problem with bridge used for ide handle. I tried a lot of kernels:

Quoted 1 line

2.4.26 and 2.6.10 series.

Please tell me with patch will solve my problem for 2.6.10 kernel or what can I do for enabling DMA?

Another question:
In my bios I can choose two variant for my IDE:
* Standard IDE
* Enhanced IDE
Which should I choose?
I tried both and I dont's see any difference.

Sorry if my english is poor.

Regards

Marcin Kuk

#1 lore raw

[ Okay, now I see what is the problem. :-) ]

Have you tried "Generic PCI IDE Chipset Support" ?

Quoted 47 lines · Marcin Kuk

Hi.

I have a problem to allow DMA setting to my harddisk. I have Toshiba Satellite 320CDT laptop.

I found this question in letter's archive:
http://search.luky.org/linux-kernel.2003/msg35013.html

And the answer:
http://www.ussg.iu.edu/hypermail/linux/kernel/0306.0/0308.html

This is part of my dmesg from 2.4.26 kernel:
.........
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA MK4006MAV, ATA DISK drive
hdc: CD-220EA, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 8007552 sectors (4100 MB), CHS=7944/16/63
hdc: attached ide-cdrom driver.
hdc: ATAPI 20X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.12
Partition check:
hda: [PTBL] [993/128/63] hda1 hda2 hda3 hda4
............

I know that is problem with bridge used for ide handle. I tried a lot of kernels:

Quoted 1 line

2.4.26 and 2.6.10 series.

Please tell me with patch will solve my problem for 2.6.10 kernel or what can I do for enabling DMA?

Another question:
In my bios I can choose two variant for my IDE:
* Standard IDE
* Enhanced IDE
Which should I choose?
I tried both and I dont's see any difference.

Sorry if my english is poor.

Regards

Marcin Kuk

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#3 lore raw
Quoted 1 line

Have you tried "Generic PCI IDE Chipset Support" ?

I thing that you are about:
generic / default IDE chipset support (kernel 2.6.10) ? Probably in 2.4 series the name was as you quoted. Yes. This option was compiled in kernel.

All kernels were compiled with setting all chipsets. I cared about set all of options responsible for IDE. All IDE drivers was compiled into kernel (not modules).

Part of my last config (2.6.10):
......
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
.....
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set CONFIG_IDE_TASK_IOCTL=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_OPTI621=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CY82C693=y
CONFIG_BLK_DEV_CS5520=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_HPT34X=y
CONFIG_HPT34X_AUTODMA=y
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_SC1200=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_NS87415=y
CONFIG_BLK_DEV_PDC202XX_OLD=y
CONFIG_PDC202XX_BURST=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_PDC202XX_FORCE=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
CONFIG_BLK_DEV_TRM290=y
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
CONFIG_IDE_CHIPSETS=y

I think that the solution of my problem is here:
http://marc.theaimsgroup.com/?l=linux-ide&m=109967556605057&w=2
and here is your response:
http://marc.theaimsgroup.com/?l=linux-ide&m=109969178814722&w=2

"AFAICS this option allows users to use generic code for unknown/unsupported devices which can result in unpredictable results (hangs, data corruptions)." BZ

So I tried to apply this patch to 2.6.10rc1 kernel but there was a problem to compile it. I couldn't compile even clean 2.6.10rc1 without this patch.
I analised this patch and changed manualy drivers/ide/pci/generic.c
drivers/ide/pci/generic.h
from vanilla 2.6.10.
And ... nothing happend. The kernel was compiled cleanly without errors, but this didn't solve my problem.

Any suggestion?

Marcin Kuk

#4 lore raw
In reply to a message not in the archive
Quoted 4 lines · Marcin Kuk
Quoted 1 line

Have you tried "Generic PCI IDE Chipset Support" ?

I thing that you are about:
generic / default IDE chipset support (kernel 2.6.10) ?

No...

Quoted 8 lines

Probably in 2.4 series the name was as you quoted. Yes. This option was compiled in kernel.

All kernels were compiled with setting all chipsets. I cared about set all of options responsible for IDE. All IDE drivers was compiled into kernel (not modules).

CONFIG_BLK_DEV_GENERIC=y

...but you have it.

output of lspci command would be also helpful

Quoted 8 lines

I think that the solution of my problem is here:
http://marc.theaimsgroup.com/?l=linux-ide&m=109967556605057&w=2
and here is your response:
http://marc.theaimsgroup.com/?l=linux-ide&m=109969178814722&w=2

"AFAICS this option allows users to use generic code for unknown/unsupported devices which can result in unpredictable results (hangs, data corruptions)." BZ

This patch is in Alan's -ac tree.

Just get the latest patch for 2.6.10 from:
http://kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/

author
#5 lore raw
Quoted 1 line

output of lspci command would be also helpful

# lspci -vv 
00:00.0 Host bridge: Toshiba America Info Systems 601 (rev a0)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0, cache line size 08

00:04.0 VGA compatible controller: Chips and Technologies F65555 HiQVPro (rev c6) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M] Expansion ROM at <unassigned> [disabled] [size=256K]

00:0b.0 USB Controller: NEC Corporation USB (rev 02) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems USB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (250ns min, 5250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]

00:11.0 Communication controller: Toshiba America Info Systems FIR Port (rev 21)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at ffe0 [size=32]

# hdparm -i /dev/hda
/dev/hda:

Model=TOSHIBA MK4006MAV, FwRev=F2.03 A, SerialNo=68527172 Config={ Fixed }
RawCHS=7944/16/63, TrkSize=0, SectSize=0, ECCbytes=24 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16 CurCHS=7944/16/63, CurSects=8007552, LBA=yes, LBAsects=8007552 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled

* signifies the current active mode

Quoted 3 lines

This patch is in Alan's -ac tree.
Just get the latest patch for 2.6.10 from:
http://kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/

As I remember I tried kernel applied by this patch.
This was the first thing that I made after vanilla kernel. I will try for sure again, but keep in mind that without DMA it is horribly long.
Haha can you imagine what I felt when updatetedb for slocate was runned at first time? Believe me I would like solve this problem as soon as possible.

Marcin Kuk

author
#6 lore raw

Bad news :-(.

Now I am working with my new compiled 2..6.10ac12 kernel. I can't enable DMA setting.

My system: Slackware 10

# lspci -vv
00:00.0 Host bridge: Toshiba America Info Systems 601 (rev a0)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0, cache line size 08

00:04.0 VGA compatible controller: Chips and Technologies F65555 HiQVPro (rev c6) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M] Expansion ROM at <unassigned> [disabled] [size=256K]

00:0b.0 USB Controller: NEC Corporation USB (rev 02) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems USB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (250ns min, 5250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]

00:11.0 Communication controller: Toshiba America Info Systems FIR Port (rev 21)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at ffe0 [size=32]

# hdparm -i /dev/hda
/dev/hda:

Model=TOSHIBA MK4006MAV, FwRev=F2.03 A, SerialNo=68527172 Config={ Fixed }
RawCHS=7944/16/63, TrkSize=0, SectSize=0, ECCbytes=24 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16 CurCHS=7944/16/63, CurSects=8007552, LBA=yes, LBAsects=8007552 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled

* signifies the current active mode

# dmesg
..............
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
hda: TOSHIBA MK4006MAV, ATA DISK drive
Probing IDE interface ide1...
hdc: CD-220EA, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 8007552 sectors (4099 MB), CHS=7944/16/63
hda: cache flushes not supported
 hda: hda1 hda2 hda3 hda4
hdc: ATAPI 20X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.20
................
# hdparm -d1 /dev/hda
/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

What can I do?

Marcin Kuk

author
#7 lore raw

Hi.

That's me again.
I don't know if you remember my problem so I remind.
What can I try to do for enabling DMA in my Toshiba Satellite 320CDT laptop. Any ideas, suggestions?
I will be thankful.

Quoted 90 lines

Bad news :-(.

Now I am working with my new compiled 2..6.10ac12 kernel. I can't enable DMA setting.

My system: Slackware 10

# lspci -vv
00:00.0 Host bridge: Toshiba America Info Systems 601 (rev a0)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0, cache line size 08

00:04.0 VGA compatible controller: Chips and Technologies F65555 HiQVPro (rev c6) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M] Expansion ROM at <unassigned> [disabled] [size=256K]

00:0b.0 USB Controller: NEC Corporation USB (rev 02) (prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems USB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (250ns min, 5250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]

00:11.0 Communication controller: Toshiba America Info Systems FIR Port (rev 21)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at ffe0 [size=32]

# hdparm -i /dev/hda
/dev/hda:

Model=TOSHIBA MK4006MAV, FwRev=F2.03 A, SerialNo=68527172 Config={ Fixed }
RawCHS=7944/16/63, TrkSize=0, SectSize=0, ECCbytes=24 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16 CurCHS=7944/16/63, CurSects=8007552, LBA=yes, LBAsects=8007552 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled

* signifies the current active mode

# dmesg
..............
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
hda: TOSHIBA MK4006MAV, ATA DISK drive
Probing IDE interface ide1...
hdc: CD-220EA, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 8007552 sectors (4099 MB), CHS=7944/16/63
hda: cache flushes not supported
 hda: hda1 hda2 hda3 hda4
hdc: ATAPI 20X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.20
................
# hdparm -d1 /dev/hda
/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

What can I do?

Marcin Kuk