PDA

View Full Version : DMA!


DaRkBoDoM
08-08-2004, 03:21
Ciao a tutti :)

Ho rimediato un vecchio laptop olivetti echos p120c e ci ho messo su la mia bella debian 'sid' con kernel 2.4.

Tutto funziona egregiamente, tranne che per un piccolo, ma fondamentale, particolare: non riesco a far andare il dma...

hdparm -d1 /dev/hda
mi restituisce l'errore "HDIO_SET_DMA failed: Operation not permitted", e il dma rimane disabilitato... ho una trasfer rate medio di 1,5Mb/sec... aiuto!!!

DeadLock
08-08-2004, 07:39
guarda se puo' essere utile 'sto 3d ;)

Linux Kernel: 2.5.39: hdparm: HDIO_SET_DMA failed: Operation not permitted (http://seclists.org/lists/linux-kernel/2002/Oct/0155.html)

DL :sperem:

HexDEF6
08-08-2004, 07:43
potrebbe essere che controller ide o disco non supportano il dma, ma solo il trasferimento in pio....

DaRkBoDoM
08-08-2004, 16:20
Niente in quel thread...

il disco supporta di sicuro il dma (almeno secondo hdparm -i), per il controller non sono sicuro, ma cosi' a memoria il dma e' supportato dai tempi del 486...

Allego qualche info:


valhalla:~# cat /proc/pci
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: United Microelectronics [UMC] UM8891N (rev 176).
Bus 0, device 12, function 0:
VGA compatible controller: Chips and Technologies F65548 (rev 0).
Non-prefetchable 32 bit memory at 0xfe000000 [0xfe7fffff].
Bus 0, device 18, function 0:
ISA bridge: United Microelectronics [UMC] UM8886N (rev 163).
Bus 0, device 18, function 1:
IDE interface: United Microelectronics [UMC] UM8673F (rev 162).



valhalla:~# hdparm -I -i /dev/hda

/dev/hda:

Model=TOSHIBA MK6014MAP, FwRev=N2.10 A, SerialNo=Z9E30540T
Config={ Fixed }
RawCHS=12416/15/63, TrkSize=0, SectSize=0, ECCbytes=46
BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16
CurCHS=12416/15/63, CurSects=11733120, LBA=yes, LBAsects=11733120
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 udma3 udma4
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive conforms to: device does not report version: 1 2 3 4

* signifies the current active mode


ATA device, with non-removable media
Model Number: TOSHIBA MK6014MAP
Serial Number: Z9E30540T
Firmware Revision: N2.10 A
Standards:
Supported: 4 3 2 1
Likely used: 4
Configuration:
Logical max current
cylinders 12416 12416
heads 15 15
sectors/track 63 63
--
CHS current addressable sectors: 11733120
LBA user addressable sectors: 11733120
device size with M = 1024*1024: 5729 MBytes
device size with M = 1000*1000: 6007 MBytes (6 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 46 Queue depth: 1
Standby timer values: spec'd by Vendor, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: unknown setting (0x0080)
DMA: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
Power Management feature set
Security Mode feature set
SMART feature set
Advanced Power Management feature set
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
12min for SECURITY ERASE UNIT.



valhalla:~# hdparm -d 1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

DeadLock
09-08-2004, 09:24
ho controllato la Doc fornita con i src del kernel 2.4.26 ma non ho trovato rif spec per il chipset della tua ctrl ide; parla solo del chip umc8672.

potresti postare il risultato dei seguenti cmds?
dmesg
lsmod
uname -a


DL :)

elypepe
10-08-2004, 13:01
per capire o meno se gestisce il DMA devi sapere che mobo hai e che chipset monta, poi guarda nelle caratteristiche del chipset.