Re: ISA DMA controller hangs

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

 



Alan Cox wrote:

>
>The DMA controller has some bits of state which are potentially in need
>of restoration as well as a need to ensure you don't suspend while it is
>running I would imagine. Even for bus masters I believe you would need
>to restore the DMA enable bits.
>  
>

I avoid using DMA during suspend to make sure it doesn't get into some
wierd state, but that doesn't solve the problem.

I added some debug output to the driver, dumping the DMA controller's
registers before and after suspend and it seems it goes completely
apeshit. The registers are filled with, what it seems, random data. The
reason it stops working seems to be that channel 4 gets disabled killing
the cascaded channels. I'm going to try and confirm this today.

Now for the solution. Reseting the DMA controller from a device driver
isn't really a good solution. I had a look in dma.c but it didn't seem
to have any place to attach resume/suspend functions. Also, I couldn't
find where DMA channel 4 is enabled during startup. Or does the kernel
count on BIOS doing this?

Rgds
Pierre

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[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