Commit Graph

94 Commits

Author SHA1 Message Date
Ernesto Ramos 084f70ee09 staging: ti dspbridge: avoid errors if stream id is zero
As 'zero' can be a perfectly good id, it can be picked up as
a NULL from userspace, avoid issues in API and user apps if stream
handle is zero.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:03 -07:00
Ernesto Ramos 4ec09714a0 staging: ti dspbridge: use stream id instead of kernel address
Send stream ids to the user instead of handles, then when
the id is coming from user dspbridge can retrive the handle
using id and avoid using invalid handles.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:03 -07:00
Ernesto Ramos 6bcc9beed2 staging: ti dspbridge: use processor handle from context instead of user's
Make sure dspbridge driver uses a valid processor handle by
using the handle stored in process context.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:03 -07:00
Ernesto Ramos 8df327c390 staging: ti dspbridge: avoid errors if node handle is zero
As 'zero' can be a perfectly good id, it can be picked up as
a NULL from userspace, avoid issues in API and user apps if node
handle is zero.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:02 -07:00
Ernesto Ramos 0624f52f77 staging: ti dspbridge: use node id instead of kernel address
Use idr kernel library to send/receive node ids to the
user instead of kernel address.
This id will be use to access the node handles at the
kernel side, if id does not match to any handle
error -EFAULT is returned.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:02 -07:00
Ernesto Ramos 35f338e4f2 staging: ti dspbridge: avoid possible NULL dereference panic
When dsp_notifications array is received from user,
dspbridge verifies the array has valid pointers
and dsp_notification structures. However, these
structures contain pointers that need to be
checked for valid handles.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 17:11:00 -07:00
Ernesto Ramos 0c4a938ed4 staging:ti dspbridge: remove find_gcf from nldr.c
Remove find_gcf from nldr.c and use kernel function
gcd().

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:23:35 -07:00
Ernesto Ramos 7c9305b80c staging:ti dspbridge: remove bridge_brd_delete function
Remove bridge_brd_delete() function since it is
doing the same that bridge_brd_stop().

