DMA, IDE Bus Master controller, IRQ number?

Yan Luo yan_luo at
Sat Jul 1 02:35:52 UTC 2006


I have a question on enabling DMA access to IDE hard disk using VIA
vt82c686 chipset. My platform is a single board computer AAEON  
PCM-6892 (VIA C3 CPU, via
vt82c686b chipset).

I am trying to find which irq number the IDE bus master controller
(part of the vt82c686 chipset) uses. I read out PCI_INTERRUPT_PIN and
PCI_INTERRUPT_LINE from its PCI configuration space. The
PCI_INTERRUPT_PIN is found to be '0', PCI_INTERRUPT_LINE as 'FF'. Does
it mean this controller does not support interrupt? If so, who do I
tell if the DMA transfer finishes??

The experiment I did is to send ATA_COMMAND_READ_DMA to IDE command
register (I/O address  0x1F7) and then write '1' to the last bit of
IDE BM controller's command register (first register in the BM IDE I/O
space) to start DMA transfer. But the DMA transfer hangs the system. I
have installed an interrupt handler for IRQ 14, which seems not

I am reading source code of Linux, particularly, drivers/ide/*.c and
drivers/ide/pci/via82cxxx.c to try to understand how it works. I'd  
appreciate if you can point me to
some other useful documents.


More information about the users mailing list