IT821x: no DMA since 2.6.21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

Since 2.6.21 I have a problem with the it821x driver on my ITE 8212
controller.
Now I saw some updates to it821x in 2.6.22-rc1 and gave that a try, but
the problem persists.

It seems that DMA is broken on it8212 somehow since the merge of
the it8213 driver.

dmesg shows some BUG DMA OFF:
-----------------8<-----------------
IT8212: IDE controller at PCI slot 0000:00:09.0
ACPI: PCI Interrupt 0000:00:09.0[A] -> GSI 17 (level, low) -> IRQ 18
IT8212: chipset revision 17
it821x: controller in smart mode.
IT8212: 100% native mode on irq 18
    ide2: BM-DMA at 0xdc00-0xdc07, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xdc08-0xdc0f, BIOS settings: hdg:pio, hdh:pio
Probing IDE interface ide2...
hde: SAMSUNG SP2514N, ATA DISK drive
hdf: Maxtor 6Y120L0, ATA DISK drive
hde: selected mode 0x45
hdf: selected mode 0x46
hde: Performing identify fixups.
hdf: Performing identify fixups.
ide2 at 0xec00-0xec07,0xe802 on irq 18
hde: max request size: 128KiB
hde: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63,
BUG DMA OFF 
hde:hde: recal_intr: status=0x51 { DriveReady SeekComplete Error } 
hde:recal_intr: error=0x04 { DriveStatusError } 
ide: failed opcode was: unknown hde1
hdf: max request size: 128KiB
hdf: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63,
BUG DMA OFF 
hdf:hdf: recal_intr: status=0x51 { DriveReady SeekComplete Error } 
hdf:recal_intr: error=0x04 { DriveStatusError } 
ide: failed opcode was: unknown hdf1
------------------------>8-----------------------

Until 2.6.20 (since 2.6.10) the driver worked quite fine, but since
2.6.21 moving/copying files from/to any drive on the controller is 
a) really slow, 
b) music starts skipping, 
c) mouse stopps moving for short periods, 
and hdparm does not work anymore:

# hdparm -d1 /dev/hde
/dev/hde:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Input/output error
 using_dma     =  0 (off)

This has not been a problem before. hdparm -tT showed something around
40MB/s for buffered reads, now it looks like this:

# hdparm -tT /dev/hde

/dev/hde:
 Timing cached reads:   356 MB in  2.01 seconds = 177.30 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Input/output
error 
 Timing buffered disk reads:   10 MB in  3.28 seconds =   3.05 MB/sec 
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Input/output
error

more: http://phpfi.com/234217

If there is more info needed, please tell me what. And please CC as I
am not subscribed.

Thanks,
Thomas

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux