From: benh@kernel.crashing.org (Benjamin Herrenschmidt)
To: linux-arm-kernel@lists.infradead.org
Subject: ARM: 2.6.3[45] PCI regression (IXP4xx and PXA?)
Date: Fri, 20 Aug 2010 07:51:52 +1000 [thread overview]
Message-ID: <1282254713.22370.368.camel@pasglop> (raw)
In-Reply-To: <20100819234835Y.fujita.tomonori@lab.ntt.co.jp>
On Thu, 2010-08-19 at 23:50 +0900, FUJITA Tomonori wrote:
>
> You mean that you like to permit architectures to modify
> dev->coherent_dma_mask behind a device? If so, I'm against it because
> it means dev->coherent_dma_mask has two meanings. That's confusing.
No it's not. It has one and only one meaning which is the mask defining
where the coherent memory can come from for that device. Nobody cares if
the device can do more and has been "clipped" at set_coherent_dma_mask()
time by the bus. This is not useful information.
So I beleive the arch should hook the later and modify the mask as it
gets applied -once-.
> I don't plan to have the generic code to deal with multiple masks. I
> thought about simply moving max_direct_dma_addr in POWERPC's
> dev_archdata to a generic place (possibly, struct
> device_dma_parameters). I think that having the generic place for bus'
> dma mask would be better rather than architecture specific
> places. Adding a new API to set bus' dma mask would make sense too.
Well, max_direct_dma_addr used on powerpc is a bit nasty because it
doesn't necessarily represent a power of 2, so a mask is no good here
indeed.
> > Besides, in embedded-land, you never know how many busses are
> stacked
> > before you reach the device, ie, you'd end up having to AND quite a
> > few masks before getting there in some cases.
> >
> > Sounds better to establish that once, at set_coherent_dma_mask()
> time.
>
> As long as dev->coherent_dma_mask represents the same thing on every
> architecture, permitting architectures to have the own
> dma_set_coherent_mask() is fine by me. I like to avoid it if possible
> though.
Ben.
next prev parent reply other threads:[~2010-08-19 21:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-10 20:36 ARM: 2.6.3[45] PCI regression (IXP4xx and PXA?) Krzysztof Halasa
2010-08-11 2:06 ` FUJITA Tomonori
2010-08-11 7:25 ` Russell King - ARM Linux
2010-08-13 6:23 ` FUJITA Tomonori
2010-08-13 21:54 ` Russell King - ARM Linux
2010-08-14 9:30 ` FUJITA Tomonori
2010-08-14 18:46 ` Russell King - ARM Linux
2010-08-15 5:42 ` FUJITA Tomonori
2010-08-15 8:23 ` Russell King - ARM Linux
2010-08-15 15:55 ` FUJITA Tomonori
2010-08-16 23:29 ` Krzysztof Halasa
2010-08-19 8:51 ` FUJITA Tomonori
2010-08-19 16:56 ` Krzysztof Halasa
2010-08-19 10:31 ` Benjamin Herrenschmidt
2010-08-19 14:50 ` FUJITA Tomonori
2010-08-19 16:53 ` Krzysztof Halasa
2010-08-19 17:20 ` FUJITA Tomonori
2010-08-19 21:54 ` Benjamin Herrenschmidt
2010-08-19 21:51 ` Benjamin Herrenschmidt [this message]
2010-08-26 11:55 ` FUJITA Tomonori
2010-08-26 13:54 ` FUJITA Tomonori
2010-08-26 17:57 ` Russell King - ARM Linux
2010-08-27 6:54 ` FUJITA Tomonori
2010-08-26 16:02 ` Krzysztof Halasa
2010-08-27 0:26 ` FUJITA Tomonori
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=1282254713.22370.368.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=linux-arm-kernel@lists.infradead.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 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).