From: James Bottomley <James.Bottomley@SteelEye.com>
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, 09 Aug 2007 16:26:32 -0700 [thread overview]
Message-ID: <1186701992.3426.19.camel@localhost.localdomain> (raw)
In-Reply-To: <20070810001713.3e098338@the-village.bc.nu>
On Fri, 2007-08-10 at 00:17 +0100, Alan Cox wrote:
> > If the device you're passing has a NULL dma_mask pointer that means the
> > platform hasn't set it up correctly for dma ... and that's the
>
> Well it may not do DMA.
Unfortunately, I don't think we've considered that possibility in the
integration of the dma API and generic devices.
> > underlying problem (although it's not necessarily a libata problem): you
> > can't call dma_ operations on a device that hasn't been set up in the
> > platform for it.
>
> Right.
>
> Ok so what is the right way given a random *correctly* set up device that
> may or may not be DMA capable to determine this. Its an arbitary device
> pointer for an arbitary device class on an arbitary platform which may or
> may not support DMA for this device class ?
>
> Can I called dma_alloc_coherent and get a NULL back or do we need a
> device_can_dma() check in each platform ?
Fundamentally it's a different question. The dma_alloc is just saying
can you set up a coherent memory area that this device can reach. Often
the platform cannot necessarily discover this. I'd say the best signal
is that the driver has called dma_set_mask(dev, DMA_MASK_NONE) (which
isn't defined yet). So the platform has a signal that the device isn't
DMA capable.
James
next prev parent reply other threads:[~2007-08-09 23:26 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
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 [this message]
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=1186701992.3426.19.camel@localhost.localdomain \
--to=james.bottomley@steeleye.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andi@firstfloor.org \
--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).