On Wed, Oct 15, 2025 at 10:27:00AM +0530, Kumari Pallavi wrote:
> Update all references of buf->phys and map->phys to buf->dma_addr and
> map->dma_addr to accurately represent that these fields store DMA
> addresses, not physical addresses. This change improves code clarity
> and aligns with kernel conventions for dma_addr_t usage.
> 
> Signed-off-by: Kumari Pallavi <[email protected]>
> ---
>  drivers/misc/fastrpc.c | 68 +++++++++++++++++++++---------------------
>  1 file changed, 34 insertions(+), 34 deletions(-)
> 
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 621bce7e101c..975be54a2491 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -194,7 +194,7 @@ struct fastrpc_buf {
>       struct dma_buf *dmabuf;
>       struct device *dev;
>       void *virt;
> -     u64 phys;
> +     u64 dma_addr;

If it is dma_addr, why isn't it dma_addr_t?


>       u64 size;
>       /* Lock for dma buf attachments */
>       struct mutex lock;
> @@ -217,7 +217,7 @@ struct fastrpc_map {
>       struct dma_buf *buf;
>       struct sg_table *table;
>       struct dma_buf_attachment *attach;
> -     u64 phys;
> +     u64 dma_addr;

And this one.

>       u64 size;
>       void *va;
>       u64 len;
> @@ -406,12 +406,12 @@ static int __fastrpc_buf_alloc(struct fastrpc_user *fl, 
> struct device *dev,
>  
>       buf->fl = fl;
>       buf->virt = NULL;
> -     buf->phys = 0;
> +     buf->dma_addr = 0;
>       buf->size = size;
>       buf->dev = dev;
>       buf->raddr = 0;
>  
> -     buf->virt = dma_alloc_coherent(dev, buf->size, (dma_addr_t *)&buf->phys,
> +     buf->virt = dma_alloc_coherent(dev, buf->size, (dma_addr_t 
> *)&buf->dma_addr,
>                                      GFP_KERNEL);

If it was dma_addr_t, you wouldn't have had to typecast here.

>       if (!buf->virt) {
>               mutex_destroy(&buf->lock);
> @@ -437,7 +437,7 @@ static int fastrpc_buf_alloc(struct fastrpc_user *fl, 
> struct device *dev,
>       buf = *obuf;
>  
>       if (fl->sctx && fl->sctx->sid)
> -             buf->phys += ((u64)fl->sctx->sid << 32);
> +             buf->dma_addr += ((u64)fl->sctx->sid << 32);
>  
>       return 0;
>  }
> @@ -682,7 +682,7 @@ static int fastrpc_dma_buf_attach(struct dma_buf *dmabuf,
>               return -ENOMEM;
>  
>       ret = dma_get_sgtable(buffer->dev, &a->sgt, buffer->virt,
> -                           FASTRPC_PHYS(buffer->phys), buffer->size);
> +                           FASTRPC_PHYS(buffer->dma_addr), buffer->size);

FASTRPC_PHYS trunates addr to 32 bits. Is it expected? Is it a DMA
address on the  Linux or on the DSP side?

>       if (ret < 0) {
>               dev_err(buffer->dev, "failed to get scatterlist from DMA 
> API\n");
>               kfree(a);

-- 
With best wishes
Dmitry

Reply via email to