http://bugs.freedesktop.org/show_bug.cgi?id=17085
--- Comment #13 from Tomas Carnecky <[EMAIL PROTECTED]> 2008-08-15 17:43:16
PST ---
The drm_core_ioremap() at [1] eventually calls ioremap() in
include/asm-x86/io_64.h which calls ioremap_nocache() in arch/x86/mm/ioremap.c
which calls __ioremap_caller() in the same file which fails in this block:
if (prot_val != new_prot_val) {
/*
* Do not fallback to certain memory types with certain
* requested type:
* - request is uc-, return cannot be write-back
* - request is uc-, return cannot be write-combine
* - request is write-combine, return cannot be write-back
*/
if ((prot_val == _PAGE_CACHE_UC_MINUS &&
(new_prot_val == _PAGE_CACHE_WB ||
new_prot_val == _PAGE_CACHE_WC)) ||
(prot_val == _PAGE_CACHE_WC &&
new_prot_val == _PAGE_CACHE_WB)) {
printk(
"ioremap error for 0x%llx-0x%llx, requested 0x%lx, got
0x%lx\n",
(unsigned long long)phys_addr,
(unsigned long long)(phys_addr + size),
prot_val, new_prot_val);
free_memtype(phys_addr, phys_addr + size);
return NULL;
}
prot_val = new_prot_val;
}
with the following values:
ioremap error for 0xe077f000-0xe079f000, requested 0x10, got 0x8
The types are:
- requested: _PAGE_CACHE_UC_MINUS (this one comes directly from
ioremap_nocache())
- got: _PAGE_CACHE_WC
Interesting is also the comment inside ioremap_nocache() (mentions the X
drivers and ioremap_wc()).
new_prot_val comes from arch/x86/mm/pat.c:reserve_memtype() which calls
chk_conflict() because of this conflict:
Xorg:3880 memory types e077f000-e079f000 uncached-minus <-> e0000000-f0000000
write-combining
So someone must be setting up e0000000-f0000000 as WC and drm can't map that as
uncached. Maybe AGP?
agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe0000000
tom
[1]
http://gitweb.freedesktop.org/?p=users/anholt/anholt/linux-2.6.git;a=blob;h=2394f4568005fb0eda07742a343437df943ec67f;hb=93e91293c9d7a3fcdd3a7874cd43295786e9a614;f=drivers/gpu/drm/i915/i915_gem.c#l2401
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel