Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 169903 - kernel 2.6.20 - no DMA w/ Intel 82801GBM
Summary: kernel 2.6.20 - no DMA w/ Intel 82801GBM
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-08 08:24 UTC by Benjamin Selinger
Modified: 2007-03-08 23:20 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Selinger 2007-03-08 08:24:54 UTC
No DMA support <1MB/s

--------------------
dmesg | grep ata
 BIOS-e820: 000000003f690000 - 000000003f69e000 (ACPI data)
ACPI: SSDT (v001 SataRe  SataPri 0x00001000 INTL 0x20050624) @ 0x3f696329
ACPI: SSDT (v001 SataRe  SataSec 0x00001000 INTL 0x20050624) @ 0x3f695c97
Memory: 1023668k/1038912k available (3107k kernel code, 14632k reserved, 1507k data, 340k init, 121408k highmem)
      .data : 0xc0408fbb - 0xc0581e90   (1507 kB)
libata version 2.00 loaded.
ata_piix 0000:00:1f.2: version 2.00ac7
ata_piix 0000:00:1f.2: MAP [ IDE IDE P1 P3 ]
ata: 0x1F0 IDE port busy
ata: conflict with ide0
ata1: DUMMY
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18B8 irq 15
scsi0 : ata_piix
scsi1 : ata_piix.
------------------------
dmesg | grep hda
hda: ST9160821A, ATA DISK drive
hda: max request size: 512KiB
hda: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63
hda: cache fcat /usr/src/linux/.config | grep ATA
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_RELOCATABLE is not set
# CONFIG_ATALK is not set
# CONFIG_ATA_OVER_ETH is not set
# ATA/ATAPI/MFM/RLL support
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_SCSI_EATA is not set
# Serial ATA (prod) and Parallel ATA (experimental) drivers
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_SATA_AHCI=y
CONFIG_SATA_SVW=y
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=y
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
CONFIG_SATA_SIL=y
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
CONFIG_SATA_VIA=y
# CONFIG_SATA_VITESSE is not set
CONFIG_SATA_INTEL_COMBINED=y
lushes supported
 hda: hda1 hda2
-------------------------------------
cat /usr/src/linux/.config | grep ATA
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_RELOCATABLE is not set
# CONFIG_ATALK is not set
# CONFIG_ATA_OVER_ETH is not set
# ATA/ATAPI/MFM/RLL support
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_SCSI_EATA is not set
# Serial ATA (prod) and Parallel ATA (experimental) drivers
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_SATA_AHCI=y
CONFIG_SATA_SVW=y
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=y
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
CONFIG_SATA_SIL=y
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
CONFIG_SATA_VIA=y
# CONFIG_SATA_VITESSE is not set
CONFIG_SATA_INTEL_COMBINED=y
------------------------------------
cat /usr/src/linux/.config | grep IDE
# CONFIG_ACPI_VIDEO is not set
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 is not set
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 is not set
# IDE chipset support/bugfixes
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_IDEPCI_SHARE_IRQ is not set
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_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# Old CD-ROM drivers (not SCSI, not IDE)
# CONFIG_CD_NO_IDESCSI is not set
# CONFIG_IEEE1394_VIDEO1394 is not set



Reproducible: Always

Actual Results:  
hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   2138 MB in  2.00 seconds = 1069.44 MB/sec
 Timing buffered disk reads:    4 MB in  3.24 seconds =   1.23 MB/sec
----------------------
System is almost entirely unresponsive during disk read/writes

Expected Results:  
DMA=1 :)

This is on an ACER Aspire 9410

I tried disabling everything not absolutely necessary to ATA and SATA, and managed to get the Timing cached reads: 4269 MB in 2.00 seconds = ~2000 MB/sec.
Rebooted a second time, and the driver had a problem with interupts on irq 14, and thus, did not load, rendering the system unbootable.
-----------
output of lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Unknown device 8168 (rev 01)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
0a:06.0 CardBus bridge: Texas Instruments Unknown device 8039
0a:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
0a:06.3 Generic system peripheral [0805]: Texas Instruments Unknown device 803c
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-03-08 09:34:23 UTC
At least tell us which kernel version is this about.
Comment 2 Benjamin Selinger 2007-03-08 18:39:27 UTC
Kernel version 2.6.20
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2007-03-08 22:06:54 UTC
Your disk controller is being claimed by the generic IDE driver. Please disable that. Bear in mind that if libata ata_piix does successfully  claim the device, your disk will move from hda to sda.
Comment 4 Benjamin Selinger 2007-03-08 22:27:02 UTC
I thought i tried that, and the PIIX wouldn't even recognize the chipset.
Disabling generic ata support now, and changing all references of hda to sda.
Comment 5 Benjamin Selinger 2007-03-08 22:50:56 UTC
Sucess!  This doesn't happen on any other system I've run into, but removing the Generica ATA driver did in fact solve the problem.

# CONFIG_ATA_GENERIC is not set
Comment 6 Benjamin Selinger 2007-03-08 22:52:10 UTC
Should the generic ATA always be releasing the hardware when a more suitable driver asserts itself?
Comment 7 Daniel Drake (RETIRED) gentoo-dev 2007-03-08 23:20:57 UTC
Not right now. And you don't need to disable that option, you only need to disable the generic IDE part.