Signed-off-by: Ernesto Ramos <ernesto@ernesto-desktop.(none)>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:23:20 -07:00
Ernesto Ramos a2205e487e staging:ti dspbridge: make sure IVA2 is OFF when dev is created
Regardless the IVA2 power state before bridgedriver is
installed, the driver must ensure that IVA2 power
state is OFF when the device driver is created.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:23:20 -07:00
Ernesto Ramos cfccf244a7 staging:ti dspbridge: proc_load/start should set IVA2 to OFF in case of failure
When a base image is being loaded or started and by some reason
the process fails, the IVA2 should be switched OFF.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:23:20 -07:00
Ernesto Ramos a2c2272194 staging:ti dspbridge: fix bridge_brd_stop so IVA2 is set OFF
right now, bridge_brd_stop is not changing the IVA2 power state
to OFF since PM_PWSTST_IVA2 is not 0 after calling this function.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:23:19 -07:00
Ernesto Ramos 3a8965fda9 staging:ti dspbridge: remove DSP_FAILED macro definition
Since status succeeded is now 0 macro DSP_FAILED
is not necessary anymore. This patch removes this
define.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:43 -07:00
Ernesto Ramos 82f575e5bb staging:ti dspbridge: remove DSP_FAILED macro from services
Since status succeeded is 0, DSP_FAILED macro
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:43 -07:00
Ernesto Ramos b66e0986f9 staging:ti dspbridge: remove DSP_FAILED macro from rmgr
Since status succeeded is 0, DSP_FAILED macro
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:43 -07:00
Ernesto Ramos 51d5e099cc staging:ti dspbridge: remove DSP_FAILED macro from pmgr
Since status succeeded is 0, DSP_FAILED macro
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:43 -07:00
Ernesto Ramos d1b2216d13 staging:ti dspbridge: remove DSP_FAILED macro from core
Since status succeeded is 0, DSP_FAILED macro
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:43 -07:00
Ernesto Ramos 54621f031c staging:ti dspbridge: remove DSP_SUCCEEDED macro definition
Since status succeeded is now 0 macro DSP_SUCCEEDED
is not necessary anymore. This patch removes this
define.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:42 -07:00
Ernesto Ramos 95bd64a893 staging:ti dspbridge: remove DSP_SUCCEEDED macro from services
Since status succeeded is now 0 macro DSP_SUCCEEDED
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:42 -07:00
Ernesto Ramos a741ea6efc staging:ti dspbridge: remove DSP_SUCCEEDED macro from rmgr
Since status succeeded is now 0 macro DSP_SUCCEEDED
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:42 -07:00
Ernesto Ramos 157990f0d7 staging:ti dspbridge: remove DSP_SUCCEEDED macro from pmgr
Since status succeeded is now 0 macro DSP_SUCCEEDED
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:42 -07:00
Ernesto Ramos e6486d8cee staging:ti dspbridge: remove DSP_SUCCEEDED macro from core
Since status succeeded is now 0 macro DSP_SUCCEEDED
is not necessary anymore.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:41 -07:00
Ernesto Ramos ecd3d0ca40 staging:ti dspbridge: replace simple_strtoul by strict_strtoul
Replace simple_strtoul by strict_strtoul in atoi function.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:05 -07:00
Ernesto Ramos b3c8aef0a2 staging:ti dspbridge: remove unnecessary volatile variables
Remove unnecessary volatile variables; use accessor
functions __raw_readl/__raw_writel instead when applicable.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:04 -07:00
Ernesto Ramos 74ea8ff93b staging:ti dspbridge: remove function delete_strm_mgr
Remove function delete_strm_mgr in strm.c and
use kfree instead.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:04 -07:00
Ernesto Ramos 3448c5481c staging:ti dspbridge: remove unnecessary check for NULL pointer in cmm.c
Remove unnecessary check for NULL pointer in cmm.c.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:04 -07:00
Ernesto Ramos 3fee78f6be staging:ti dspbridge: remove unused typedef REG16
Remove unused typedef REG16 in dspbridge.

Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-28 08:22:04 -07:00
Armando Uribe 14de72b0aa staging: tidspbridge: Remove unused macros
This patch removes a couple of macros that are not
being used

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:21 -07:00
Armando Uribe bf968b0a52 staging: tidspbridge: Change macros to static inline functions
This patch changes preprocesing macros to static inline
funcions. Also the function is_equal_uuid (IS_EQUAL_UUID) now uses the
memcmp function.

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:20 -07:00
Armando Uribe 803cd75eff staging: tidspbridge: Remove macros used as cast
This patch removes those macros that are used to
perform casts

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:20 -07:00
Armando Uribe fe15ea8b86 staging: tidspbridge: Remove unused magic number
This patch removes an unused magic number from the cod_manager
structure.

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:19 -07:00
Armando Uribe 28eeb6a737 staging: tidspbridge: Remove redundant macro from cod.c
This patch removes a redundant macro from cod.c simply used
to verify that a field was not NULL

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:19 -07:00
Armando Uribe a563510fb2 staging: tidspbridge: Change macros to static inline functions used in cload
This patch changes the macros to static inline function used
in cload as well adds two definition of const to avoid using magic
numbers

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:19 -07:00
Armando Uribe c18c9c910d staging: tidspbridge: Change macros to static inline functions in io_sm
This patch change to macros to static inline functions, these
macros are used to perform write/read operations in shared memory

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:19 -07:00
Armando Uribe 9e342489d7 staging: tidspbridge: Remove redundant macros in io_sm.c
This patch removes 4 redundant macros used to perform
read/write operations in shared memory region from io_sm.c.

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:18 -07:00
Armando Uribe 8204bd3846 staging: tidspbridge: Remove Redundant wrappers
This patch removes redundant wrappers from io_sm.c file

Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 15:32:18 -07:00
Menon, Nishanth cfa6b29750 staging: tidspbridge: remove dbdefs.h
Remove yet another custom definition header

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:06 -07:00
Menon, Nishanth e6bf74f06f staging: tidspbridge: remove OUT define
Remove OUT modifier which makes no sense for linux kernel

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:04 -07:00
Menon, Nishanth 21aaf42ec9 staging: tidspbridge: remove OPTIONAL
OPTIONAL modifier makes no sense in linux kernel

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:04 -07:00
Menon, Nishanth 9d7d0a5261 staging: tidspbridge: remove IN modifier
IN modifier does not exist. remove it

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:04 -07:00
Menon, Nishanth cd4f13c02a staging: tidspbridge: replace CONST with c standard const
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:04 -07:00
Menon, Nishanth 38bf20a9b6 staging: tidspbridge: remove GlobalTypes.h
Remove custom globaltypes.h header

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 14:41:03 -07:00
Kulikov Vasiliy dd85c9911d staging: tidspbridge: check kmalloc() result
If kmalloc() fails then exit with -ENOMEM.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:54:03 -07:00
Nishanth Menon 4018e39651 staging: tidspbridge: remove RET_OK RET_FAIL
RET_OK is 0 and RET_FAIL is a -1, replace these custom returns with
a standard errno

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:52:00 -07:00
Nishanth Menon 7124cb1711 staging: tidspbridge: remove custom typedef reg_uword32
use readl, writel to get and set the register instead.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:50:15 -07:00
Nishanth Menon 2094f12d44 staging: tidspbridge: remove std.h
std.h introduces _TI_ _FLOAT_ _FIXED_ _TARGET_ ARG_TO_INT ARG_TO_PTR
which are no longer being used anywhere. we dont really need the
custom std.h header. remove it from the repo. where we need types,
introduce standard types.h

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:50:15 -07:00
Nishanth Menon 86dd51e4c4 staging: tidspbridge: no need for custom NULL
kernel has it's own NULL define, we dont need to introduce our own
custom NULL type!

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:50:15 -07:00
Nishanth Menon 5e7680679e staging: tidspbridge: remove custom TRUE FALSE
bool has standard true and false, we dont need to introduce
our own TRUE and FALSE macros.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:48:42 -07:00
Rene Sapiens c8c1ad8ce3 staging: ti dspbridge: make variables in prototypes match within functions definitions
This patch renames the variables in the parameter lists and in the function
definitions to make them match.

