[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-15 Thread Alexandre Courbot
On Mon, Dec 8, 2014 at 4:14 PM, Alexandre Courbot wrote: > On 11/12/2014 09:39 PM, Thierry Reding wrote: >> >> From: Thierry Reding >> >> dma_alloc_coherent() returns a kernel virtual address that is part of >> the linear range. Passing such an address to virt_to_page() is illegal >> on non-cohe

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-08 Thread Alexandre Courbot
On 12/08/2014 05:11 PM, Alexandre Courbot wrote: > On 12/08/2014 04:14 PM, Alexandre Courbot wrote: >> On 11/12/2014 09:39 PM, Thierry Reding wrote: >>> From: Thierry Reding >>> >>> dma_alloc_coherent() returns a kernel virtual address that is part of >>> the linear range. Passing such an address

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-08 Thread Alexandre Courbot
On 12/08/2014 04:14 PM, Alexandre Courbot wrote: > On 11/12/2014 09:39 PM, Thierry Reding wrote: >> From: Thierry Reding >> >> dma_alloc_coherent() returns a kernel virtual address that is part of >> the linear range. Passing such an address to virt_to_page() is illegal >> on non-coherent architec

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-08 Thread Alexandre Courbot
On 12/08/2014 04:14 PM, Alexandre Courbot wrote: > On 11/12/2014 09:39 PM, Thierry Reding wrote: >> From: Thierry Reding >> >> dma_alloc_coherent() returns a kernel virtual address that is part of >> the linear range. Passing such an address to virt_to_page() is illegal >> on non-coherent architec

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-08 Thread Alexandre Courbot
On 11/12/2014 09:39 PM, Thierry Reding wrote: > From: Thierry Reding > > dma_alloc_coherent() returns a kernel virtual address that is part of > the linear range. Passing such an address to virt_to_page() is illegal > on non-coherent architectures. This causes the kernel to oops on 64-bit > ARM be

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-12-01 Thread Konrad Rzeszutek Wilk
On Wed, Nov 12, 2014 at 06:03:49PM +0100, Arnd Bergmann wrote: > On Wednesday 12 November 2014 09:18:59 Konrad Rzeszutek Wilk wrote: > > On Wed, Nov 12, 2014 at 01:39:05PM +0100, Thierry Reding wrote: > > > From: Thierry Reding > > > > > > dma_alloc_coherent() returns a kernel virtual address tha

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-11-12 Thread Arnd Bergmann
On Wednesday 12 November 2014 09:18:59 Konrad Rzeszutek Wilk wrote: > On Wed, Nov 12, 2014 at 01:39:05PM +0100, Thierry Reding wrote: > > From: Thierry Reding > > > > dma_alloc_coherent() returns a kernel virtual address that is part of > > the linear range. Passing such an address to virt_to_pag

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-11-12 Thread Thierry Reding
From: Thierry Reding dma_alloc_coherent() returns a kernel virtual address that is part of the linear range. Passing such an address to virt_to_page() is illegal on non-coherent architectures. This causes the kernel to oops on 64-bit ARM because the struct page * obtained from virt_to_page() poin

[RFC] drm/ttm: dma: Fixes for 32-bit and 64-bit ARM

2014-11-12 Thread Konrad Rzeszutek Wilk
On Wed, Nov 12, 2014 at 01:39:05PM +0100, Thierry Reding wrote: > From: Thierry Reding > > dma_alloc_coherent() returns a kernel virtual address that is part of > the linear range. Passing such an address to virt_to_page() is illegal > on non-coherent architectures. This causes the kernel to oops