lkml.org 
[lkml]   [2008]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] x86, voyager: fix ioremap_nocache()
On Sun, 27 Apr 2008 15:46:20 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Jeff Garzik <jeff@garzik.org>
> Date: Sun, 27 Apr 2008 18:39:24 -0400
>
> > I disagree with this semantics change. A number of code places
> > _and drivers_ GET IT RIGHT, and these are all broken now?
>
> [ Note, James's patch that you quoted is about mapping DMA
> memory, in dma_declare_coherent_memory(), rather than devices.
> But I know what you are trying to talk about Jeff. :-) ]
>
> Wrt. ioremap() semanics, it is important to realize that if
> the implementation of this on x86 has been giving non-cached
> I/O mappings out up until recently, you can expect that there
> are hundreds of drivers that might now be broken.

it's even worse than that.
99% of the time it gave out uncached memory, but if the bios was iffy,
it would suddenly give out something else.

The changes to ioremap() recently turned that into "100% uncached".
For me, that's the right (because safe) behavior, exactly for the
reason you mentioned: it's what happened in practice, and driver writers
would assume that to happen.

Anything except uncached would just be insanity as default.
(well the old "whatever mood the bios writer was in, usually uncached" is
effectively uncached except for weird behaving boxes)

--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org


\
 
 \ /
  Last update: 2008-04-28 01:05    [W:0.092 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site