Signed-off-by: Rene Sapiens <rene.sapiens@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:45:37 -07:00
Rene Sapiens 5a09ddeae9 staging: ti dspbridge: Rename words with camel case
The intention of this patch is to rename the remaining variables with camel
case. Variables will be renamed avoiding camel case and Hungarian notation.
The words to be renamed in this patch are:
========================================
validBit to valid_bit
victimEntryNum to victim_entry_num
virtualAddr to virtual_addr
xType to xtype
actualValue to actual_value
EASIL1_MMUMMU_IRQSTATUSReadRegister32 to easil1_mmummu_irqstatus_read_register32
EASIL1_MMUMMU_LOCKBaseValueWrite32 to easil1_mmummu_lock_base_value_write32
easiNum to easi_num
expectedValue to expected_value
invalidValue to invalid_value
L1_base to l1_base
L2_base to l2_base
lower16Bits to lower16_bits
lower8Bits to lower8_bits
lowerMiddle8Bits to lower_middle8_bits
lowerUpper8Bits to lower_upper8_bits
maxValidValue to max_valid_value
minValidValue to min_valid_value
newValue to new_value
returnCodeIfMismatch to return_code_if_mismatch
spyCodeIfMisMatch to spy_code_if_mis_match
upper16Bits to upper16_bits
upper8Bits to upper8_bits
========================================

Signed-off-by: Rene Sapiens <rene.sapiens@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:45:37 -07:00
Rene Sapiens 5e2eae576b staging: ti dspbridge: Rename words with camel case.
The intention of this patch is to rename the remaining variables with camel
case. Variables will be renamed avoiding camel case and Hungarian notation.
The words to be renamed in this patch are:
========================================
ulBrdState to brd_state
ulChnl to chnl
ulDspAddr to dsp_add
ulDspDestAddr to dsp_dest_addr
ulDspLoadAddr to dsp_load_addr
ulDspRunAddr to dsp_run_addr
ulDspSrcAddr to dsp_src_addr
ulMapAttrs to map_attr
ulMemType to mem_type
ulRMSFxn to rms_fxn
ulStatus to ret
ulVirtAddr to virt_addr
uNumDesc to num_desc
uNumToDSP to num_to_dsp
uPaSize to pa_size
uPhase to phase
uSegId to segm_id
uStream1 to stream1
uStream2 to stream2
uZId to zid
========================================

Signed-off-by: Rene Sapiens <rene.sapiens@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-22 10:45:37 -07:00