All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre Ossman <drzeus-list@drzeus.cx>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: ISA DMA controller hangs
Date: Sun, 05 Jun 2005 10:21:36 +0200	[thread overview]
Message-ID: <42A2B610.1020408@drzeus.cx> (raw)
In-Reply-To: <1117288285.2685.10.camel@localhost.localdomain>

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


  reply	other threads:[~2005-06-05  8:21 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-28 13:38 ISA DMA controller hangs Pierre Ossman
2005-05-28 13:51 ` Alan Cox
2005-06-05  8:21   ` Pierre Ossman [this message]
2005-06-05 14:03     ` Pierre Ossman
2005-06-16 15:53       ` Pierre Ossman
2005-06-16 16:06         ` Russell King
2005-06-18  8:15           ` Pierre Ossman
2005-06-19 15:45             ` Russell King
2005-06-30  8:00           ` Pierre Ossman
2005-06-30 11:28             ` Alan Cox
2005-06-30 12:20               ` Pierre Ossman
2005-06-30 17:55                 ` [PATCH 1/2] ISA DMA suspend for i386 Pierre Ossman
2005-06-30 17:58                 ` [PATCH 2/2] ISA DMA suspend for x86_64 Pierre Ossman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42A2B610.1020408@drzeus.cx \
    --to=drzeus-list@drzeus.cx \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.