lkml.org 
[lkml]   [2019]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [Xen-devel] [RFC] virtio_ring: check dma_mem for xen_domain
Date


> -----Original Message-----
> From: hch@infradead.org [mailto:hch@infradead.org]
> Sent: 2019年1月28日 16:00
> To: Peng Fan <peng.fan@nxp.com>
> Cc: hch@infradead.org; Stefano Stabellini <sstabellini@kernel.org>;
> mst@redhat.com; jasowang@redhat.com; xen-devel@lists.xenproject.org;
> linux-remoteproc@vger.kernel.org; linux-kernel@vger.kernel.org;
> virtualization@lists.linux-foundation.org; luto@kernel.org; jgross@suse.com;
> boris.ostrovsky@oracle.com; Andy Duan <fugang.duan@nxp.com>
> Subject: Re: [Xen-devel] [RFC] virtio_ring: check dma_mem for xen_domain
>
> On Fri, Jan 25, 2019 at 09:45:26AM +0000, Peng Fan wrote:
> > Just have a question,
> >
> > Since vmalloc_to_page is ok for cma area, no need to take cma and per
> > device cma into consideration right?
>
> The CMA area itself it a physical memory region. If it is a non-highmem
> region you can call virt_to_page on the virtual addresses for it. If it is in
> highmem it doesn't even have a kernel virtual address by default.
>
> > we only need to implement a piece code to handle per device specific
> > region using RESERVEDMEM_OF_DECLARE, just like:
> > RESERVEDMEM_OF_DECLARE(rpmsg-dma, "rpmsg-dma-pool",
> > rmem_rpmsg_dma_setup); And implement the device_init call back and
> > build a map between page and phys.
> > Then in rpmsg driver, scatter list could use page structure, no need
> > vmalloc_to_page for per device dma.
> >
> > Is this the right way?
>
> I think this should work fine. If you have the cycles for it I'd actually love to
> be able to have generic CMA DT glue for non DMA API driver allocations, as
> there obviously is a need for it. So basically the same as above, just added
> to kernel/cma.c as a generic API.

Thanks for the hints. I'll try to add that.

Thanks,
Peng.


\
 
 \ /
  Last update: 2019-01-29 10:28    [W:0.086 / U:3.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site