RE: [PATCH V2 4/4] misc: vop: mapping kernel memory to user space as noncached

Sherry Sun
2020-09-29T13:12:51Z

Hi Christoph,

> On Tue, Sep 29, 2020 at 04:44:25PM +0800, Sherry Sun wrote:
> > Mapping kernel space memory to user space as noncached, since user
> > space need check the updates of avail_idx and device page flags timely.
> >
> > Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> > Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
> > ---
> > drivers/misc/mic/vop/vop_vringh.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/mic/vop/vop_vringh.c
> > b/drivers/misc/mic/vop/vop_vringh.c
> > index 4d5feb39aeb7..6e193bd64ef1 100644
> > --- a/drivers/misc/mic/vop/vop_vringh.c
> > +++ b/drivers/misc/mic/vop/vop_vringh.c
> > @@ -1057,7 +1057,7 @@ static int vop_mmap(struct file *f, struct
> vm_area_struct *vma)
> > }
> > err = remap_pfn_range(vma, vma->vm_start + offset,
> > pa >> PAGE_SHIFT, size,
> > - vma->vm_page_prot);
> > + pgprot_noncached(vma->vm_page_prot));
>
> You can't call remap_pfn_range on memory returned from
> dma_alloc_coherent (which btw is not marked uncached on many platforms).
>
> You need to use the dma_mmap_coherent helper instead. And this also
> needs to go into the first patch.

Okay, will try to use dma_mmap_coherent api in V3. Thanks.

Regards
Sherry