mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-02 07:00:42 -04:00
misc: fastrpc: Rename phys to dma_addr for clarity
The fields buf->phys and map->phys currently store DMA addresses returned by dma_map_*() APIs, not physical addresses. This naming is misleading and may lead to incorrect assumptions about the address type and its translation. Rename these fields from phys to dma_addr to improve code clarity and align with kernel conventions for dma_addr_t usage. Signed-off-by: Kumari Pallavi <kumari.pallavi@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://patch.msgid.link/20251226070534.602021-3-kumari.pallavi@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
53da3f51e4
commit
428b2f2b60
@@ -106,7 +106,7 @@
|
||||
#define miscdev_to_fdevice(d) container_of(d, struct fastrpc_device, miscdev)
|
||||
|
||||
struct fastrpc_phy_page {
|
||||
u64 addr; /* physical address */
|
||||
dma_addr_t addr; /* dma address */
|
||||
u64 size; /* size of contiguous region */
|
||||
};
|
||||
|
||||
@@ -171,7 +171,7 @@ struct fastrpc_msg {
|
||||
u64 ctx; /* invoke caller context */
|
||||
u32 handle; /* handle to invoke */
|
||||
u32 sc; /* scalars structure describing the data */
|
||||
u64 addr; /* physical address */
|
||||
dma_addr_t addr; /* dma address */
|
||||
u64 size; /* size of contiguous region */
|
||||
};
|
||||
|
||||
@@ -194,7 +194,7 @@ struct fastrpc_buf {
|
||||
struct dma_buf *dmabuf;
|
||||
struct device *dev;
|
||||
void *virt;
|
||||
u64 phys;
|
||||
dma_addr_t dma_addr;
|
||||
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;
|
||||
dma_addr_t dma_addr;
|
||||
u64 size;
|
||||
void *va;
|
||||
u64 len;
|
||||
@@ -320,11 +320,12 @@ static void fastrpc_free_map(struct kref *ref)
|
||||
|
||||
perm.vmid = QCOM_SCM_VMID_HLOS;
|
||||
perm.perm = QCOM_SCM_PERM_RWX;
|
||||
err = qcom_scm_assign_mem(map->phys, map->len,
|
||||
err = qcom_scm_assign_mem(map->dma_addr, map->len,
|
||||
&src_perms, &perm, 1);
|
||||
if (err) {
|
||||
dev_err(map->fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d\n",
|
||||
map->phys, map->len, err);
|
||||
dev_err(map->fl->sctx->dev,
|
||||
"Failed to assign memory dma_addr %pad size 0x%llx err %d\n",
|
||||
&map->dma_addr, map->len, err);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -389,7 +390,7 @@ static int fastrpc_map_lookup(struct fastrpc_user *fl, int fd,
|
||||
static void fastrpc_buf_free(struct fastrpc_buf *buf)
|
||||
{
|
||||
dma_free_coherent(buf->dev, buf->size, buf->virt,
|
||||
FASTRPC_PHYS(buf->phys));
|
||||
FASTRPC_PHYS(buf->dma_addr));
|
||||
kfree(buf);
|
||||
}
|
||||
|
||||
@@ -408,12 +409,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, &buf->dma_addr,
|
||||
GFP_KERNEL);
|
||||
if (!buf->virt) {
|
||||
mutex_destroy(&buf->lock);
|
||||
@@ -439,7 +440,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;
|
||||
}
|
||||
@@ -684,7 +685,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);
|
||||
if (ret < 0) {
|
||||
dev_err(buffer->dev, "failed to get scatterlist from DMA API\n");
|
||||
kfree(a);
|
||||
@@ -733,7 +734,7 @@ static int fastrpc_mmap(struct dma_buf *dmabuf,
|
||||
dma_resv_assert_held(dmabuf->resv);
|
||||
|
||||
return dma_mmap_coherent(buf->dev, vma, buf->virt,
|
||||
FASTRPC_PHYS(buf->phys), size);
|
||||
FASTRPC_PHYS(buf->dma_addr), size);
|
||||
}
|
||||
|
||||
static const struct dma_buf_ops fastrpc_dma_buf_ops = {
|
||||
@@ -785,10 +786,10 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, int fd,
|
||||
map->table = table;
|
||||
|
||||
if (attr & FASTRPC_ATTR_SECUREMAP) {
|
||||
map->phys = sg_phys(map->table->sgl);
|
||||
map->dma_addr = sg_phys(map->table->sgl);
|
||||
} else {
|
||||
map->phys = sg_dma_address(map->table->sgl);
|
||||
map->phys += ((u64)fl->sctx->sid << 32);
|
||||
map->dma_addr = sg_dma_address(map->table->sgl);
|
||||
map->dma_addr += ((u64)fl->sctx->sid << 32);
|
||||
}
|
||||
for_each_sg(map->table->sgl, sgl, map->table->nents,
|
||||
sgl_index)
|
||||
@@ -815,10 +816,11 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, int fd,
|
||||
dst_perms[1].vmid = fl->cctx->vmperms[0].vmid;
|
||||
dst_perms[1].perm = QCOM_SCM_PERM_RWX;
|
||||
map->attr = attr;
|
||||
err = qcom_scm_assign_mem(map->phys, (u64)map->len, &src_perms, dst_perms, 2);
|
||||
err = qcom_scm_assign_mem(map->dma_addr, (u64)map->len, &src_perms, dst_perms, 2);
|
||||
if (err) {
|
||||
dev_err(sess->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d\n",
|
||||
map->phys, map->len, err);
|
||||
dev_err(sess->dev,
|
||||
"Failed to assign memory with dma_addr %pad size 0x%llx err %d\n",
|
||||
&map->dma_addr, map->len, err);
|
||||
goto map_err;
|
||||
}
|
||||
}
|
||||
@@ -1009,7 +1011,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx)
|
||||
struct vm_area_struct *vma = NULL;
|
||||
|
||||
rpra[i].buf.pv = (u64) ctx->args[i].ptr;
|
||||
pages[i].addr = ctx->maps[i]->phys;
|
||||
pages[i].addr = ctx->maps[i]->dma_addr;
|
||||
|
||||
mmap_read_lock(current->mm);
|
||||
vma = find_vma(current->mm, ctx->args[i].ptr);
|
||||
@@ -1036,7 +1038,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx)
|
||||
goto bail;
|
||||
|
||||
rpra[i].buf.pv = args - ctx->olaps[oix].offset;
|
||||
pages[i].addr = ctx->buf->phys -
|
||||
pages[i].addr = ctx->buf->dma_addr -
|
||||
ctx->olaps[oix].offset +
|
||||
(pkt_size - rlen);
|
||||
pages[i].addr = pages[i].addr & PAGE_MASK;
|
||||
@@ -1068,7 +1070,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx)
|
||||
list[i].num = ctx->args[i].length ? 1 : 0;
|
||||
list[i].pgidx = i;
|
||||
if (ctx->maps[i]) {
|
||||
pages[i].addr = ctx->maps[i]->phys;
|
||||
pages[i].addr = ctx->maps[i]->dma_addr;
|
||||
pages[i].size = ctx->maps[i]->size;
|
||||
}
|
||||
rpra[i].dma.fd = ctx->args[i].fd;
|
||||
@@ -1150,7 +1152,7 @@ static int fastrpc_invoke_send(struct fastrpc_session_ctx *sctx,
|
||||
msg->ctx = ctx->ctxid | fl->pd;
|
||||
msg->handle = handle;
|
||||
msg->sc = ctx->sc;
|
||||
msg->addr = ctx->buf ? ctx->buf->phys : 0;
|
||||
msg->addr = ctx->buf ? ctx->buf->dma_addr : 0;
|
||||
msg->size = roundup(ctx->msg_sz, PAGE_SIZE);
|
||||
fastrpc_context_get(ctx);
|
||||
|
||||
@@ -1306,13 +1308,15 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
|
||||
if (fl->cctx->vmcount) {
|
||||
u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
|
||||
|
||||
err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys,
|
||||
err = qcom_scm_assign_mem(fl->cctx->remote_heap->dma_addr,
|
||||
(u64)fl->cctx->remote_heap->size,
|
||||
&src_perms,
|
||||
fl->cctx->vmperms, fl->cctx->vmcount);
|
||||
if (err) {
|
||||
dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d\n",
|
||||
fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err);
|
||||
dev_err(fl->sctx->dev,
|
||||
"Failed to assign memory with dma_addr %pad size 0x%llx err %d\n",
|
||||
&fl->cctx->remote_heap->dma_addr,
|
||||
fl->cctx->remote_heap->size, err);
|
||||
goto err_map;
|
||||
}
|
||||
scm_done = true;
|
||||
@@ -1332,7 +1336,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
|
||||
args[1].length = inbuf.namelen;
|
||||
args[1].fd = -1;
|
||||
|
||||
pages[0].addr = fl->cctx->remote_heap->phys;
|
||||
pages[0].addr = fl->cctx->remote_heap->dma_addr;
|
||||
pages[0].size = fl->cctx->remote_heap->size;
|
||||
|
||||
args[2].ptr = (u64)(uintptr_t) pages;
|
||||
@@ -1361,12 +1365,12 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
|
||||
|
||||
dst_perms.vmid = QCOM_SCM_VMID_HLOS;
|
||||
dst_perms.perm = QCOM_SCM_PERM_RWX;
|
||||
err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys,
|
||||
err = qcom_scm_assign_mem(fl->cctx->remote_heap->dma_addr,
|
||||
(u64)fl->cctx->remote_heap->size,
|
||||
&src_perms, &dst_perms, 1);
|
||||
if (err)
|
||||
dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d\n",
|
||||
fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err);
|
||||
dev_err(fl->sctx->dev, "Failed to assign memory dma_addr %pad size 0x%llx err %d\n",
|
||||
&fl->cctx->remote_heap->dma_addr, fl->cctx->remote_heap->size, err);
|
||||
}
|
||||
err_map:
|
||||
fastrpc_buf_free(fl->cctx->remote_heap);
|
||||
@@ -1455,7 +1459,7 @@ static int fastrpc_init_create_process(struct fastrpc_user *fl,
|
||||
args[2].length = inbuf.filelen;
|
||||
args[2].fd = init.filefd;
|
||||
|
||||
pages[0].addr = imem->phys;
|
||||
pages[0].addr = imem->dma_addr;
|
||||
pages[0].size = imem->size;
|
||||
|
||||
args[3].ptr = (u64)(uintptr_t) pages;
|
||||
@@ -1913,7 +1917,7 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp)
|
||||
args[0].ptr = (u64) (uintptr_t) &req_msg;
|
||||
args[0].length = sizeof(req_msg);
|
||||
|
||||
pages.addr = buf->phys;
|
||||
pages.addr = buf->dma_addr;
|
||||
pages.size = buf->size;
|
||||
|
||||
args[1].ptr = (u64) (uintptr_t) &pages;
|
||||
@@ -1941,11 +1945,12 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp)
|
||||
if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) {
|
||||
u64 src_perms = BIT(QCOM_SCM_VMID_HLOS);
|
||||
|
||||
err = qcom_scm_assign_mem(buf->phys, (u64)buf->size,
|
||||
err = qcom_scm_assign_mem(buf->dma_addr, (u64)buf->size,
|
||||
&src_perms, fl->cctx->vmperms, fl->cctx->vmcount);
|
||||
if (err) {
|
||||
dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
|
||||
buf->phys, buf->size, err);
|
||||
dev_err(fl->sctx->dev,
|
||||
"Failed to assign memory dma_addr %pad size 0x%llx err %d",
|
||||
&buf->dma_addr, buf->size, err);
|
||||
goto err_assign;
|
||||
}
|
||||
}
|
||||
@@ -2059,7 +2064,7 @@ static int fastrpc_req_mem_map(struct fastrpc_user *fl, char __user *argp)
|
||||
args[0].ptr = (u64) (uintptr_t) &req_msg;
|
||||
args[0].length = sizeof(req_msg);
|
||||
|
||||
pages.addr = map->phys;
|
||||
pages.addr = map->dma_addr;
|
||||
pages.size = map->len;
|
||||
|
||||
args[1].ptr = (u64) (uintptr_t) &pages;
|
||||
|
||||
Reference in New Issue
Block a user