On Wed, Apr 23, 2014 at 03:11:01PM +0900, Alexandre Courbot wrote: > On Wed, Apr 23, 2014 at 11:07 AM, Alexandre Courbot <acourbot@xxxxxxxxxx> wrote: > > On 04/22/2014 07:40 PM, Thierry Reding wrote: > >> > >> * PGP Signed by an unknown key > >> > >> > >> On Mon, Apr 21, 2014 at 03:02:16PM +0900, Alexandre Courbot wrote: > >> [...] > >>> > >>> diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramgk20a.c > >>> b/drivers/gpu/drm/nouveau/core/subdev/fb/ramgk20a.c > >> > >> [...] > >>> > >>> + pages = dma_alloc_from_contiguous(dev, ncmin, order); > >>> + if (!pages) { > >>> + gk20a_ram_put(pfb, &mem); > >>> + return -ENOMEM; > >>> + } > >>> + > >>> + dma_addr = pfn_to_dma(nv_device_base(nv_device(pfb)), > >>> + page_to_pfn(pages)); > >> > >> > >> This breaks compilation on x86 because neither pfn_to_dma() nor > >> dma_to_pfn() are available. Is there some other way this can be > >> allocated so that these functions don't need to be called? > > > > > > Mmm, this is bad. There is probably another more portable way to do this. > > Let me look for it. > > page_to_phys()/phys_to_page() can be used by drivers and will work > just fine here since the CPU and GPU use the same physical addresses > to access memory. I'm wondering how this is going to pan out when we try adding IOMMU support. But I guess we can cross that bridge when we come to it. Thierry
Attachment:
pgpZoIQe4V1wR.pgp
Description: PGP signature