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>,
	Russell King <rmk+lkml@arm.linux.org.uk>,
	Linus Torvalds <torvalds@osdl.org>
Subject: Re: ISA DMA controller hangs
Date: Thu, 30 Jun 2005 14:20:52 +0200	[thread overview]
Message-ID: <42C3E3A4.3090305@drzeus.cx> (raw)
In-Reply-To: <1120130926.6482.83.camel@localhost.localdomain>

Alan Cox wrote:

>
>It is spelt "weird"
>  
>

Ooops... :)

>Looks basically OK although it would be good to document the situation
>for a bus mastering DMA controller. Does the device have to reconfigure
>the DMA on a resume or is that something the restore code for the device
>should handle ?
>
>My own feeling is tha we should dump that on the device (safer) and also
>expect the device to prevent suspends during an active DMA transfer (eg
>floppy)
>
>  
>

If you mean that the device drivers should restore any state then I
fully agree. A central restore of the complete state of the DMA
controller would require keeping a copy of all data passed to it (since
some registers are write only). The reason for my piece of code here is
that nobody "owns" channel 4 so it must be restored centrally. Also,
resetting the other registers makes the DMA controller behave the same
way on all systems (from the drivers' point of view at least).

Preventing suspend also needs to be done from the drivers. Simply
because only they can determine when the devices are doing the transfer
(examining the DMA controller will only tell us if it's _prepared_ for a
transfer).

I'll fix the typo and whip up a patch for x86_64 then.

Rgds
Pierre


  reply	other threads:[~2005-06-30 12: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
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 [this message]
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=42C3E3A4.3090305@drzeus.cx \
    --to=drzeus-list@drzeus.cx \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk+lkml@arm.linux.org.uk \
    --cc=torvalds@osdl.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.