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