Skip to content

Commit

Permalink
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…
Browse files Browse the repository at this point in the history
…nux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  fix warning in io_mapping_map_wc()
  x86: i915 needs pgprot_writecombine() and is_io_mapping_possible()
  • Loading branch information
torvalds committed Mar 2, 2009
2 parents 359aa09 + 5ce04e3 commit 2d44947
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 12 deletions.
15 changes: 4 additions & 11 deletions arch/x86/mm/iomap_32.c
Expand Up @@ -20,23 +20,16 @@
#include <asm/pat.h>
#include <linux/module.h>

#ifdef CONFIG_X86_PAE
int
is_io_mapping_possible(resource_size_t base, unsigned long size)
{
return 1;
}
#else
int
is_io_mapping_possible(resource_size_t base, unsigned long size)
int is_io_mapping_possible(resource_size_t base, unsigned long size)
{
#ifndef CONFIG_X86_PAE
/* There is no way to map greater than 1 << 32 address without PAE */
if (base + size > 0x100000000ULL)
return 0;

#endif
return 1;
}
#endif
EXPORT_SYMBOL_GPL(is_io_mapping_possible);

/* Map 'pfn' using fixed map 'type' and protections 'prot'
*/
Expand Down
2 changes: 2 additions & 0 deletions arch/x86/mm/pat.c
Expand Up @@ -11,6 +11,7 @@
#include <linux/bootmem.h>
#include <linux/debugfs.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/gfp.h>
#include <linux/mm.h>
#include <linux/fs.h>
Expand Down Expand Up @@ -868,6 +869,7 @@ pgprot_t pgprot_writecombine(pgprot_t prot)
else
return pgprot_noncached(prot);
}
EXPORT_SYMBOL_GPL(pgprot_writecombine);

#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_X86_PAT)

Expand Down
5 changes: 4 additions & 1 deletion include/linux/io-mapping.h
Expand Up @@ -91,8 +91,11 @@ io_mapping_unmap_atomic(void *vaddr)
static inline void *
io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset)
{
resource_size_t phys_addr;

BUG_ON(offset >= mapping->size);
resource_size_t phys_addr = mapping->base + offset;
phys_addr = mapping->base + offset;

return ioremap_wc(phys_addr, PAGE_SIZE);
}

Expand Down

0 comments on commit 2d44947

Please sign in to comment.