Re: [PATCH v2 04/10] drm/nouveau/fb: add GK20A support

Thierry Reding
2014-04-28T11:46:13Z

[-- Attachment #1: Type: text/plain, Size: 1546 bytes --]

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@nvidia.com> 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 #2: Type: application/pgp-signature, Size: 836 bytes --]