[PATCH 1/8] staging: tidspbridge - remove req_addr from proc_map
Fernando Guzman Lugo
x0095840 at ti.com
Mon Oct 25 20:51:39 EDT 2010
The device address is assigned by tidspbridge no need for that parameter anymore.
Signed-off-by: Fernando Guzman Lugo <x0095840 at ti.com>
---
.../tidspbridge/include/dspbridge/dspapi-ioctl.h | 1 -
.../staging/tidspbridge/include/dspbridge/proc.h | 3 --
drivers/staging/tidspbridge/pmgr/dspapi.c | 2 +-
drivers/staging/tidspbridge/rmgr/node.c | 2 +-
drivers/staging/tidspbridge/rmgr/proc.c | 25 +++++++++----------
5 files changed, 14 insertions(+), 19 deletions(-)
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h b/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
index 8da5bd8..db06468 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
@@ -138,7 +138,6 @@ union trapped_args {
void *hprocessor;
void *pmpu_addr;
u32 ul_size;
- void *req_addr;
void *__user *pp_map_addr;
u32 ul_map_attr;
} args_proc_mapmem;
diff --git a/drivers/staging/tidspbridge/include/dspbridge/proc.h b/drivers/staging/tidspbridge/include/dspbridge/proc.h
index 2d12aab..74344bd 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/proc.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/proc.h
@@ -524,8 +524,6 @@ extern int proc_invalidate_memory(void *hprocessor,
* hprocessor : The processor handle.
* pmpu_addr : Starting address of the memory region to map.
* ul_size : Size of the memory region to map.
- * req_addr : Requested DSP start address. Offset-adjusted actual
- * mapped address is in the last argument.
* pp_map_addr : Ptr to DSP side mapped u8 address.
* ul_map_attr : Optional endianness attributes, virt to phys flag.
* Returns:
@@ -546,7 +544,6 @@ extern int proc_invalidate_memory(void *hprocessor,
extern int proc_map(void *hprocessor,
void *pmpu_addr,
u32 ul_size,
- void *req_addr,
void **pp_map_addr, u32 ul_map_attr,
struct process_context *pr_ctxt);
diff --git a/drivers/staging/tidspbridge/pmgr/dspapi.c b/drivers/staging/tidspbridge/pmgr/dspapi.c
index 0187c47..d1e1185 100644
--- a/drivers/staging/tidspbridge/pmgr/dspapi.c
+++ b/drivers/staging/tidspbridge/pmgr/dspapi.c
@@ -952,7 +952,7 @@ u32 procwrap_map(union trapped_args *args, void *pr_ctxt)
status = proc_map(args->args_proc_mapmem.hprocessor,
args->args_proc_mapmem.pmpu_addr,
args->args_proc_mapmem.ul_size,
- args->args_proc_mapmem.req_addr, &map_addr,
+ &map_addr,
args->args_proc_mapmem.ul_map_attr, pr_ctxt);
if (!status) {
if (put_user(map_addr, args->args_proc_mapmem.pp_map_addr)) {
diff --git a/drivers/staging/tidspbridge/rmgr/node.c b/drivers/staging/tidspbridge/rmgr/node.c
index a660247..3f5abcf 100644
--- a/drivers/staging/tidspbridge/rmgr/node.c
+++ b/drivers/staging/tidspbridge/rmgr/node.c
@@ -430,7 +430,7 @@ int node_allocate(struct proc_object *hprocessor,
map_attrs |= DSP_MAPVIRTUALADDR;
status = proc_map(hprocessor, (void *)attr_in->pgpp_virt_addr,
pnode->create_args.asa.task_arg_obj.heap_size,
- NULL, (void **)&mapped_addr, map_attrs,
+ (void **)&mapped_addr, map_attrs,
pr_ctxt);
if (status)
pr_err("%s: Failed to map memory for Heap: 0x%x\n",
diff --git a/drivers/staging/tidspbridge/rmgr/proc.c b/drivers/staging/tidspbridge/rmgr/proc.c
index 7a15a02..5e5eb75 100644
--- a/drivers/staging/tidspbridge/rmgr/proc.c
+++ b/drivers/staging/tidspbridge/rmgr/proc.c
@@ -1314,10 +1314,10 @@ func_end:
* Maps a MPU buffer to DSP address space.
*/
int proc_map(void *hprocessor, void *pmpu_addr, u32 ul_size,
- void *req_addr, void **pp_map_addr, u32 ul_map_attr,
+ void **pp_map_addr, u32 ul_map_attr,
struct process_context *pr_ctxt)
{
- u32 va_align;
+ u32 da;
u32 pa_align;
u32 size_align;
int status = 0;
@@ -1336,7 +1336,6 @@ int proc_map(void *hprocessor, void *pmpu_addr, u32 ul_size,
#endif
/* Calculate the page-aligned PA, VA and size */
- va_align = PG_ALIGN_LOW((u32) req_addr, PG_SIZE4K);
pa_align = PG_ALIGN_LOW((u32) pmpu_addr, PG_SIZE4K);
size_align = PG_ALIGN_HIGH(ul_size + (u32) pmpu_addr - pa_align,
PG_SIZE4K);
@@ -1351,26 +1350,26 @@ int proc_map(void *hprocessor, void *pmpu_addr, u32 ul_size,
/* Add mapping to the page tables. */
if (!status) {
/* mapped memory resource tracking */
- map_obj = add_mapping_info(pr_ctxt, pa_align, va_align,
+ map_obj = add_mapping_info(pr_ctxt, pa_align, 0,
size_align);
if (!map_obj) {
status = -ENOMEM;
} else {
- va_align = user_to_dsp_map(
+ da = user_to_dsp_map(
p_proc_object->hbridge_context->dsp_mmu,
- pa_align, va_align, size_align,
+ pa_align, 0, size_align,
map_obj->pages);
- if (IS_ERR_VALUE(va_align))
- status = (int)va_align;
+ if (IS_ERR_VALUE(da))
+ status = (int)da;
}
}
if (!status) {
/* Mapped address = MSB of VA | LSB of PA */
- map_obj->dsp_addr = (va_align |
+ map_obj->dsp_addr = (da |
((u32)pmpu_addr & (PG_SIZE4K - 1)));
*pp_map_addr = (void *)map_obj->dsp_addr;
} else {
- remove_mapping_information(pr_ctxt, va_align);
+ remove_mapping_information(pr_ctxt, 0);
}
mutex_unlock(&proc_lock);
@@ -1379,10 +1378,10 @@ int proc_map(void *hprocessor, void *pmpu_addr, u32 ul_size,
func_end:
dev_dbg(bridge, "%s: hprocessor %p, pmpu_addr %p, ul_size %x, "
- "req_addr %p, ul_map_attr %x, pp_map_addr %p, va_align %x, "
+ "ul_map_attr %x, pp_map_addr %p, "
"pa_align %x, size_align %x status 0x%x\n", __func__,
- hprocessor, pmpu_addr, ul_size, req_addr, ul_map_attr,
- pp_map_addr, va_align, pa_align, size_align, status);
+ hprocessor, pmpu_addr, ul_size, ul_map_attr,
+ pp_map_addr, pa_align, size_align, status);
return status;
}
--
1.6.3.3
More information about the linux-arm-kernel
mailing list