Thread (17 messages) 17 messages, 6 authors, 2011-04-19

[REVERT] Re: V4L: videobuf-dma-contig: fix mmap_mapper broken on ARM

From: Mauro Carvalho Chehab <hidden>
Date: 2011-04-19 12:38:02
Also in: linux-media

Em 19-04-2011 03:08, Jiri Slaby escreveu:
On 04/14/2011 12:00 AM, Russell King - ARM Linux wrote:
quoted
On Wed, Apr 13, 2011 at 10:56:39PM +0200, Janusz Krzysztofik wrote:
quoted
Dnia ?roda 13 kwiecie? 2011 o 20:32:31 Russell King - ARM Linux 
napisa?(a):
quoted
On Wed, Apr 13, 2011 at 12:52:31PM +0200, Janusz Krzysztofik wrote:
quoted
Taking into account that I'm just trying to fix a regression, and
not invent a new, long term solution: are you able to name an ARM
based board which a) is already supported in 2.6.39, b) is (or can
be) equipped with a device supported by a V4L driver which uses
videobuf- dma-config susbsystem, c) has a bus structure with which
virt_to_phys(bus_to_virt(dma_handle)) is not equal dma_handle?
I have no idea - and why should whether someone can name something
that may break be a justification to allow something which is
technically wrong?

Surely it should be the other way around - if its technically wrong
and _may_ break something then it shouldn't be allowed.
In theory - of course. In practice - couldn't we now, close to -rc3, 
relax the rules a little bit and stop bothering with something that may 
break in the future if it doesn't break on any board supported so far (I 
hope)?
If we are worried about closeness to -final, then what should happen is
that the original commit is reverted; the "fix" for IOMMUs resulted in
a regression for existing users which isn't trivial to resolve without
risking possible breakage of other users.
Hi, as -rc4 is out, I think it's time to revert that commit and rethink
the mmap behaviour for some of next -rc1s.

Linus, please revert
commit 35d9f510b67b10338161aba6229d4f55b4000f5b
Author: Jiri Slaby [off-list ref]
Date:   Mon Feb 28 06:37:02 2011 -0300
It seems the better option for now.

Acked-by: Mauro Carvalho Chehab <redacted>
    [media] V4L: videobuf, don't use dma addr as physical
===

It fixes mmap when IOMMU is used on x86 only, but breaks architectures
like ARM or PPC where virt_to_phys(dma_alloc_coherent) doesn't work. We
need there dma_mmap_coherent or similar (the trickery what
snd_pcm_default_mmap does but in some saner way). But this cannot be
done at this phase.

thanks,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help