Message ID | 20110301170047.601c83b7@kryten (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | fe3cc0d99de6a9bf99b6c279a8afb5833888c1f7 |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On 01.03.2011 [17:00:47 +1100], Anton Blanchard wrote: > > A number of drivers are using pgprot_writecombine() to enable write > combining on userspace mappings. Implement it on powerpc. Given this patch, should drivers/infiniband/hw/cxgb4/t4.h be updated?: static inline pgprot_t t4_pgprot_wc(pgprot_t prot) { #if defined(__i386__) || defined(__x86_64__) return pgprot_writecombine(prot); #elif defined(CONFIG_PPC64) return __pgprot((pgprot_val(prot) | _PAGE_NO_CACHE) & ~(pgprot_t)_PAGE_GUARDED); #else return pgprot_noncached(prot); #endif } Thanks, Nish > Signed-off-by: Anton Blanchard <anton@samba.org> > --- > > diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h > index 89f1587..88b0bd9 100644 > --- a/arch/powerpc/include/asm/pgtable.h > +++ b/arch/powerpc/include/asm/pgtable.h > @@ -170,6 +170,7 @@ extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addre > #define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ > _PAGE_COHERENT | _PAGE_WRITETHRU)) > > +#define pgprot_writecombine pgprot_noncached_wc > > struct file; > extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev
On 03/14/2011 01:33 PM, Nishanth Aravamudan wrote: > On 01.03.2011 [17:00:47 +1100], Anton Blanchard wrote: >> A number of drivers are using pgprot_writecombine() to enable write >> combining on userspace mappings. Implement it on powerpc. > Given this patch, should drivers/infiniband/hw/cxgb4/t4.h > > be updated?: > Yes. > static inline pgprot_t t4_pgprot_wc(pgprot_t prot) > { > #if defined(__i386__) || defined(__x86_64__) > return pgprot_writecombine(prot); > #elif defined(CONFIG_PPC64) > return __pgprot((pgprot_val(prot) | _PAGE_NO_CACHE)& > ~(pgprot_t)_PAGE_GUARDED); > #else > return pgprot_noncached(prot); > #endif > } > > Thanks, > Nish > >> Signed-off-by: Anton Blanchard<anton@samba.org> >> --- >> >> diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h >> index 89f1587..88b0bd9 100644 >> --- a/arch/powerpc/include/asm/pgtable.h >> +++ b/arch/powerpc/include/asm/pgtable.h >> @@ -170,6 +170,7 @@ extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addre >> #define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot)& ~_PAGE_CACHE_CTL) | \ >> _PAGE_COHERENT | _PAGE_WRITETHRU)) >> >> +#define pgprot_writecombine pgprot_noncached_wc >> >> struct file; >> extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, >> _______________________________________________ >> Linuxppc-dev mailing list >> Linuxppc-dev@lists.ozlabs.org >> https://lists.ozlabs.org/listinfo/linuxppc-dev
diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h index 89f1587..88b0bd9 100644 --- a/arch/powerpc/include/asm/pgtable.h +++ b/arch/powerpc/include/asm/pgtable.h @@ -170,6 +170,7 @@ extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addre #define pgprot_cached_wthru(prot) (__pgprot((pgprot_val(prot) & ~_PAGE_CACHE_CTL) | \ _PAGE_COHERENT | _PAGE_WRITETHRU)) +#define pgprot_writecombine pgprot_noncached_wc struct file; extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
A number of drivers are using pgprot_writecombine() to enable write combining on userspace mappings. Implement it on powerpc. Signed-off-by: Anton Blanchard <anton@samba.org> ---