* [PATCH] drm: Fix broken use of _PAGE_NO_CACHE on powerpc
@ 2016-06-27 9:00 Benjamin Herrenschmidt
2016-07-12 11:20 ` Daniel Vetter
0 siblings, 1 reply; 2+ messages in thread
From: Benjamin Herrenschmidt @ 2016-06-27 9:00 UTC (permalink / raw)
To: Dave Airlie; +Cc: DRI mailing list
That constant isn't meant to be used outside of arch mm code
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
drivers/gpu/drm/drm_memory.c | 2 +-
drivers/gpu/drm/drm_scatter.c | 2 +-
drivers/gpu/drm/drm_vm.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
index 87a8cb7..fc0ebd2 100644
--- a/drivers/gpu/drm/drm_memory.c
+++ b/drivers/gpu/drm/drm_memory.c
@@ -44,7 +44,7 @@
# include <asm/agp.h>
#else
# ifdef __powerpc__
-# define PAGE_AGP __pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE)
+# define PAGE_AGP pgprot_noncached_wc(PAGE_KERNEL)
# else
# define PAGE_AGP PAGE_KERNEL
# endif
diff --git a/drivers/gpu/drm/drm_scatter.c b/drivers/gpu/drm/drm_scatter.c
index 4f0f3b3..bf70431 100644
--- a/drivers/gpu/drm/drm_scatter.c
+++ b/drivers/gpu/drm/drm_scatter.c
@@ -41,7 +41,7 @@
static inline void *drm_vmalloc_dma(unsigned long size)
{
#if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
- return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL | _PAGE_NO_CACHE);
+ return __vmalloc(size, GFP_KERNEL, pgprot_noncached_wc(PAGE_KERNEL));
#else
return vmalloc_32(size);
#endif
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
index ac9f4b3..7e9f642 100644
--- a/drivers/gpu/drm/drm_vm.c
+++ b/drivers/gpu/drm/drm_vm.c
@@ -80,7 +80,7 @@ static pgprot_t drm_dma_prot(uint32_t map_type, struct vm_area_struct *vma)
pgprot_t tmp = vm_get_page_prot(vma->vm_flags);
#if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
- tmp |= _PAGE_NO_CACHE;
+ tmp = pgprot_noncached_wc(tmp);
#endif
return tmp;
}
@@ -593,7 +593,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
* pages and mappings in fault()
*/
#if defined(__powerpc__)
- pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
#endif
vma->vm_ops = &drm_vm_ops;
break;
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm: Fix broken use of _PAGE_NO_CACHE on powerpc
2016-06-27 9:00 [PATCH] drm: Fix broken use of _PAGE_NO_CACHE on powerpc Benjamin Herrenschmidt
@ 2016-07-12 11:20 ` Daniel Vetter
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Vetter @ 2016-07-12 11:20 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: DRI mailing list
On Mon, Jun 27, 2016 at 07:00:23PM +1000, Benjamin Herrenschmidt wrote:
> That constant isn't meant to be used outside of arch mm code
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Applied to drm-misc, thanks.
-Daniel
> ---
> drivers/gpu/drm/drm_memory.c | 2 +-
> drivers/gpu/drm/drm_scatter.c | 2 +-
> drivers/gpu/drm/drm_vm.c | 4 ++--
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
> index 87a8cb7..fc0ebd2 100644
> --- a/drivers/gpu/drm/drm_memory.c
> +++ b/drivers/gpu/drm/drm_memory.c
> @@ -44,7 +44,7 @@
> # include <asm/agp.h>
> #else
> # ifdef __powerpc__
> -# define PAGE_AGP __pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE)
> +# define PAGE_AGP pgprot_noncached_wc(PAGE_KERNEL)
> # else
> # define PAGE_AGP PAGE_KERNEL
> # endif
> diff --git a/drivers/gpu/drm/drm_scatter.c b/drivers/gpu/drm/drm_scatter.c
> index 4f0f3b3..bf70431 100644
> --- a/drivers/gpu/drm/drm_scatter.c
> +++ b/drivers/gpu/drm/drm_scatter.c
> @@ -41,7 +41,7 @@
> static inline void *drm_vmalloc_dma(unsigned long size)
> {
> #if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
> - return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL | _PAGE_NO_CACHE);
> + return __vmalloc(size, GFP_KERNEL, pgprot_noncached_wc(PAGE_KERNEL));
> #else
> return vmalloc_32(size);
> #endif
> diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
> index ac9f4b3..7e9f642 100644
> --- a/drivers/gpu/drm/drm_vm.c
> +++ b/drivers/gpu/drm/drm_vm.c
> @@ -80,7 +80,7 @@ static pgprot_t drm_dma_prot(uint32_t map_type, struct vm_area_struct *vma)
> pgprot_t tmp = vm_get_page_prot(vma->vm_flags);
>
> #if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
> - tmp |= _PAGE_NO_CACHE;
> + tmp = pgprot_noncached_wc(tmp);
> #endif
> return tmp;
> }
> @@ -593,7 +593,7 @@ static int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
> * pages and mappings in fault()
> */
> #if defined(__powerpc__)
> - pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
> + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> #endif
> vma->vm_ops = &drm_vm_ops;
> break;
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-07-12 11:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-27 9:00 [PATCH] drm: Fix broken use of _PAGE_NO_CACHE on powerpc Benjamin Herrenschmidt
2016-07-12 11:20 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).