summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2009-07-03 18:01:37 +0530
committerSantosh Shilimkar <santosh.shilimkar@ti.com>2009-07-03 18:01:37 +0530
commit0c6b3419ce0085908c5f39792dc7130dec80c166 (patch)
tree1e3e8424a2d94d6d0ea17ea032e51ac22e360aa2
parent31755ec97d3022e773079cccb27758bf7631e970 (diff)
parent496ef4fbc56dda409f61400e25b3815e4efd5ae1 (diff)
Merge tag 'ti-teslabridgedev-omap4-24.0.9' of git://dev.omapzoom.org/pub/scm/tisyslink/kernel-syslink into temp
Conflicts: TI_OMAP4_Syslink_Release_Notes_L24.x.txt arch/arm/mach-omap2/io.c Resolved Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
-rw-r--r--TI_OMAP4_Syslink_Release_Notes_L24.x.txt125
-rwxr-xr-xdrivers/dsp/syslink/multicore_ipc/gatepeterson.c5
-rwxr-xr-x[-rw-r--r--]drivers/dsp/syslink/multicore_ipc/heapbuf.c101
-rwxr-xr-xdrivers/dsp/syslink/multicore_ipc/ipc_ioctl.c2
-rw-r--r--drivers/dsp/syslink/multicore_ipc/nameserver.c15
-rwxr-xr-x[-rw-r--r--]drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify.c26
-rwxr-xr-xdrivers/dsp/syslink/multicore_ipc/nameserver_remotenotify_ioctl.c2
-rwxr-xr-xdrivers/dsp/syslink/multicore_ipc/sharedregion.c2
-rwxr-xr-xdrivers/dsp/syslink/procmgr/proc4430/proc4430.c1
9 files changed, 174 insertions, 105 deletions
diff --git a/TI_OMAP4_Syslink_Release_Notes_L24.x.txt b/TI_OMAP4_Syslink_Release_Notes_L24.x.txt
index dab88ace8d08..609ded631803 100644
--- a/TI_OMAP4_Syslink_Release_Notes_L24.x.txt
+++ b/TI_OMAP4_Syslink_Release_Notes_L24.x.txt
@@ -3,7 +3,7 @@ OMAP4 Syslink List Handoff
================================================================================
Author : Ramesh Gupta G / Suman Anna
-Date : June 1 2009
+Date : June 30 2009
===========
Summary:
@@ -60,7 +60,7 @@ contact TI counter part.
=======
Setup:
=======
-Virtio : VPOM4430_1.08a + patch1
+Virtio : VPOM4430_1.09a + patch3
CCS: Version 3.3 with VPOM simulator. For more information on CCS availability
please contact TI.
CCSv4 with VPOM simulator is also supported.
@@ -106,7 +106,7 @@ From the Kernel sources run below commands.
<M> Syslink Procmgr
<M> Proc 4430
Device Drivers --><M> DSP Bridge driver-->
- [*] DSP Bridge Debug Support
+ [M] DSP Bridge Debug Support
Select DSP Bridge Debug Support option as above.
7. Save Configuration
@@ -124,7 +124,10 @@ From the Kernel sources run below commands.
13. Run below command once the kernel is built.
- 14. Make CROSS_COMPILE=arm-none-linux-gnueabi- modules
+ 14. Make CROSS_COMPILE=arm-none-linux-gnueabi- modules. This command
+ is applicable only if we select the required drivers as modules.
+ if all the drivers are selected as part of the kernel steps
+ from 14 to 23 can be ignored.
15. Bridgedriver module (bridgedriver.ko) is built under folder
drivers/dsp/bridge/ dspbridge module(dspbridge.ko) is built
@@ -226,12 +229,19 @@ Build the syslink samples by running below commands.
Run make command as below.
- 2. make PREFIX=<path to syslink folder> TGTROOT=<path to syslink folder> clean
+ 2. make PREFIX=<path to syslink folder> TGTROOT=<path to syslink folder>
+ KRNLSRC=<kernel sources > clean
3. make PREFIX=<path to syslink folder> TGTROOT=<path to syslink folder>
+ KRNLSRC=<kernel sources >
4. The sample .out files are build in the respective source directories
underneath syslink/samples folder.
+ 5. The kernel sample procmgr_app.ko is built under
+ syslink/samples/proc_sample/krnl
+ 6. make sure to build the samples from the same session from which the
+ kernel is built or export ARCH and PATH variables as mentioned
+ in above in kernel building.
========================================
Building Tesla images and Ducati samples
@@ -255,7 +265,10 @@ Running Tesla Samples
2. Once kernel is booted, cd into the folder where all the binaries are
placed.
- 3. install all the drivers in the sequence as below
+ 3. install all the drivers in the sequence as below, this step is
+ required only if the drivers are build as modules,
+ if all the drivers are build as part of the kernel one can
+ ignore steps 3 and 4
insmod omap_notify.ko
@@ -339,7 +352,10 @@ Running Syslink Samples
2. Once kernel is booted, cd into the folder where all the binaries are
placed.
- 3. install all the drivers in the sequence as below
+ 3. install all the drivers in the sequence as below, this step is
+ required only if the drivers are build as modules,
+ if all the drivers are build as part of the kernel one can
+ ignore steps 3 and 4
insmod omap_notify.ko
@@ -393,7 +409,7 @@ Remove the IVAHD-iCONT1, IVAHD-iCONT2, and Modena.
The System Configuration must have only Tesla and Duati-ARM-M3-1, Ducati-ARM-M3-2
-------------------------------------------------------------------------------
-Two baseimages Bios6Boot.xm3 and Bios6Boot_Core1.xm3 can be used to validate
+Two baseimages Bios6Boot.xem3 and Bios6Boot_Core1.xem3 can be used to validate
the BIOS6 boot validation on each of the cores respectively.
Please contact TI representative for these images.
@@ -406,7 +422,10 @@ to boot the Core1 as well.
2. Break the platform by typing 'y' in the Virtio Console after the bash
shell prompt appears.
- 3. install below drivers in below sequence.
+ 3. install all the drivers in the sequence as below, this step is
+ required only if the drivers are build as modules,
+ if all the drivers are build as part of the kernel one can
+ ignore this step
insmod omap_notify.ko
@@ -418,7 +437,6 @@ to boot the Core1 as well.
4. The syslink_proc4430 driver programs MMU and
updates page table entries.
-
5. Break the Virtio by typing y in console.
6. Open CCS and select Ducati core.
@@ -426,9 +444,10 @@ to boot the Core1 as well.
7. Load the base image into Ducati core0.
8. In Virtio design , browse to
- VPOM4430->SDP->OMAP4430-> InitValue_DUCATI_SYS_1. Right click and open.
-
- Right click on Signal (InitValue) and select Send Signal To Platform.
+ VPOM4430->SDP->OMAP4430-> InitValue_DUCATI_SYS_1.
+ Right click and open.
+ Right click on Signal (InitValue) and select
+ Send Signal To Platform.
Send 1 and press OK. This resets the core.
9. Press F11 once to have the Reset release become effective.
@@ -440,7 +459,9 @@ Running Notify ping sample on Ducati:
-------------------------------------
1. Boot Vartio as usual.
2. Follow the same steps as above install required drivers (step 3
- above).
+ above), this step is required only if the drivers
+ are build as modules, if all the drivers are build
+ as part of the kernel one can ignore this step
3. create nodes for ipcnotify and notifyducatidrv accordinngly.
e.g: mknod /dev/ipcnotify c 232 0
mknod /dev/notifyducatidrv c 234 0
@@ -453,7 +474,7 @@ Running Notify ping sample on Ducati:
7. Open CCS and select Ducati-ARM-M3-1 core.
- 6. Load ducati image (notifyxfer_bios6.xm3) image.
+ 6. Load ducati image (notifyxfer_bios6.xem3) image.
7. Open source file notifyxfer_bios6.c file and add some breakpoints
in the main function.
@@ -468,6 +489,61 @@ Running Notify ping sample on Ducati:
10. The Notifyping sample running on the Chiron shows event messages
and call back function messages.
+Loading ducati images using the userspace loader:
+------------------------------------------------
+ 1. On successful ducati sample build user space binary loader
+ ducati_load.out is build underi folder
+ syslink/samples/samples/procmgr/ducati_load/
+ 2. One can load the ducati image on to SYSM3 or APPM3 using the
+ userspace binary loader as below.
+ ./ducati_load.out <image_name>
+ 3. on successful load the loader displays the entry point for
+ the image at the end.
+
+ ------snip----
+ loaded_program: 0xea19
+ Completed Loading Image ..... notifyxfer_bios6.xem3
+ entry_point is 0xea19
+ Hit any key to terminate cexec.
+ --------------
+ 4. Due to Virtio issues we cannot start SYSM3/APPM3 from the
+ MPU side, one has to use CCS for SYSM3/APPM3 start by
+ following below step.
+ 5. Break Virtio and open CCS, Select the processor on which
+ image is loaded.
+ 6. Open the PC registers.
+ 7. Set the PC value to the entry point displayed from the loading
+ step.
+ 8. Run couple of times step run.
+ 9. Run the Processor.
+
+loading images on both SYSM3/APPM3 processors
+---------------------------------------------
+
+Follow below procedure to load images on both SYSM3/APPM3 using
+user space loader
+
+ 1. SYSM3 should be reached main() before loading the APPM3 image.
+ 2. SYSM3 should be in running state to load APPM3 from MPU using
+ user space loader. Otherwise MPU will not respond.
+ 3. Because of the above reasons, one need to introduce a continuos
+ while loop in both the SYSM3/APPM3 programs immediately in the main()
+ function at the first place. e.g:
+
+ while(flag)
+ ;
+ 4. Load the SYSM3 image using the loader, set the PC using CCS and tun the
+ SYSM3 processor. Now SYSM3 executing the while(flag) loop.
+ 5. Load the APPM3 using the loader, set the PC using the CCS and run the
+ APPM3 processor, now the APPM3 is executing the while(flag) loop.
+ 6. Stop APPM3 processor.
+ 7. Stop SYSM3 processor.
+ 8. Bring SYSM3 out of while loop by changing the variable flag to 0 on the
+ fly.
+ 9. Bring APP3 out of while loop by changing the variable flag to 0 on the
+ fly.
+ 10. Run SYSM3 and Run APPM3.
+
================================================================================
Highlights / Important Notes
================================================================================
@@ -477,7 +553,6 @@ Tesla Bridge
==============
Features Introduced
--------------------------
-- All modules now can be built alng with the Kernel.
- Fixed checkpatch errors and warnings for all modules under syslink.
- Dynamic Loading Support has been added.
- Bridge Trace Support has been added.
@@ -487,7 +562,12 @@ Features Introduced
==============
Syslink
==============
-- First version of Syslink IPC code.
+- RCM server and client works on Chiron, Ducati SYSM3 and APPM3.
+- Added load support by Proc manager.
+- All modules can be built along with the Kernel.
+- All modules are working as expected.
+- Userspace binary image loader utility is implemented for loading images on
+ Ducati.
Ducati Bridge
==============
@@ -508,6 +588,8 @@ Important Notes
set bootargs root=/dev/ram0 rw mem=54M console=ttyS0,115200n8
initrd=0x81600000,20M ramdisk_size=20480
+ - One need to have CCS to start the Ducati processors as the Virtio doesn't have
+ the PRCM support to reset Ducati processors.
- Code Composer Studio is required to write the Start DSP Address to the
PC register
* CCS_v3.3_SR9_79.exe or CCS_v3.3_SR10_80.exe or CCS_v3.3_SR11
@@ -526,9 +608,7 @@ Important Notes
==================================
Issues Resolved
==================================
- - Due to timing issues some of the static samples were not
- working properly. This issue got fixed. Please refer
- TI internal tracking id:OMAPS00198805
+ - NONE
==================================
Known Issues
@@ -539,3 +619,8 @@ Known Issues
is not backward compatible with Virtio versions < 1.06a.
3. Notipy ping sample some times not working because of timing issues.
Need to have break points in Ducati side.
+ 4. CCS is required to start Ducati processors (SYSM3/APPM3), as the
+ current Virtio doesn't have the PRCM support to reset Ducati Processors.
+ 5. ping sample is not working in dynamic mode in Tesla due to dependant
+ library issue this is been tracked by internal tracking number id:
+ OMAPS00202802
diff --git a/drivers/dsp/syslink/multicore_ipc/gatepeterson.c b/drivers/dsp/syslink/multicore_ipc/gatepeterson.c
index 74a21085bc1f..a8e3e8351a30 100755
--- a/drivers/dsp/syslink/multicore_ipc/gatepeterson.c
+++ b/drivers/dsp/syslink/multicore_ipc/gatepeterson.c
@@ -281,11 +281,6 @@ void *gatepeterson_create(const struct gatepeterson_params *params)
goto exit;
}
- if (WARN_ON(params->name == NULL)) {
- retval = -EINVAL;
- goto exit;
- }
-
handle = kmalloc(sizeof(struct gatepeterson_object), GFP_KERNEL);
if (handle == NULL) {
retval = -ENOMEM;
diff --git a/drivers/dsp/syslink/multicore_ipc/heapbuf.c b/drivers/dsp/syslink/multicore_ipc/heapbuf.c
index c12bd199848f..f88cf133185d 100644..100755
--- a/drivers/dsp/syslink/multicore_ipc/heapbuf.c
+++ b/drivers/dsp/syslink/multicore_ipc/heapbuf.c
@@ -183,29 +183,24 @@ int heapbuf_destroy(void)
{
s32 retval = 0;
struct mutex *lock = NULL;
- /*struct heapbuf_obj *obj = NULL;*/
+ struct heapbuf_obj *obj = NULL;
if (WARN_ON(heapbuf_state.nshandle == NULL)) {
retval = -ENODEV;
goto error;
}
-#if 0
- /* Check if any heapbuf instances have not been deleted so far.
- * if not, delete them or close
+ /* Check if any heapbuf instances have not been deleted/closed so far.
+ * if there any, delete or close them
*/
list_for_each_entry(obj, &heapbuf_state.obj_list, list_elem) {
if (obj->owner->proc_id == multiproc_get_id(NULL))
- heapbuf_delete(&obj->free_list);
+ heapbuf_delete(&obj->top);
else
- heapbuf_close(&obj->free_list);
- }
-#endif
+ heapbuf_close(obj->top);
- /* If a heapbuf instance exist, do not proceed IS THIS OK */
- if (!list_empty(&heapbuf_state.obj_list)) {
- retval = -EBUSY;
- goto error;
+ if (list_empty(&heapbuf_state.obj_list))
+ break;
}
retval = nameserver_delete(&heapbuf_state.nshandle);
@@ -306,19 +301,19 @@ static void *_heapbuf_create(const struct heapbuf_params *params,
listmp_sharedmemory_shared_memreq(&listmp_params);
listmp_params.lock_handle = params->lock_handle;
obj->lock_handle = params->lock_handle;
- if (createflag == true)
- obj->free_list = listmp_sharedmemory_create(&listmp_params);
- else
+ /* Assign the memory with proper cache line padding */
+ obj->attrs = (struct heapbuf_attrs *) params->shared_addr;
+
+ if (createflag == false)
listmp_sharedmemory_open(&obj->free_list, &listmp_params);
+ else {
+ obj->free_list = listmp_sharedmemory_create(&listmp_params);
- if (obj->free_list == NULL) {
- retval = -ENOMEM;
- goto listmp_error;
- }
+ if (obj->free_list == NULL) {
+ retval = -ENOMEM;
+ goto listmp_error;
+ }
- /* Assign the memory with proper cache line padding */
- obj->attrs = (struct heapbuf_attrs *) params->shared_addr;
- if (createflag == true) {
obj->attrs->version = HEAPBUF_VERSION;
obj->attrs->num_free_blocks = params->num_blocks;
obj->attrs->min_free_blocks = params->num_blocks;
@@ -333,7 +328,7 @@ static void *_heapbuf_create(const struct heapbuf_params *params,
obj->attrs->buf = buf;
/*
* Split the buffer into blocks that are length
- * block_size" and add into the free_list Queue
+ * block_size" and add into the free_list Queue
*/
for (i = 0; i < obj->attrs->num_blocks; i++) {
listmp_put_tail((struct listmp_object *)
@@ -345,18 +340,16 @@ static void *_heapbuf_create(const struct heapbuf_params *params,
/* Populate the params member */
memcpy(&obj->params, params, sizeof(struct heapbuf_params));
- if (createflag == true) {
- if (params->name != NULL) {
- obj->params.name = kmalloc(strlen(params->name) + 1,
+ if (params->name != NULL) {
+ obj->params.name = kmalloc(strlen(params->name) + 1,
GFP_KERNEL);
- if (obj->params.name == NULL) {
- retval = -ENOMEM;
- goto name_alloc_error;
- }
-
- strncpy(obj->params.name, params->name,
- strlen(params->name) + 1);
+ if (obj->params.name == NULL) {
+ retval = -ENOMEM;
+ goto name_alloc_error;
}
+
+ strncpy(obj->params.name, params->name,
+ strlen(params->name) + 1);
}
/* Update processor information */
@@ -555,11 +548,8 @@ int heapbuf_open(void **hphandle,
s32 retval = 0;
u16 myproc_id;
- gt_1trace(heap_debugmask, GT_ENTER,
- "heapbuf_open:\n params: %x\n", params);
BUG_ON(hphandle == NULL);
BUG_ON(params == NULL);
-
if (WARN_ON(heapbuf_state.nshandle == NULL)) {
retval = -ENODEV;
goto error;
@@ -618,7 +608,6 @@ int heapbuf_close(void *hphandle)
{
struct heap_object *handle = NULL;
struct heapbuf_obj *obj = NULL;
- struct heapbuf_params *params = NULL;
s32 retval = 0;
u16 myproc_id = 0;
@@ -639,27 +628,27 @@ int heapbuf_close(void *hphandle)
goto error;
myproc_id = multiproc_get_id(NULL);
- if ((obj->remote->proc_id == myproc_id)
- && (obj->remote->open_count == 0)) {
- list_del(&obj->list_elem);
- params = (struct heapbuf_params *)&obj->params;
- if (params->name != NULL) {
- retval = nameserver_remove(heapbuf_state.nshandle,
- params->name);
- if (unlikely(retval != 0))
- goto error;
- }
+ /* opening an instance created locally */
+ if (obj->owner->proc_id == myproc_id) {
+ if (obj->owner->open_count > 1)
+ obj->owner->open_count--;
- kfree(params->name);
+ goto owner_close_done;
+ } else
+ obj->remote->open_count--;
+
+ if (obj->remote->open_count == 0) {
+ list_del(&obj->list_elem);
+ listmp_sharedmemory_close((listmp_sharedmemory_handle *)
+ obj->free_list);
+ kfree(obj->owner);
+ kfree(obj->remote);
+ kfree(obj);
+ kfree(handle);
+ handle = NULL;
}
- listmp_sharedmemory_close((listmp_sharedmemory_handle *)
- obj->free_list);
- kfree(obj->owner);
- kfree(obj->remote);
- kfree(obj);
- kfree(handle);
- handle = NULL;
+owner_close_done:
mutex_unlock(heapbuf_state.list_lock);
return 0;
@@ -869,7 +858,7 @@ int heapbuf_get_extended_stats(void *hphandle,
mutex_unlock(heapbuf_state.list_lock);
error:
- printk(KERN_ERR "heapbuf_get_extended_stats failed status: %x\n",
+ printk(KERN_ERR "heapbuf_get_extended_stats status: %x\n",
retval);
return retval;
}
diff --git a/drivers/dsp/syslink/multicore_ipc/ipc_ioctl.c b/drivers/dsp/syslink/multicore_ipc/ipc_ioctl.c
index 2dba28c71dbe..8df5b5f631ab 100755
--- a/drivers/dsp/syslink/multicore_ipc/ipc_ioctl.c
+++ b/drivers/dsp/syslink/multicore_ipc/ipc_ioctl.c
@@ -41,7 +41,7 @@ int ipc_ioc_router(u32 cmd, ulong arg)
s32 retval = 0;
u32 ioc_nr = _IOC_NR(cmd);
- printk(KERN_ERR "ipc_ioc_router \n"
+ gt_4trace(ipcdrv_trace, GT_ENTER, "ipc_ioc_router \n"
"cmd: %x, ioc_nr: %x(%d), arg: %x\n", cmd, ioc_nr, ioc_nr,
(unsigned int) arg);
diff --git a/drivers/dsp/syslink/multicore_ipc/nameserver.c b/drivers/dsp/syslink/multicore_ipc/nameserver.c
index c543fcba713d..2be633adab58 100644
--- a/drivers/dsp/syslink/multicore_ipc/nameserver.c
+++ b/drivers/dsp/syslink/multicore_ipc/nameserver.c
@@ -767,13 +767,16 @@ int nameserver_get_local(void *handle, const char *name,
goto error;
}
- if (entry->len >= length)
+ if (entry->len >= length) {
memcpy(buffer, entry->buf, length);
- else
+ retval = length;
+ } else {
memcpy(buffer, entry->buf, entry->len);
+ retval = entry->len;
+ }
mutex_unlock(temp_obj->gate_handle);
- return 0;
+ return retval;
error:
mutex_unlock(temp_obj->gate_handle);
@@ -814,7 +817,7 @@ int nameserver_get(void *handle, const char *name,
if (proc_id == NULL) {
retval = nameserver_get_local(temp_obj, name,
buffer, length);
- if (retval == 0) /* Got the value */
+ if (retval > 0) /* Got the value */
goto exit;
for (i = 0; i < max_proc_id; i++) {
@@ -838,7 +841,7 @@ int nameserver_get(void *handle, const char *name,
if (i == local_proc_id) {
retval = nameserver_get_local(temp_obj,
name, buffer, length);
- if (retval == 0)
+ if (retval > 0)
break;
} else {
@@ -851,7 +854,7 @@ int nameserver_get(void *handle, const char *name,
}
exit:
- printk(KERN_ERR "nameserver_get_local failed status:%x \n", retval);
+ printk(KERN_ERR "nameserver_get status:%x \n", retval);
return retval;
}
EXPORT_SYMBOL(nameserver_get);
diff --git a/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify.c b/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify.c
index ffe690ce6610..eb9d479def13 100644..100755
--- a/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify.c
+++ b/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify.c
@@ -277,8 +277,7 @@ void nameserver_remotenotify_callback(u16 proc_id, u32 event_no,
void *nshandle = NULL;
u32 value;
u32 key;
- s32 retval;
- void *entry = NULL;
+ s32 retval = 0;
BUG_ON(arg == NULL);
proc_count = multiproc_get_max_processors();
@@ -293,19 +292,20 @@ void nameserver_remotenotify_callback(u16 proc_id, u32 event_no,
goto exit;
/* This is a request */
- entry = nameserver_get_handle(handle->msg[1 - offset]->instance_name);
- if (entry == NULL)
- goto exit;
-
- /* Search for the NameServer entry */
- retval = nameserver_get_local(nshandle, handle->msg[1 - offset]->name,
- &value, handle->msg[1 - offset]->value_len);
- if (retval != 0)
- goto exit;
+ nshandle = nameserver_get_handle(
+ handle->msg[1 - offset]->instance_name);
+ if (nshandle != NULL)
+ /* Search for the NameServer entry */
+ retval = nameserver_get_local(nshandle,
+ handle->msg[1 - offset]->name, &value,
+ handle->msg[1 - offset]->value_len);
key = gatepeterson_enter(handle->params.gate);
- handle->msg[1 - offset]->request_status = true;
- handle->msg[1 - offset]->value = value;
+ /* If retval != 0 then an entry was found */
+ if (retval > 0) {
+ handle->msg[1 - offset]->request_status = true;
+ handle->msg[1 - offset]->value = value;
+ }
/* Send a response back */
handle->msg[1 - offset]->response = true;
handle->msg[1 - offset]->request = false;
diff --git a/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify_ioctl.c b/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify_ioctl.c
index 227e34991b13..45e6239b4d15 100755
--- a/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify_ioctl.c
+++ b/drivers/dsp/syslink/multicore_ipc/nameserver_remotenotify_ioctl.c
@@ -333,8 +333,6 @@ int nameserver_remotenotify_ioctl(struct inode *inode, struct file *filp,
goto exit;
}
- printk(KERN_ERR "\n");
-
exit:
return status;
}
diff --git a/drivers/dsp/syslink/multicore_ipc/sharedregion.c b/drivers/dsp/syslink/multicore_ipc/sharedregion.c
index f310017799ed..072fee2ddeb1 100755
--- a/drivers/dsp/syslink/multicore_ipc/sharedregion.c
+++ b/drivers/dsp/syslink/multicore_ipc/sharedregion.c
@@ -372,7 +372,7 @@ void *sharedregion_get_ptr(u32 *srptr)
if (WARN_ON(sharedregion_state.table == NULL))
goto error;
- if (WARN_ON(srptr == SHAREDREGION_INVALIDSRPTR))
+ if (srptr == SHAREDREGION_INVALIDSRPTR)
goto error;
myproc_id = multiproc_get_id(NULL);
diff --git a/drivers/dsp/syslink/procmgr/proc4430/proc4430.c b/drivers/dsp/syslink/procmgr/proc4430/proc4430.c
index 6f3e9ac12d22..a67b7486607b 100755
--- a/drivers/dsp/syslink/procmgr/proc4430/proc4430.c
+++ b/drivers/dsp/syslink/procmgr/proc4430/proc4430.c
@@ -233,7 +233,6 @@ void *proc4430_create(u16 proc_id, const struct proc4430_params *params)
if (proc4430_state.proc_handles[proc_id] != NULL) {
printk(KERN_WARNING "Processor already exists for specified"
"%d proc_id\n", proc_id);
- WARN_ON(1);
handle = proc4430_state.proc_handles[proc_id];
goto func_end;
} else {