linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API
Date: Fri, 27 Aug 2010 07:19:07 +0200	[thread overview]
Message-ID: <20100827051907.GA17521@pengutronix.de> (raw)
In-Reply-To: <20100827140005Y.fujita.tomonori@lab.ntt.co.jp>

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?nig <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?nig <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?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

  reply	other threads:[~2010-08-27  5:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201008201450.12585.mitov@issp.bas.bg>
     [not found] ` <20100826144000C.fujita.tomonori@lab.ntt.co.jp>
     [not found]   ` <201008260904.19973.mitov@issp.bas.bg>
     [not found]     ` <20100826152333K.fujita.tomonori@lab.ntt.co.jp>
2010-08-26  9:06       ` [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API 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 [this message]
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
     [not found] <201008191818.36068.mitov@issp.bas.bg>
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=20100827051907.GA17521@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --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).