On 10/18/2016 07:29 PM, Dave Airlie wrote:
On 18 Oct. 2016 17:23, "Edward O'Callaghan" <funfunctor@folklore1984.net mailto:funfunctor@folklore1984.net> wrote:
NACK,
I think you want to use 'iomap_create_wc()' instead to avoid aliasing.
Please explain what can alias here?
Ah disregard the alias comment, I was remembering how it was introduced and that referred to 'io_mapping_create_wc()' not hard coding WC.
Any way, I think 'iomap_create_wc()' is what your looking for so no need to expose those symbols and hook them though.
Cheers, Edward.
Dave.
Kind Regards, Edward.
On 10/18/2016 05:13 PM, Dave Airlie wrote:
From: Dave Airlie <airlied@redhat.com mailto:airlied@redhat.com>
These functions are needed for gpu/ttm drivers to reserve the VRAM area as write combined. In a lot of places we don't ioremap but still need to insert pfn from it into a VMA using vm_insert_mixed, but a recent change in mixed insertion means we need to reserve VRAM as WC upfront, so we need these APIs exported.
Signed-off-by: Dave Airlie <airlied@redhat.com
arch/x86/mm/pat.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 170cc4f..5ce2fbb 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -719,6 +719,7 @@ out_free: out_err: return ret; } +EXPORT_SYMBOL(io_reserve_memtype);
/**
- io_free_memtype - Release a memory type mapping for a region of
memory
@@ -729,6 +730,7 @@ void io_free_memtype(resource_size_t start,
resource_size_t end)
{ free_memtype(start, end); } +EXPORT_SYMBOL(io_free_memtype);
pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, unsigned long size, pgprot_t vma_prot)