public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Eugene Surovegin <ebs@ebshome.net>
To: Linh Dang <dang.linh@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH][PPC32[NEWBIE] enhancement to virt_to_bus/bus_to_virt (try 2)
Date: Sun, 5 Dec 2004 02:11:10 -0800	[thread overview]
Message-ID: <20041205101110.GC3448@gate.ebshome.net> (raw)
In-Reply-To: <3b2b32004120306463b016029@mail.gmail.com>

On Fri, Dec 03, 2004 at 09:46:00AM -0500, Linh Dang wrote:
> On Fri, 3 Dec 2004 07:31:14 +1100, Paul Mackerras <paulus@samba.org> wrote:
> > Linh Dang writes:
> > 
> > > In 2.6.9 on non-APUS ppc32 platforms, virt_to_bus() will just subtract
> > > KERNELBASE  from the the virtual address. bus_to_virt() will perform
> > > the reverse operation.
> > >
> > > This patch will make virt_to_bus():
> > >
> > >      - perform the current operation if the virtual address is between
> > >        KERNELBASE and ioremap_bot.
> > 
> > Why do you want to do this?  The only code that should be using
> > virt_to_bus or bus_to_virt is the DMA API code, and it's happy with
> > them the way they are.
> 
> I wrote a DMA engine (to used by other drivers) that (would like to) accept
> all kind of buffers as input (vmalloced, dual-access shared RAM mapped
> by BATs, etc). The DMA engine has to decode the virtual address of the
> input buffer to (possibly multiple) physical  address(es). virt_to_phys()
> has the right name for the job except it only works for the kernel virtual
> addresses initially mapped at KERNELBASE

Unfortunately your patch doesn't achieve your goals. vmalloc space on 
PPC32 will be between KERNEL_BASE and ioremap_bot anyway, so 
additional check is mostly useless anyway (it will only call iopa() 
for ioremaps done early during the boot).

Also, even assuming you got the range right and called iopa() for 
vmalloced space, tell me how are you gonna deal with non-physically 
continuous vmalloced buffers in your DMA library?

--
Eugene

  reply	other threads:[~2004-12-05 10:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-02 14:49 [PATCH][PPC32] enhancement to virt_to_bus/bus_to_virt (resent with spell-checked subject line) Linh Dang
2004-12-02 16:28 ` [PATCH][PPC32[NEWBIE] enhancement to virt_to_bus/bus_to_virt (try 2) Linh Dang
2004-12-02 20:31   ` Paul Mackerras
2004-12-03 14:46     ` Linh Dang
2004-12-05 10:11       ` Eugene Surovegin [this message]
2004-12-05 19:18         ` Linh Dang
2004-12-05 20:52           ` Eugene Surovegin
2004-12-05 21:12       ` Paul Mackerras
2004-12-06  1:31         ` Linh Dang
2004-12-06  1:56         ` Linh Dang

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=20041205101110.GC3448@gate.ebshome.net \
    --to=ebs@ebshome.net \
    --cc=dang.linh@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulus@samba.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