From: Marin Mitov <mitov@issp.bas.bg>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: u.kleine-koenig@pengutronix.de, g.liakhovetski@gmx.de,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
akpm@linux-foundation.org, linux-arm-kernel@lists.infradead.org,
linux-sh@vger.kernel.org, philippe.retornaz@epfl.ch,
gregkh@suse.de, jkrzyszt@tis.icnet.pl
Subject: Re: [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API
Date: Sat, 28 Aug 2010 10:19:43 +0300 [thread overview]
Message-ID: <201008281019.52515.mitov@issp.bas.bg> (raw)
In-Reply-To: <20100828160921U.fujita.tomonori@lab.ntt.co.jp>
On Saturday, August 28, 2010 10:10:28 am FUJITA Tomonori wrote:
> On Sat, 28 Aug 2010 09:14:25 +0300
> Marin Mitov <mitov@issp.bas.bg> wrote:
>
> > On Friday, August 27, 2010 09:32:14 am FUJITA Tomonori wrote:
> > > On Fri, 27 Aug 2010 09:23:21 +0300
> > > Marin Mitov <mitov@issp.bas.bg> wrote:
> > >
> > > > On Friday, August 27, 2010 08:57:59 am FUJITA Tomonori wrote:
> > > > > On Fri, 27 Aug 2010 07:19:07 +0200
> > > > > Uwe Kleine-K^[$(D+S^[(Bnig <u.kleine-koenig@pengutronix.de> wrote:
> > > > >
> > > > > > Hey,
> > > > > >
> > > > > > On Fri, Aug 27, 2010 at 02:00:17PM +0900, FUJITA Tomonori wrote:
> > > > > > > On Fri, 27 Aug 2010 06:41:42 +0200
> > > > > > > Uwe Kleine-K^[$(D+S^[(Bnig <u.kleine-koenig@pengutronix.de> wrote:
> > > > > > > > On Thu, Aug 26, 2010 at 07:00:24PM +0900, FUJITA Tomonori wrote:
> > > > > > > > > On Thu, 26 Aug 2010 11:53:11 +0200
> > > > > > > > > Uwe Kleine-K^[$(D+S^[(Bnig <u.kleine-koenig@pengutronix.de> wrote:
> > > > > > > > >
> > > > > > > > > > > > We have currently a number of boards broken in the mainline. They must be
> > > > > > > > > > > > fixed for 2.6.36. I don't think the mentioned API will do this for us. So,
> > > > > > > > > > > > as I suggested earlier, we need either this or my patch series
> > > > > > > > > > > >
> > > > > > > > > > > > http://thread.gmane.org/gmane.linux.ports.sh.devel/8595
> > > > > > > > > > > >
> > > > > > > > > > > > for 2.6.36.
> > > > > > > > > > >
> > > > > > > > > > > Why can't you revert a commit that causes the regression?
> > > > > > > > > > >
> > > > > > > > > > > The related DMA API wasn't changed in 2.6.36-rc1. The DMA API is not
> > > > > > > > > > > responsible for the regression. And the patchset even exnteds the
> > > > > > > > > > > definition of the DMA API (dma_declare_coherent_memory). Such change
> > > > > > > > > > > shouldn't applied after rc1. I think that DMA-API.txt says that
> > > > > > > > > > > dma_declare_coherent_memory() handles coherent memory for a particular
> > > > > > > > > > > device. It's not for the API that reserves coherent memory that can be
> > > > > > > > > > > used for any device for a single device.
> > > > > > > > > > The patch that made the problem obvious for ARM is
> > > > > > > > > > 309caa9cc6ff39d261264ec4ff10e29489afc8f8 aka v2.6.36-rc1~591^2~2^4~12.
> > > > > > > > > > So this went in before v2.6.36-rc1. One of the "architectures which
> > > > > > > > > > similar restrictions" is x86 BTW.
> > > > > > > > > >
> > > > > > > > > > And no, we won't revert 309caa9cc6ff39d261264ec4ff10e29489afc8f8 as it
> > > > > > > > > > addresses a hardware restriction.
> > > > > > > > >
> > > > > > > > > How these drivers were able to work without hitting the hardware restriction?
> > > > > > > > In my case the machine in question is an ARMv5, the hardware restriction
> > > > > > > > is on ARMv6+ only. You could argue that so the breaking patch for arm
> > > > > > > > should only break ARMv6, but I don't think this is sensible from a
> > > > > > > > maintainers POV. We need an API that works independant of the machine
> > > > > > > > that runs the code.
> > > > > > >
> > > > > > > Agreed. But insisting that the DMA API needs to be extended wrongly
> > > > > > > after rc2 to fix the regression is not sensible too. The related DMA
> > > > > > > API wasn't changed in 2.6.36-rc1. The API isn't responsible for the
> > > > > > > regression at all.
> > > > > > I think this isn't about "responsiblity". Someone in arm-land found
> > > > > > that the way dma memory allocation worked for some time doesn't work
> > > > > > anymore on new generation chips. As pointing out this problem was
> > > > > > expected to find some matches it was merged in the merge window. One
> > > > > > such match is the current usage of the DMA API that doesn't currently
> > > > > > offer a way to do it right, so it needs a patch, no?
> > > > >
> > > > > No, I don't think so. We are talking about a regression, right?
> > > > >
> > > > > On new generation chips, something often doesn't work (which have
> > > > > worked on old chips for some time). It's not a regresiion. I don't
> > > > > think that it's sensible to make large change (especially after rc1)
> > > > > to fix such issue. If you say that the DMA API doesn't work on new
> > > > > chips and proposes a patch for the next merge window, it's sensible, I
> > > > > suppose.
> > > > >
> > > > > Btw, the patch isn't a fix for the DMA API. It tries to extend the DMA
> > > > > API (and IMO in the wrong way).
> > > > > In addition, the patch might break the
> > > > > current code.
> > > >
> > > > To "break the current code" is simply not possible. Sorry to oppose. As you have written it
> > > > "extend the DMA API", so if you do not use the new API (and no current code is using it)
> > > > you cannot "break the current code".
> > >
> > > Looks like that the patch adds the new API that touches the exisitng
> > > code. It means the existing code could break. So the exsising API
> > > could break too.
> > >
> > > http://thread.gmane.org/gmane.linux.ports.sh.devel/8595
> >
> > The above reference is not my patch. I am speaking for my patch:
> >
> > http://lkml.org/lkml/2010/8/19/200
>
> I think that I already NACK'ed the patch.
OK.
Thanks,
Marin Mitov
>
> 1) drivers/media/videobuf-dma-contig.c should not use
> dma_alloc_coherent. We shouldn't support the proposed API.
>
> 2) I don't think that the DMA API (drivers/base/dma-mapping.c) is not
> for creating "cache". Generally, the kernel uses "pool" concept for
> something like that.
>
> IMHO, reverting the commit 309caa9cc6ff39d261264ec4ff10e29489afc8f8
> temporary (or temporary disabling it for systems that had worked) is
> the most reasonable approach. I don't think that breaking systems that
> had worked is a good idea even if the patch does the right thing. I
> believe that we need to fix the broken solution
> (videobuf-dma-contig.c) before the commit.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2010-08-28 7:22 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-19 15:18 [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API Marin Mitov
2010-08-20 7:17 ` FUJITA Tomonori
2010-08-20 8:13 ` Marin Mitov
2010-08-20 8:35 ` FUJITA Tomonori
2010-08-20 11:50 ` Marin Mitov
2010-08-26 5:40 ` FUJITA Tomonori
2010-08-26 6:04 ` Marin Mitov
2010-08-26 6:24 ` FUJITA Tomonori
2010-08-26 7:01 ` Marin Mitov
2010-08-26 9:43 ` FUJITA Tomonori
2010-08-26 10:14 ` Marin Mitov
2010-08-26 9:06 ` Guennadi Liakhovetski
2010-08-26 9:17 ` Uwe Kleine-König
2010-08-26 10:18 ` Marin Mitov
2010-08-26 9:30 ` FUJITA Tomonori
2010-08-26 9:45 ` Guennadi Liakhovetski
2010-08-26 9:51 ` FUJITA Tomonori
2010-08-26 17:49 ` Russell King - ARM Linux
2010-08-26 18:32 ` Marin Mitov
2010-08-26 9:53 ` Uwe Kleine-König
2010-08-26 10:00 ` FUJITA Tomonori
2010-08-26 17:54 ` Russell King - ARM Linux
2010-08-27 0:26 ` FUJITA Tomonori
2010-08-27 4:41 ` Uwe Kleine-König
2010-08-27 5:00 ` FUJITA Tomonori
2010-08-27 5:19 ` Uwe Kleine-König
2010-08-27 5:57 ` FUJITA Tomonori
2010-08-27 6:13 ` Uwe Kleine-König
2010-08-27 6:23 ` Marin Mitov
2010-08-27 6:32 ` FUJITA Tomonori
2010-08-27 6:38 ` Uwe Kleine-König
2010-08-27 7:02 ` Marin Mitov
2010-08-28 6:14 ` Marin Mitov
2010-08-28 7:10 ` FUJITA Tomonori
2010-08-28 7:19 ` Marin Mitov [this message]
2010-10-10 14:08 ` FUJITA Tomonori
2010-10-10 14:36 ` Marin Mitov
2010-10-10 18:21 ` Guennadi Liakhovetski
2010-10-10 18:48 ` Marin Mitov
2010-10-13 8:04 ` KAMEZAWA Hiroyuki
2010-10-13 16:42 ` Marin Mitov
2010-10-14 7:16 ` FUJITA Tomonori
2010-08-20 20:05 ` Guennadi Liakhovetski
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=201008281019.52515.mitov@issp.bas.bg \
--to=mitov@issp.bas.bg \
--cc=akpm@linux-foundation.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=g.liakhovetski@gmx.de \
--cc=gregkh@suse.de \
--cc=jkrzyszt@tis.icnet.pl \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=philippe.retornaz@epfl.ch \
--cc=u.kleine-koenig@pengutronix.de \
/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