linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Andi Kleen <andi@firstfloor.org>, Tejun Heo <htejun@gmail.com>,
	Natalie Protasevich <protasnb@gmail.com>,
	Jeff Garzik <jgarzik@pobox.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ide@vger.kernel.org, Jens Axboe <jens.axboe@oracle.com>
Subject: Re: AMD64 dma_alloc_coherent crashes on non PCI device (was SATA open bugs)
Date: Thu, 9 Aug 2007 21:28:50 +0200	[thread overview]
Message-ID: <20070809192850.GA32280@one.firstfloor.org> (raw)
In-Reply-To: <20070809185310.682dffbc@the-village.bc.nu>

On Thu, Aug 09, 2007 at 06:53:10PM +0100, Alan Cox wrote:
> > Or perhaps you got the wrong device here? For ISA devices we 
> > traditionally used NULL. Or if you set up your own ISA devices
> > (which I can't see a reason for but there might be one I'm missing) 
> > at least give them a dma mask. Then it should probably work on x86-64.
> 
> The libata code currently (and this seems to work for all but x86-64)
> does the following if it is setting up a potentially DMA capable device

Where does the device come from? What device is it?
Is that known already?

> Thus I think dma_alloc_coherent() for an ISA, PCMCIA or other class
> (platform particularly) shouldn't explode on AMD64 but simply return
> NULL. Its a sane request to make when you don't in your library know what
> dev is.

But at least on x86-64 the device is likely DMA capable. At least
PCMCIA usually is.  Near all devices are DMA capable, except perhaps
SMBus and some real oddballs. So the device should not have a NULL dma_mask
in the first place. Or it is the wrong device. e.g. we have platform
devices for things like timers etc. which are really not DMA capable
because it doesn't make much sense to DMA your timer; but there
should be really no reason to use such a device in a libata driver. 

If it's some kind of PCMCIA device like implied by pata_pcmcia
then it's likely DMA capable.

So if I return NULL then either a really DMA capable device will
not work. Or you got a real oddball device that you shouldn't have gotten
in the first place. 

Perhaps the PCMCIA code sets up some of its devices wrong? 

-Andi


  reply	other threads:[~2007-08-09 19:28 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-08 22:31 SATA open bugs Natalie Protasevich
2007-08-09  2:17 ` Mark Lord
2007-08-09  3:58 ` Tejun Heo
2007-08-09  5:44   ` Jens Axboe
2007-08-09 11:17   ` Matt Sealey
2007-08-09 13:53   ` AMD64 dma_alloc_coherent crashes on non PCI device (was SATA open bugs) Alan Cox
2007-08-09 17:05     ` Andi Kleen
2007-08-09 17:21       ` Alan Cox
2007-08-09 17:23         ` Andi Kleen
2007-08-09 17:53           ` Alan Cox
2007-08-09 19:28             ` Andi Kleen [this message]
2007-08-09 22:34               ` Alan Cox
2007-08-09 22:43                 ` Andi Kleen
2007-08-09 23:14                   ` Alan Cox
2007-08-09 23:08                     ` Andi Kleen
2007-08-09 23:11                     ` AMD64 dma_alloc_coherent crashes on non PCI device (was SATA open bugs) II Andi Kleen
2007-08-09 23:24                       ` Alan Cox
2007-08-10  9:43                         ` Andi Kleen
2007-08-10 13:54                           ` Alan Cox
2007-08-10 14:52                             ` James Bottomley
2007-08-10 16:58                               ` Alan Cox
2007-08-10 18:28                                 ` James Bottomley
2007-08-10 20:27                                   ` Andi Kleen
2007-09-16 17:12                                     ` James Bottomley
2007-09-16 17:15                                       ` [PATCH 1/1] introduce DMA_MASK_NONE as a signal for unable to do DMA James Bottomley
2007-09-16 17:16                                       ` [Patch 2/2] pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices James Bottomley
2007-08-09 20:19             ` AMD64 dma_alloc_coherent crashes on non PCI device (was SATA open bugs) James Bottomley
2007-08-09 22:37               ` Alan Cox
2007-08-09 22:53                 ` James Bottomley
2007-08-09 23:17                   ` Alan Cox
2007-08-09 23:26                     ` James Bottomley
2007-08-09  5:28 ` SATA open bugs James Bottomley

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=20070809192850.GA32280@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=htejun@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=protasnb@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).