[lkml]   [2020]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH V2 3/4] misc: vop: simply return the saved dma address instead of virt_to_phys
On Tue, Sep 29, 2020 at 04:44:24PM +0800, Sherry Sun wrote:
> The device page and vring should use consistent memory which are
> allocated by dma_alloc_coherent api, when user space wants to get its
> physical address, virt_to_phys cannot be used, should simply return the
> saved device page dma address by get_dp_dma callback and the vring dma
> address saved in mic_vqconfig.

More importantly you can't just all virt_to_phys on a return value
from dma_alloc_coherent, so this needs to be folded into patch 1.

> if (!offset) {
> - *pa = virt_to_phys(vpdev->hw_ops->get_dp(vpdev));
> + if (vpdev->hw_ops->get_dp_dma)
> + *pa = vpdev->hw_ops->get_dp_dma(vpdev);
> + else {
> + dev_err(vop_dev(vdev), "can't get device page physical address\n");
> + return -EINVAL;
> + }

I don't think we need the NULL check here. Wouldn't it also make sense
to return the virtual and DMA address from ->get_dp instead of adding
another method?

 \ /
  Last update: 2020-09-29 12:27    [W:0.200 / U:1.492 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site