lkml.org 
[lkml]   [2008]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reported regressions from 2.6.24)
From
Date
On Sat, 2008-03-22 at 14:33 -0700, Linus Torvalds wrote:
>
> On Sat, 22 Mar 2008, Stefan Richter wrote:
> >
> > Can an MMIO region reside above 0x1'0000'0000 on x86-32? ... Apparently yes,
> > if CONFIG_RESOURCES_64BIT=y.
>
> Hmm. It would only work if PAE (HIGHMEM64G) is enabled too.
>
> And obviously the hardware has to have working 64-bit BAR's.

On other platforms however, you can have mmio above 32 bits without
support for 64 bits BARs: the entire PCI bus mmio region can be mapped
up there.

That happens for example with 4xx embedded PowerPC. We deal with it just
fine, provided that nothing tries to stick a resource value into an
unsigned long but uses resource_size_t instead. Unfortunately, it's a
common bug, I've fixing drivers regulary.

It also appears that the iomap code on various archs is buggy too,
including the generic lib/iomap.c, thus pci_iomap is broken for archs
that can have 64 bits resources and use the version in lib/.

The good news is that I have done a patch to fix it, which has been
in -mm for about a month: iomap-fix-64-bits-resources-on-32-bits.patch

Cheers,
Ben.




\
 
 \ /
  Last update: 2008-03-26 00:37    [W:1.568 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site