LKML Archive on
help / color / mirror / Atom feed
From: Ingo Molnar <>
To: Eric Anholt <>
Cc:, Keith Packard <>
Subject: Re: [PATCH] Add io-mapping functions to dynamically map large device apertures
Date: Fri, 31 Oct 2008 10:21:25 +0100	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

* Eric Anholt <> wrote:

> From: Keith Packard <>
> Graphics devices have large PCI apertures which would consume a significant
> fraction of a 32-bit address space if mapped during driver initialization.
> Using ioremap at runtime is impractical as it is too slow. This new set of
> interfaces uses atomic mappings on 32-bit processors and a large static
> mapping on 64-bit processors to provide reasonable 32-bit performance and
> optimal 64-bit performance.
> The current implementation sits atop the io_map_atomic fixmap-based mechanism
> for 32-bit processors.
> This includes some editorial suggestions from Randy Dunlap for
> Documentation/io-mapping.txt
> Signed-off-by: Keith Packard <>
> Signed-off-by: Eric Anholt <>
> ---
>  Documentation/io-mapping.txt |   76 +++++++++++++++++++++++++++
>  include/linux/io-mapping.h   |  118 ++++++++++++++++++++++++++++++++++++++++++

I've applied your three patches to tip/core/resources for testing, 

One small detail:

> +++ b/include/linux/io-mapping.h

> +#ifdef CONFIG_X86_64

it's ugly and inflexible to put x86 dependencies into generic headers. 
(even though with a high likelyhood 32-bit x86 will be the only arch 
to ever implement the iomap_atomic() APIs)

Instead please add a HAVE_ATOMIC_IOMAP define to arch/x86/Kconfig:

         def_bool y
         depends on X86_32

... and use #ifndef HAVE_ATOMIC_IOMAP in include/linux/io-mapping.h 
instead of #ifdef CONFIG_X86_64.

( Other 32-bit architectures which need an atomic iomap implementation
  for address space reasons can then implement the iomap_atomic*() 
  APIs too and set this same flag, to gain the same generic io_mapping
  implementation. )

Please send this cleanup as a delta patch, ontop of your three 


  parent reply	other threads:[~2008-10-31  9:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <>
2008-10-31  2:38 ` Eric Anholt
2008-10-31  2:38   ` [PATCH] i915: Use io-mapping interfaces instead of a variety of mapping kludges Eric Anholt
2008-10-31  9:21   ` Ingo Molnar [this message]
2008-10-31 16:59     ` [PATCH] Add io-mapping functions to dynamically map large device apertures Keith Packard
2008-11-03  8:37       ` Ingo Molnar
2008-11-03 17:09 [PATCH] [x86_32] Add io_map_atomic using fixmaps Keith Packard
2008-11-03 17:09 ` [PATCH] Add io-mapping functions to dynamically map large device apertures Keith Packard
  -- strict thread matches above, loose matches on Subject: below --
2008-10-22  9:36 io resources and cached mappings (was: [git pull] drm patches for 2.6.27-rc1) Ingo Molnar
2008-10-23  7:14 ` Keith Packard
2008-10-23  7:14   ` [PATCH] Add io-mapping functions to dynamically map large device apertures Keith Packard
2008-10-24  4:49     ` Randy Dunlap
2008-10-24  6:26       ` Keith Packard

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \
    --subject='Re: [PATCH] Add io-mapping functions to dynamically map large device apertures' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).