aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tidspbridge/include
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/tidspbridge/include')
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/_chnl_sm.h30
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/brddefs.h2
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/cfgdefs.h50
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/chnl.h21
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/chnldefs.h9
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/chnlpriv.h21
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/clk.h6
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/cmm.h4
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/cmmdefs.h39
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/cod.h15
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dbdcddef.h14
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dbdefs.h98
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dbldefs.h141
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dbll.h6
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dblldefs.h65
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dehdefs.h32
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dev.h67
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/disp.h15
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dispdefs.h35
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/drv.h48
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/drvdefs.h25
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h216
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dspdefs.h102
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dspdrv.h2
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dspio.h4
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dspioctl.h13
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/dynamic_loader.h2
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/gb.h79
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/gs.h59
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/host_os.h9
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/io.h29
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/io_sm.h143
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/iodefs.h36
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/ldr.h29
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/list.h225
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/mbx_sh.h40
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/mgr.h4
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/mgrpriv.h4
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h24
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/node.h24
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/nodepriv.h10
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/proc.h6
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/pwr.h16
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/pwr_sh.h33
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/resourcecleanup.h11
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/rms_sh.h9
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/strm.h62
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/strmdefs.h6
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/sync.h14
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/utildefs.h39
50 files changed, 363 insertions, 1630 deletions
diff --git a/drivers/staging/tidspbridge/include/dspbridge/_chnl_sm.h b/drivers/staging/tidspbridge/include/dspbridge/_chnl_sm.h
index 8efd1fba2f6d..6e7ab4fd8c39 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/_chnl_sm.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/_chnl_sm.h
@@ -26,7 +26,7 @@
#include <dspbridge/dspapi.h>
#include <dspbridge/dspdefs.h>
-#include <dspbridge/list.h>
+#include <linux/list.h>
#include <dspbridge/ntfy.h>
/*
@@ -114,20 +114,20 @@ struct shm {
struct chnl_mgr {
/* Function interface to Bridge driver */
struct bridge_drv_interface *intf_fxns;
- struct io_mgr *hio_mgr; /* IO manager */
+ struct io_mgr *iomgr; /* IO manager */
/* Device this board represents */
- struct dev_object *hdev_obj;
+ struct dev_object *dev_obj;
/* These fields initialized in bridge_chnl_create(): */
- u32 dw_output_mask; /* Host output channels w/ full buffers */
- u32 dw_last_output; /* Last output channel fired from DPC */
+ u32 output_mask; /* Host output channels w/ full buffers */
+ u32 last_output; /* Last output channel fired from DPC */
/* Critical section object handle */
spinlock_t chnl_mgr_lock;
u32 word_size; /* Size in bytes of DSP word */
u8 max_channels; /* Total number of channels */
u8 open_channels; /* Total number of open channels */
- struct chnl_object **ap_channel; /* Array of channels */
- u8 dw_type; /* Type of channel class library */
+ struct chnl_object **channels; /* Array of channels */
+ u8 type; /* Type of channel class library */
/* If no shm syms, return for CHNL_Open */
int chnl_open_status;
};
@@ -140,23 +140,23 @@ struct chnl_object {
/* Pointer back to channel manager */
struct chnl_mgr *chnl_mgr_obj;
u32 chnl_id; /* Channel id */
- u8 dw_state; /* Current channel state */
+ u8 state; /* Current channel state */
s8 chnl_mode; /* Chnl mode and attributes */
/* Chnl I/O completion event (user mode) */
void *user_event;
- /* Abstract syncronization object */
+ /* Abstract synchronization object */
struct sync_object *sync_event;
u32 process; /* Process which created this channel */
- u32 pcb_arg; /* Argument to use with callback */
- struct lst_list *pio_requests; /* List of IOR's to driver */
+ u32 cb_arg; /* Argument to use with callback */
+ struct list_head io_requests; /* List of IOR's to driver */
s32 cio_cs; /* Number of IOC's in queue */
s32 cio_reqs; /* Number of IORequests in queue */
s32 chnl_packets; /* Initial number of free Irps */
/* List of IOC's from driver */
- struct lst_list *pio_completions;
- struct lst_list *free_packets_list; /* List of free Irps */
+ struct list_head io_completions;
+ struct list_head free_packets_list; /* List of free Irps */
struct ntfy_object *ntfy_obj;
- u32 bytes_moved; /* Total number of bytes transfered */
+ u32 bytes_moved; /* Total number of bytes transferred */
/* For DSP-DMA */
@@ -171,7 +171,7 @@ struct chnl_irp {
u8 *host_user_buf;
/* Buffer to be filled/emptied. (System) */
u8 *host_sys_buf;
- u32 dw_arg; /* Issue/Reclaim argument. */
+ u32 arg; /* Issue/Reclaim argument. */
u32 dsp_tx_addr; /* Transfer address on DSP side. */
u32 byte_size; /* Bytes transferred. */
u32 buf_size; /* Actual buffer size when allocated. */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/brddefs.h b/drivers/staging/tidspbridge/include/dspbridge/brddefs.h
index f80d9a5f05a3..725d7b37414c 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/brddefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/brddefs.h
@@ -24,9 +24,7 @@
#define BRD_IDLE 0x1 /* Monitor Loaded, but suspended. */
#define BRD_RUNNING 0x2 /* Monitor loaded, and executing. */
#define BRD_UNKNOWN 0x3 /* Board state is indeterminate. */
-#define BRD_SYNCINIT 0x4
#define BRD_LOADED 0x5
-#define BRD_LASTSTATE BRD_LOADED /* Set to highest legal board state. */
#define BRD_SLEEP_TRANSITION 0x6 /* Sleep transition in progress */
#define BRD_HIBERNATION 0x7 /* MPU initiated hibernation */
#define BRD_RETENTION 0x8 /* Retention mode */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/cfgdefs.h b/drivers/staging/tidspbridge/include/dspbridge/cfgdefs.h
index 38122dbf877a..60a278136bdf 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/cfgdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/cfgdefs.h
@@ -19,25 +19,12 @@
#ifndef CFGDEFS_
#define CFGDEFS_
-/* Maximum length of module search path. */
-#define CFG_MAXSEARCHPATHLEN 255
-
-/* Maximum length of general paths. */
-#define CFG_MAXPATH 255
-
/* Host Resources: */
#define CFG_MAXMEMREGISTERS 9
-#define CFG_MAXIOPORTS 20
-#define CFG_MAXIRQS 7
-#define CFG_MAXDMACHANNELS 7
/* IRQ flag */
#define CFG_IRQSHARED 0x01 /* IRQ can be shared */
-/* DSP Resources: */
-#define CFG_DSPMAXMEMTYPES 10
-#define CFG_DEFAULT_NUM_WINDOWS 1 /* We support only one window. */
-
/* A platform-related device handle: */
struct cfg_devnode;
@@ -47,35 +34,28 @@ struct cfg_devnode;
struct cfg_hostres {
u32 num_mem_windows; /* Set to default */
/* This is the base.memory */
- u32 dw_mem_base[CFG_MAXMEMREGISTERS]; /* shm virtual address */
- u32 dw_mem_length[CFG_MAXMEMREGISTERS]; /* Length of the Base */
- u32 dw_mem_phys[CFG_MAXMEMREGISTERS]; /* shm Physical address */
+ u32 mem_base[CFG_MAXMEMREGISTERS]; /* shm virtual address */
+ u32 mem_length[CFG_MAXMEMREGISTERS]; /* Length of the Base */
+ u32 mem_phys[CFG_MAXMEMREGISTERS]; /* shm Physical address */
u8 birq_registers; /* IRQ Number */
u8 birq_attrib; /* IRQ Attribute */
- u32 dw_offset_for_monitor; /* The Shared memory starts from
- * dw_mem_base + this offset */
+ u32 offset_for_monitor; /* The Shared memory starts from
+ * mem_base + this offset */
/*
* Info needed by NODE for allocating channels to communicate with RMS:
- * dw_chnl_offset: Offset of RMS channels. Lower channels are
+ * chnl_offset: Offset of RMS channels. Lower channels are
* reserved.
- * dw_chnl_buf_size: Size of channel buffer to send to RMS
- * dw_num_chnls: Total number of channels
+ * chnl_buf_size: Size of channel buffer to send to RMS
+ * num_chnls: Total number of channels
* (including reserved).
*/
- u32 dw_chnl_offset;
- u32 dw_chnl_buf_size;
- u32 dw_num_chnls;
- void __iomem *dw_per_base;
- u32 dw_per_pm_base;
- u32 dw_core_pm_base;
- void __iomem *dw_dmmu_base;
- void __iomem *dw_sys_ctrl_base;
-};
-
-struct cfg_dspmemdesc {
- u32 mem_type; /* Type of memory. */
- u32 ul_min; /* Minimum amount of memory of this type. */
- u32 ul_max; /* Maximum amount of memory of this type. */
+ u32 chnl_offset;
+ u32 chnl_buf_size;
+ u32 num_chnls;
+ void __iomem *per_base;
+ u32 per_pm_base;
+ u32 core_pm_base;
+ void __iomem *dmmu_base;
};
#endif /* CFGDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/chnl.h b/drivers/staging/tidspbridge/include/dspbridge/chnl.h
index 8733b3b81931..92f6a13424f2 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/chnl.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/chnl.h
@@ -25,27 +25,6 @@
#include <dspbridge/chnlpriv.h>
/*
- * ======== chnl_close ========
- * Purpose:
- * Ensures all pending I/O on this channel is cancelled, discards all
- * queued I/O completion notifications, then frees the resources allocated
- * for this channel, and makes the corresponding logical channel id
- * available for subsequent use.
- * Parameters:
- * chnl_obj: Channel object handle.
- * Returns:
- * 0: Success;
- * -EFAULT: Invalid chnl_obj.
- * Requires:
- * chnl_init(void) called.
- * No thread must be blocked on this channel's I/O completion event.
- * Ensures:
- * 0: The I/O completion event for this channel is freed.
- * chnl_obj is no longer valid.
- */
-extern int chnl_close(struct chnl_object *chnl_obj);
-
-/*
* ======== chnl_create ========
* Purpose:
* Create a channel manager object, responsible for opening new channels
diff --git a/drivers/staging/tidspbridge/include/dspbridge/chnldefs.h b/drivers/staging/tidspbridge/include/dspbridge/chnldefs.h
index 5bf5f6b0b7b4..cb67c309b6ca 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/chnldefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/chnldefs.h
@@ -22,9 +22,6 @@
/* Channel id option. */
#define CHNL_PICKFREE (~0UL) /* Let manager pick a free channel. */
-/* Channel manager limits: */
-#define CHNL_INITIOREQS 4 /* Default # of I/O requests. */
-
/* Channel modes */
#define CHNL_MODETODSP 0 /* Data streaming to the DSP. */
#define CHNL_MODEFROMDSP 1 /* Data streaming from the DSP. */
@@ -48,7 +45,7 @@
struct chnl_attr {
u32 uio_reqs; /* Max # of preallocated I/O requests. */
void *event_obj; /* User supplied auto-reset event object. */
- char *pstr_event_name; /* Ptr to name of user event object. */
+ char *str_event_name; /* Ptr to name of user event object. */
void *reserved1; /* Reserved for future use. */
u32 reserved2; /* Reserved for future use. */
@@ -56,11 +53,11 @@ struct chnl_attr {
/* I/O completion record: */
struct chnl_ioc {
- void *pbuf; /* Buffer to be filled/emptied. */
+ void *buf; /* Buffer to be filled/emptied. */
u32 byte_size; /* Bytes transferred. */
u32 buf_size; /* Actual buffer size in bytes */
u32 status; /* Status of IO completion. */
- u32 dw_arg; /* User argument associated with pbuf. */
+ u32 arg; /* User argument associated with buf. */
};
#endif /* CHNLDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/chnlpriv.h b/drivers/staging/tidspbridge/include/dspbridge/chnlpriv.h
index 9292100b1c04..4114c79e2466 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/chnlpriv.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/chnlpriv.h
@@ -39,12 +39,6 @@
*/
#define CHNL_PCPY 0 /* Proc-copy transport 0 */
-#define CHNL_MAXIRQ 0xff /* Arbitrarily large number. */
-
-/* The following modes are private: */
-#define CHNL_MODEUSEREVENT 0x1000 /* User provided the channel event. */
-#define CHNL_MODEMASK 0x1001
-
/* Higher level channel states: */
#define CHNL_STATEREADY 0 /* Channel ready for I/O. */
#define CHNL_STATECANCEL 1 /* I/O was cancelled. */
@@ -56,23 +50,16 @@
/* Types of channel class libraries: */
#define CHNL_TYPESM 1 /* Shared memory driver. */
-#define CHNL_TYPEBM 2 /* Bus Mastering driver. */
-
-/* Max string length of channel I/O completion event name - change if needed */
-#define CHNL_MAXEVTNAMELEN 32
-
-/* Max memory pages lockable in CHNL_PrepareBuffer() - change if needed */
-#define CHNL_MAXLOCKPAGES 64
/* Channel info. */
struct chnl_info {
- struct chnl_mgr *hchnl_mgr; /* Owning channel manager. */
+ struct chnl_mgr *chnl_mgr; /* Owning channel manager. */
u32 cnhl_id; /* Channel ID. */
void *event_obj; /* Channel I/O completion event. */
/*Abstraction of I/O completion event. */
struct sync_object *sync_event;
- s8 dw_mode; /* Channel mode. */
- u8 dw_state; /* Current channel state. */
+ s8 mode; /* Channel mode. */
+ u8 state; /* Current channel state. */
u32 bytes_tx; /* Total bytes transferred. */
u32 cio_cs; /* Number of IOCs in queue. */
u32 cio_reqs; /* Number of IO Requests in queue. */
@@ -81,7 +68,7 @@ struct chnl_info {
/* Channel manager info: */
struct chnl_mgrinfo {
- u8 dw_type; /* Type of channel class library. */
+ u8 type; /* Type of channel class library. */
/* Channel handle, given the channel id. */
struct chnl_object *chnl_obj;
u8 open_channels; /* Number of open channels. */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/clk.h b/drivers/staging/tidspbridge/include/dspbridge/clk.h
index b23950323421..685341c50693 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/clk.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/clk.h
@@ -55,7 +55,7 @@ extern void dsp_clk_exit(void);
* Initializes private state of CLK module.
* Parameters:
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* CLK initialized.
@@ -71,7 +71,7 @@ void dsp_gpt_wait_overflow(short int clk_id, unsigned int load);
* Parameters:
* Returns:
* 0: Success.
- * -EPERM: Error occured while enabling the clock.
+ * -EPERM: Error occurred while enabling the clock.
* Requires:
* Ensures:
*/
@@ -86,7 +86,7 @@ u32 dsp_clock_enable_all(u32 dsp_per_clocks);
* Parameters:
* Returns:
* 0: Success.
- * -EPERM: Error occured while disabling the clock.
+ * -EPERM: Error occurred while disabling the clock.
* Requires:
* Ensures:
*/
diff --git a/drivers/staging/tidspbridge/include/dspbridge/cmm.h b/drivers/staging/tidspbridge/include/dspbridge/cmm.h
index 6ad313fbc66d..aff22051cf57 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/cmm.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/cmm.h
@@ -81,7 +81,7 @@ extern void *cmm_calloc_buf(struct cmm_object *hcmm_mgr,
* Requires:
* cmm_init(void) called.
* ph_cmm_mgr != NULL.
- * mgr_attrts->ul_min_block_size >= 4 bytes.
+ * mgr_attrts->min_block_size >= 4 bytes.
* Ensures:
*
*/
@@ -190,7 +190,7 @@ extern int cmm_get_info(struct cmm_object *hcmm_mgr,
* Initializes private state of CMM module.
* Parameters:
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* CMM initialized.
diff --git a/drivers/staging/tidspbridge/include/dspbridge/cmmdefs.h b/drivers/staging/tidspbridge/include/dspbridge/cmmdefs.h
index fbff372d2f51..a264fa69a4fc 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/cmmdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/cmmdefs.h
@@ -19,18 +19,17 @@
#ifndef CMMDEFS_
#define CMMDEFS_
-#include <dspbridge/list.h>
/* Cmm attributes used in cmm_create() */
struct cmm_mgrattrs {
/* Minimum SM allocation; default 32 bytes. */
- u32 ul_min_block_size;
+ u32 min_block_size;
};
/* Attributes for CMM_AllocBuf() & CMM_AllocDesc() */
struct cmm_attrs {
- u32 ul_seg_id; /* 1,2... are SM segments. 0 is not. */
- u32 ul_alignment; /* 0,1,2,4....ul_min_block_size */
+ u32 seg_id; /* 1,2... are SM segments. 0 is not. */
+ u32 alignment; /* 0,1,2,4....min_block_size */
};
/*
@@ -52,40 +51,40 @@ struct cmm_attrs {
*/
struct cmm_seginfo {
- u32 dw_seg_base_pa; /* Start Phys address of SM segment */
+ u32 seg_base_pa; /* Start Phys address of SM segment */
/* Total size in bytes of segment: DSP+GPP */
- u32 ul_total_seg_size;
- u32 dw_gpp_base_pa; /* Start Phys addr of Gpp SM seg */
- u32 ul_gpp_size; /* Size of Gpp SM seg in bytes */
- u32 dw_dsp_base_va; /* DSP virt base byte address */
- u32 ul_dsp_size; /* DSP seg size in bytes */
+ u32 total_seg_size;
+ u32 gpp_base_pa; /* Start Phys addr of Gpp SM seg */
+ u32 gpp_size; /* Size of Gpp SM seg in bytes */
+ u32 dsp_base_va; /* DSP virt base byte address */
+ u32 dsp_size; /* DSP seg size in bytes */
/* # of current GPP allocations from this segment */
- u32 ul_in_use_cnt;
- u32 dw_seg_base_va; /* Start Virt address of SM seg */
+ u32 in_use_cnt;
+ u32 seg_base_va; /* Start Virt address of SM seg */
};
/* CMM useful information */
struct cmm_info {
/* # of SM segments registered with this Cmm. */
- u32 ul_num_gppsm_segs;
+ u32 num_gppsm_segs;
/* Total # of allocations outstanding for CMM */
- u32 ul_total_in_use_cnt;
+ u32 total_in_use_cnt;
/* Min SM block size allocation from cmm_create() */
- u32 ul_min_block_size;
+ u32 min_block_size;
/* Info per registered SM segment. */
struct cmm_seginfo seg_info[CMM_MAXGPPSEGS];
};
/* XlatorCreate attributes */
struct cmm_xlatorattrs {
- u32 ul_seg_id; /* segment Id used for SM allocations */
- u32 dw_dsp_bufs; /* # of DSP-side bufs */
- u32 dw_dsp_buf_size; /* size of DSP-side bufs in GPP bytes */
+ u32 seg_id; /* segment Id used for SM allocations */
+ u32 dsp_bufs; /* # of DSP-side bufs */
+ u32 dsp_buf_size; /* size of DSP-side bufs in GPP bytes */
/* Vm base address alloc'd in client process context */
void *vm_base;
- /* dw_vm_size must be >= (dwMaxNumBufs * dwMaxSize) */
- u32 dw_vm_size;
+ /* vm_size must be >= (dwMaxNumBufs * dwMaxSize) */
+ u32 vm_size;
};
/*
diff --git a/drivers/staging/tidspbridge/include/dspbridge/cod.h b/drivers/staging/tidspbridge/include/dspbridge/cod.h
index 42bce2eec80a..cb684c11b302 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/cod.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/cod.h
@@ -27,9 +27,6 @@
#define COD_TRACEBEG "SYS_PUTCBEG"
#define COD_TRACEEND "SYS_PUTCEND"
#define COD_TRACECURPOS "BRIDGE_SYS_PUTC_current"
-#define COD_TRACESECT "trace"
-#define COD_TRACEBEGOLD "PUTCBEG"
-#define COD_TRACEENDOLD "PUTCEND"
#define COD_NOLOAD DBLL_NOLOAD
#define COD_SYMB DBLL_SYMB
@@ -40,11 +37,6 @@ struct cod_manager;
/* COD library handle */
struct cod_libraryobj;
-/* COD attributes */
-struct cod_attrs {
- u32 ul_reserved;
-};
-
/*
* Function prototypes for writing memory to a DSP system, allocating
* and freeing DSP memory.
@@ -79,8 +71,6 @@ extern void cod_close(struct cod_libraryobj *lib);
* Parameters:
* manager: created manager object
* str_zl_file: ZL DLL filename, of length < COD_MAXPATHLENGTH.
- * attrs: attributes to be used by this object. A NULL value
- * will cause default attrs to be used.
* Returns:
* 0: Success.
* -ESPIPE: ZL_Create failed.
@@ -92,8 +82,7 @@ extern void cod_close(struct cod_libraryobj *lib);
* Ensures:
*/
extern int cod_create(struct cod_manager **mgr,
- char *str_zl_file,
- const struct cod_attrs *attrs);
+ char *str_zl_file);
/*
* ======== cod_delete ========
@@ -260,7 +249,7 @@ extern int cod_get_sym_value(struct cod_manager *cod_mgr_obj,
* Parameters:
* None.
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* A requirement for each of the other public COD functions.
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dbdcddef.h b/drivers/staging/tidspbridge/include/dspbridge/dbdcddef.h
index 1daa4b57b736..bc201b329033 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dbdcddef.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dbdcddef.h
@@ -48,15 +48,15 @@ struct dcd_nodeprops {
struct dsp_ndbprops ndb_props;
u32 msg_segid;
u32 msg_notify_type;
- char *pstr_create_phase_fxn;
- char *pstr_delete_phase_fxn;
- char *pstr_execute_phase_fxn;
- char *pstr_i_alg_name;
+ char *str_create_phase_fxn;
+ char *str_delete_phase_fxn;
+ char *str_execute_phase_fxn;
+ char *str_i_alg_name;
/* Dynamic load properties */
- u16 us_load_type; /* Static, dynamic, overlay */
- u32 ul_data_mem_seg_mask; /* Data memory requirements */
- u32 ul_code_mem_seg_mask; /* Code memory requirements */
+ u16 load_type; /* Static, dynamic, overlay */
+ u32 data_mem_seg_mask; /* Data memory requirements */
+ u32 code_mem_seg_mask; /* Code memory requirements */
};
/* DCD Generic Object Type */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h b/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h
index 5af075def871..c8f464505efc 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h
@@ -31,9 +31,6 @@
/* API return value and calling convention */
#define DBAPI int
-/* Infinite time value for the utimeout parameter to DSPStream_Select() */
-#define DSP_FOREVER (-1)
-
/* Maximum length of node name, used in dsp_ndbprops */
#define DSP_MAXNAMELEN 32
@@ -74,16 +71,9 @@
#define DSP_NODE_MIN_PRIORITY 1
#define DSP_NODE_MAX_PRIORITY 15
-/* Pre-Defined Message Command Codes available to user: */
-#define DSP_RMSUSERCODESTART RMS_USER /* Start of RMS user cmd codes */
-/* end of user codes */
-#define DSP_RMSUSERCODEEND (RMS_USER + RMS_MAXUSERCODES);
/* msg_ctrl contains SM buffer description */
#define DSP_RMSBUFDESC RMS_BUFDESC
-/* Shared memory identifier for MEM segment named "SHMSEG0" */
-#define DSP_SHMSEG0 (u32)(-1)
-
/* Processor ID numbers */
#define DSP_UNIT 0
#define IVA_UNIT 1
@@ -91,15 +81,6 @@
#define DSPWORD unsigned char
#define DSPWORDSIZE sizeof(DSPWORD)
-/* Power control enumerations */
-#define PROC_PWRCONTROL 0x8070
-
-#define PROC_PWRMGT_ENABLE (PROC_PWRCONTROL + 0x3)
-#define PROC_PWRMGT_DISABLE (PROC_PWRCONTROL + 0x4)
-
-/* Bridge Code Version */
-#define BRIDGE_VERSION_CODE 333
-
#define MAX_PROFILES 16
/* DSP chip type */
@@ -118,12 +99,12 @@ static inline bool is_valid_proc_event(u32 x)
/* The Node UUID structure */
struct dsp_uuid {
- u32 ul_data1;
- u16 us_data2;
- u16 us_data3;
- u8 uc_data4;
- u8 uc_data5;
- u8 uc_data6[6];
+ u32 data1;
+ u16 data2;
+ u16 data3;
+ u8 data4;
+ u8 data5;
+ u8 data6[6];
};
/* DCD types */
@@ -227,11 +208,11 @@ enum dsp_flushtype {
/* Memory Segment Status Values */
struct dsp_memstat {
- u32 ul_size;
- u32 ul_total_free_size;
- u32 ul_len_max_free_block;
- u32 ul_num_free_blocks;
- u32 ul_num_alloc_blocks;
+ u32 size;
+ u32 total_free_size;
+ u32 len_max_free_block;
+ u32 num_free_blocks;
+ u32 num_alloc_blocks;
};
/* Processor Load information Values */
@@ -248,11 +229,11 @@ struct dsp_strmattr {
u32 buf_size; /* Buffer size (DSP words) */
u32 num_bufs; /* Number of buffers */
u32 buf_alignment; /* Buffer alignment */
- u32 utimeout; /* Timeout for blocking STRM calls */
+ u32 timeout; /* Timeout for blocking STRM calls */
enum dsp_strmmode strm_mode; /* mode of stream when opened */
/* DMA chnl id if dsp_strmmode is LDMA or RDMA */
- u32 udma_chnl_id;
- u32 udma_priority; /* DMA channel priority 0=lowest, >0=high */
+ u32 dma_chnl_id;
+ u32 dma_priority; /* DMA channel priority 0=lowest, >0=high */
};
/* The dsp_cbdata structure */
@@ -263,9 +244,9 @@ struct dsp_cbdata {
/* The dsp_msg structure */
struct dsp_msg {
- u32 dw_cmd;
- u32 dw_arg1;
- u32 dw_arg2;
+ u32 cmd;
+ u32 arg1;
+ u32 arg2;
};
/* The dsp_resourcereqmts structure for node's resource requirements */
@@ -274,9 +255,9 @@ struct dsp_resourcereqmts {
u32 static_data_size;
u32 global_data_size;
u32 program_mem_size;
- u32 uwc_execution_time;
- u32 uwc_period;
- u32 uwc_deadline;
+ u32 wc_execution_time;
+ u32 wc_period;
+ u32 wc_deadline;
u32 avg_exection_time;
u32 minimum_period;
};
@@ -295,7 +276,7 @@ struct dsp_streamconnect {
};
struct dsp_nodeprofs {
- u32 ul_heap_size;
+ u32 heap_size;
};
/* The dsp_ndbprops structure reports the attributes of a node */
@@ -313,7 +294,7 @@ struct dsp_ndbprops {
u32 message_depth;
u32 num_input_streams;
u32 num_output_streams;
- u32 utimeout;
+ u32 timeout;
u32 count_profiles; /* Number of supported profiles */
/* Array of profiles */
struct dsp_nodeprofs node_profiles[MAX_PROFILES];
@@ -325,7 +306,7 @@ struct dsp_ndbprops {
struct dsp_nodeattrin {
u32 cb_struct;
s32 prio;
- u32 utimeout;
+ u32 timeout;
u32 profile_id;
/* Reserved, for Bridge Internal use only */
u32 heap_size;
@@ -359,14 +340,14 @@ struct dsp_nodeattr {
* window handle.
*/
struct dsp_notification {
- char *ps_name;
+ char *name;
void *handle;
};
/* The dsp_processorattrin structure describes the attributes of a processor */
struct dsp_processorattrin {
u32 cb_struct;
- u32 utimeout;
+ u32 timeout;
};
/*
* The dsp_processorinfo structure describes basic capabilities of a
@@ -377,8 +358,8 @@ struct dsp_processorinfo {
int processor_family;
int processor_type;
u32 clock_rate;
- u32 ul_internal_mem_size;
- u32 ul_external_mem_size;
+ u32 internal_mem_size;
+ u32 external_mem_size;
u32 processor_id;
int ty_running_rtos;
s32 node_min_priority;
@@ -387,10 +368,10 @@ struct dsp_processorinfo {
/* Error information of last DSP exception signalled to the GPP */
struct dsp_errorinfo {
- u32 dw_err_mask;
- u32 dw_val1;
- u32 dw_val2;
- u32 dw_val3;
+ u32 err_mask;
+ u32 val1;
+ u32 val2;
+ u32 val3;
};
/* The dsp_processorstate structure describes the state of a DSP processor */
@@ -407,7 +388,7 @@ struct dsp_resourceinfo {
u32 cb_struct;
enum dsp_resourceinfotype resource_type;
union {
- u32 ul_resource;
+ u32 resource;
struct dsp_memstat mem_stat;
struct dsp_procloadstat proc_load_stat;
} result;
@@ -420,13 +401,13 @@ struct dsp_resourceinfo {
*/
struct dsp_streamattrin {
u32 cb_struct;
- u32 utimeout;
+ u32 timeout;
u32 segment_id;
u32 buf_alignment;
u32 num_bufs;
enum dsp_strmmode strm_mode;
- u32 udma_chnl_id;
- u32 udma_priority;
+ u32 dma_chnl_id;
+ u32 dma_priority;
};
/* The dsp_bufferattr structure describes the attributes of a data buffer */
@@ -444,7 +425,7 @@ struct dsp_streaminfo {
u32 cb_struct;
u32 number_bufs_allowed;
u32 number_bufs_in_stream;
- u32 ul_number_bytes;
+ u32 number_bytes;
void *sync_object_handle;
enum dsp_streamstate ss_stream_state;
};
@@ -501,13 +482,6 @@ bit 15 - Output (writeable) buffer
#define DSPPROCTYPE_C64 6410
#define IVAPROCTYPE_ARM7 470
-#define REG_MGR_OBJECT 1
-#define REG_DRV_OBJECT 2
-
-/* registry */
-#define DRVOBJECT "DrvObject"
-#define MGROBJECT "MgrObject"
-
/* Max registry path length. Also the max registry value length. */
#define MAXREGPATHLENGTH 255
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dbldefs.h b/drivers/staging/tidspbridge/include/dspbridge/dbldefs.h
deleted file mode 100644
index bf4fb99529ae..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/dbldefs.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * dbldefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef DBLDEFS_
-#define DBLDEFS_
-
-/*
- * Bit masks for dbl_flags.
- */
-#define DBL_NOLOAD 0x0 /* Don't load symbols, code, or data */
-#define DBL_SYMB 0x1 /* load symbols */
-#define DBL_CODE 0x2 /* load code */
-#define DBL_DATA 0x4 /* load data */
-#define DBL_DYNAMIC 0x8 /* dynamic load */
-#define DBL_BSS 0x20 /* Unitialized section */
-
-#define DBL_MAXPATHLENGTH 255
-
-/*
- * ======== dbl_flags ========
- * Specifies whether to load code, data, or symbols
- */
-typedef s32 dbl_flags;
-
-/*
- * ======== dbl_sect_info ========
- * For collecting info on overlay sections
- */
-struct dbl_sect_info {
- const char *name; /* name of section */
- u32 sect_run_addr; /* run address of section */
- u32 sect_load_addr; /* load address of section */
- u32 size; /* size of section (target MAUs) */
- dbl_flags type; /* Code, data, or BSS */
-};
-
-/*
- * ======== dbl_symbol ========
- * (Needed for dynamic load library)
- */
-struct dbl_symbol {
- u32 value;
-};
-
-/*
- * ======== dbl_alloc_fxn ========
- * Allocate memory function. Allocate or reserve (if reserved == TRUE)
- * "size" bytes of memory from segment "space" and return the address in
- * *dsp_address (or starting at *dsp_address if reserve == TRUE). Returns 0 on
- * success, or an error code on failure.
- */
-typedef s32(*dbl_alloc_fxn) (void *hdl, s32 space, u32 size, u32 align,
- u32 *dsp_address, s32 seg_id, s32 req,
- bool reserved);
-
-/*
- * ======== dbl_free_fxn ========
- * Free memory function. Free, or unreserve (if reserved == TRUE) "size"
- * bytes of memory from segment "space"
- */
-typedef bool(*dbl_free_fxn) (void *hdl, u32 addr, s32 space, u32 size,
- bool reserved);
-
-/*
- * ======== dbl_log_write_fxn ========
- * Function to call when writing data from a section, to log the info.
- * Can be NULL if no logging is required.
- */
-typedef int(*dbl_log_write_fxn) (void *handle,
- struct dbl_sect_info *sect, u32 addr,
- u32 bytes);
-
-/*
- * ======== dbl_sym_lookup ========
- * Symbol lookup function - Find the symbol name and return its value.
- *
- * Parameters:
- * handle - Opaque handle
- * parg - Opaque argument.
- * name - Name of symbol to lookup.
- * sym - Location to store address of symbol structure.
- *
- * Returns:
- * TRUE: Success (symbol was found).
- * FALSE: Failed to find symbol.
- */
-typedef bool(*dbl_sym_lookup) (void *handle, void *parg, void *rmm_handle,
- const char *name, struct dbl_symbol ** sym);
-
-/*
- * ======== dbl_write_fxn ========
- * Write memory function. Write "n" HOST bytes of memory to segment "mtype"
- * starting at address "dsp_address" from the buffer "buf". The buffer is
- * formatted as an array of words appropriate for the DSP.
- */
-typedef s32(*dbl_write_fxn) (void *hdl, u32 dsp_address, void *buf,
- u32 n, s32 mtype);
-
-/*
- * ======== dbl_attrs ========
- */
-struct dbl_attrs {
- dbl_alloc_fxn alloc;
- dbl_free_fxn free;
- void *rmm_handle; /* Handle to pass to alloc, free functions */
- dbl_write_fxn write;
- void *input_params; /* Handle to pass to write, cinit function */
-
- dbl_log_write_fxn log_write;
- void *log_write_handle;
-
- /* Symbol matching function and handle to pass to it */
- dbl_sym_lookup sym_lookup;
- void *sym_handle;
- void *sym_arg;
-
- /*
- * These file manipulation functions should be compatible with the
- * "C" run time library functions of the same name.
- */
- s32(*fread) (void *, size_t, size_t, void *);
- s32(*fseek) (void *, long, int);
- s32(*ftell) (void *);
- s32(*fclose) (void *);
- void *(*fopen) (const char *, const char *);
-};
-
-#endif /* DBLDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dbll.h b/drivers/staging/tidspbridge/include/dspbridge/dbll.h
index b0186761466c..46a9e0027ea5 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dbll.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dbll.h
@@ -42,18 +42,12 @@ extern bool dbll_init(void);
extern int dbll_load(struct dbll_library_obj *lib,
dbll_flags flags,
struct dbll_attrs *attrs, u32 * entry);
-extern int dbll_load_sect(struct dbll_library_obj *zl_lib,
- char *sec_name, struct dbll_attrs *attrs);
extern int dbll_open(struct dbll_tar_obj *target, char *file,
dbll_flags flags,
struct dbll_library_obj **lib_obj);
extern int dbll_read_sect(struct dbll_library_obj *lib,
char *name, char *buf, u32 size);
-extern void dbll_set_attrs(struct dbll_tar_obj *target,
- struct dbll_attrs *pattrs);
extern void dbll_unload(struct dbll_library_obj *lib, struct dbll_attrs *attrs);
-extern int dbll_unload_sect(struct dbll_library_obj *lib,
- char *sect_name, struct dbll_attrs *attrs);
#ifdef CONFIG_TIDSPBRIDGE_BACKTRACE
bool dbll_find_dsp_symbol(struct dbll_library_obj *zl_lib, u32 address,
u32 offset_range, u32 *sym_addr_output, char *name_output);
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dblldefs.h b/drivers/staging/tidspbridge/include/dspbridge/dblldefs.h
index d2b4fda34291..30e0aa0540de 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dblldefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dblldefs.h
@@ -348,29 +348,6 @@ typedef bool(*dbll_init_fxn) (void);
typedef int(*dbll_load_fxn) (struct dbll_library_obj *lib,
dbll_flags flags,
struct dbll_attrs *attrs, u32 *entry);
-
-/*
- * ======== dbll_load_sect ========
- * Load a named section from an library (for overlay support).
- * Parameters:
- * lib - Handle returned from dbll_open().
- * sec_name - Name of section to load.
- * attrs - Contains write function and handle to pass to it.
- * Returns:
- * 0: Success.
- * -ENXIO: Section not found.
- * -ENOSYS: Function not implemented.
- * Requires:
- * Valid lib.
- * sec_name != NULL.
- * attrs != NULL.
- * attrs->write != NULL.
- * Ensures:
- */
-typedef int(*dbll_load_sect_fxn) (struct dbll_library_obj *lib,
- char *sz_sect_name,
- struct dbll_attrs *attrs);
-
/*
* ======== dbll_open ========
* dbll_open() returns a library handle that can be used to load/unload
@@ -421,23 +398,6 @@ typedef int(*dbll_open_fxn) (struct dbll_tar_obj *target, char *file,
typedef int(*dbll_read_sect_fxn) (struct dbll_library_obj *lib,
char *name, char *content,
u32 cont_size);
-
-/*
- * ======== dbll_set_attrs ========
- * Set the attributes of the target.
- * Parameters:
- * target - Handle returned from dbll_create().
- * pattrs - New attributes.
- * Returns:
- * Requires:
- * DBL initialized.
- * Valid target.
- * pattrs != NULL.
- * Ensures:
- */
-typedef void (*dbll_set_attrs_fxn) (struct dbll_tar_obj *target,
- struct dbll_attrs *attrs);
-
/*
* ======== dbll_unload ========
* Unload library loaded with dbll_load().
@@ -452,28 +412,6 @@ typedef void (*dbll_set_attrs_fxn) (struct dbll_tar_obj *target,
*/
typedef void (*dbll_unload_fxn) (struct dbll_library_obj *library,
struct dbll_attrs *attrs);
-
-/*
- * ======== dbll_unload_sect ========
- * Unload a named section from an library (for overlay support).
- * Parameters:
- * lib - Handle returned from dbll_open().
- * sec_name - Name of section to load.
- * attrs - Contains free() function and handle to pass to it.
- * Returns:
- * 0: Success.
- * -ENXIO: Named section not found.
- * -ENOSYS
- * Requires:
- * DBL initialized.
- * Valid lib.
- * sec_name != NULL.
- * Ensures:
- */
-typedef int(*dbll_unload_sect_fxn) (struct dbll_library_obj *lib,
- char *sz_sect_name,
- struct dbll_attrs *attrs);
-
struct dbll_fxns {
dbll_close_fxn close_fxn;
dbll_create_fxn create_fxn;
@@ -485,12 +423,9 @@ struct dbll_fxns {
dbll_get_sect_fxn get_sect_fxn;
dbll_init_fxn init_fxn;
dbll_load_fxn load_fxn;
- dbll_load_sect_fxn load_sect_fxn;
dbll_open_fxn open_fxn;
dbll_read_sect_fxn read_sect_fxn;
- dbll_set_attrs_fxn set_attrs_fxn;
dbll_unload_fxn unload_fxn;
- dbll_unload_sect_fxn unload_sect_fxn;
};
#endif /* DBLDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dehdefs.h b/drivers/staging/tidspbridge/include/dspbridge/dehdefs.h
deleted file mode 100644
index 09f8bf83ab0a..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/dehdefs.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * dehdefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Definition for Bridge driver module DEH.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef DEHDEFS_
-#define DEHDEFS_
-
-#include <dspbridge/mbx_sh.h> /* shared mailbox codes */
-
-/* DEH object manager */
-struct deh_mgr;
-
-/* Magic code used to determine if DSP signaled exception. */
-#define DEH_BASE MBX_DEH_BASE
-#define DEH_USERS_BASE MBX_DEH_USERS_BASE
-#define DEH_LIMIT MBX_DEH_LIMIT
-
-#endif /* _DEHDEFS_H */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dev.h b/drivers/staging/tidspbridge/include/dspbridge/dev.h
index 357458fadd2a..f92b4be0b413 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dev.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dev.h
@@ -23,9 +23,9 @@
#include <dspbridge/chnldefs.h>
#include <dspbridge/cmm.h>
#include <dspbridge/cod.h>
-#include <dspbridge/dehdefs.h>
+#include <dspbridge/dspdeh.h>
#include <dspbridge/nodedefs.h>
-#include <dspbridge/dispdefs.h>
+#include <dspbridge/disp.h>
#include <dspbridge/dspdefs.h>
#include <dspbridge/dmm.h>
#include <dspbridge/host_os.h>
@@ -95,43 +95,6 @@ extern int dev_create_device(struct dev_object
struct cfg_devnode *dev_node_obj);
/*
- * ======== dev_create_iva_device ========
- * Purpose:
- * Called by the operating system to load the Bridge Driver for IVA.
- * Parameters:
- * device_obj: Ptr to location to receive the device object handle.
- * driver_file_name: Name of Bridge driver PE DLL file to load. If the
- * absolute path is not provided, the file is loaded
- * through 'Bridge's module search path.
- * host_config: Host configuration information, to be passed down
- * to the Bridge driver when bridge_dev_create() is called.
- * pDspConfig: DSP resources, to be passed down to the Bridge driver
- * when bridge_dev_create() is called.
- * dev_node_obj: Platform specific device node.
- * Returns:
- * 0: Module is loaded, device object has been created
- * -ENOMEM: Insufficient memory to create needed resources.
- * -EPERM: Unable to find Bridge driver entry point function.
- * -ESPIPE: Unable to load ZL DLL.
- * Requires:
- * DEV Initialized.
- * device_obj != NULL.
- * driver_file_name != NULL.
- * host_config != NULL.
- * pDspConfig != NULL.
- * Ensures:
- * 0: *device_obj will contain handle to the new device object.
- * Otherwise, does not create the device object, ensures the Bridge driver
- * module is unloaded, and sets *device_obj to NULL.
- */
-extern int dev_create_iva_device(struct dev_object
- **device_obj,
- const char *driver_file_name,
- const struct cfg_hostres
- *host_config,
- struct cfg_devnode *dev_node_obj);
-
-/*
* ======== dev_create2 ========
* Purpose:
* After successful loading of the image from api_init_complete2
@@ -146,8 +109,8 @@ extern int dev_create_iva_device(struct dev_object
* DEV Initialized
* Valid hdev_obj
* Ensures:
- * 0 and hdev_obj->hnode_mgr != NULL
- * else hdev_obj->hnode_mgr == NULL
+ * 0 and hdev_obj->node_mgr != NULL
+ * else hdev_obj->node_mgr == NULL
*/
extern int dev_create2(struct dev_object *hdev_obj);
@@ -164,7 +127,7 @@ extern int dev_create2(struct dev_object *hdev_obj);
* DEV Initialized
* Valid hdev_obj
* Ensures:
- * 0 and hdev_obj->hnode_mgr == NULL
+ * 0 and hdev_obj->node_mgr == NULL
* else -EPERM.
*/
extern int dev_destroy2(struct dev_object *hdev_obj);
@@ -534,7 +497,7 @@ extern void dev_exit(void);
* Initialize DEV's private state, keeping a reference count on each call.
* Parameters:
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* TRUE: A requirement for the other public DEV functions.
@@ -542,24 +505,6 @@ extern void dev_exit(void);
extern bool dev_init(void);
/*
- * ======== dev_is_locked ========
- * Purpose:
- * Predicate function to determine if the device has been
- * locked by a client for exclusive access.
- * Parameters:
- * hdev_obj: Handle to device object created with
- * dev_create_device().
- * Returns:
- * 0: TRUE: device has been locked.
- * 0: FALSE: device not locked.
- * -EFAULT: hdev_obj was invalid.
- * Requires:
- * DEV Initialized.
- * Ensures:
- */
-extern int dev_is_locked(struct dev_object *hdev_obj);
-
-/*
* ======== dev_insert_proc_object ========
* Purpose:
* Inserts the Processor Object into the List of PROC Objects
diff --git a/drivers/staging/tidspbridge/include/dspbridge/disp.h b/drivers/staging/tidspbridge/include/dspbridge/disp.h
index 82bf721447a9..5dfdc8cfb937 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/disp.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/disp.h
@@ -22,7 +22,20 @@
#include <dspbridge/dbdefs.h>
#include <dspbridge/nodedefs.h>
#include <dspbridge/nodepriv.h>
-#include <dspbridge/dispdefs.h>
+
+struct disp_object;
+
+/* Node Dispatcher attributes */
+struct disp_attr {
+ u32 chnl_offset; /* Offset of channel ids reserved for RMS */
+ /* Size of buffer for sending data to RMS */
+ u32 chnl_buf_size;
+ int proc_family; /* eg, 5000 */
+ int proc_type; /* eg, 5510 */
+ void *reserved1; /* Reserved for future use. */
+ u32 reserved2; /* Reserved for future use. */
+};
+
/*
* ======== disp_create ========
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dispdefs.h b/drivers/staging/tidspbridge/include/dspbridge/dispdefs.h
deleted file mode 100644
index 946551a3dbb2..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/dispdefs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * dispdefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Global DISP constants and types, shared by PROCESSOR, NODE, and DISP.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef DISPDEFS_
-#define DISPDEFS_
-
-struct disp_object;
-
-/* Node Dispatcher attributes */
-struct disp_attr {
- u32 ul_chnl_offset; /* Offset of channel ids reserved for RMS */
- /* Size of buffer for sending data to RMS */
- u32 ul_chnl_buf_size;
- int proc_family; /* eg, 5000 */
- int proc_type; /* eg, 5510 */
- void *reserved1; /* Reserved for future use. */
- u32 reserved2; /* Reserved for future use. */
-};
-
-#endif /* DISPDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/drv.h b/drivers/staging/tidspbridge/include/dspbridge/drv.h
index c1f363ec9afa..9cdbd955dce9 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/drv.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/drv.h
@@ -23,11 +23,10 @@
#include <dspbridge/devdefs.h>
-#include <dspbridge/drvdefs.h>
#include <linux/idr.h>
-#define DRV_ASSIGN 1
-#define DRV_RELEASE 0
+/* Bridge Driver Object */
+struct drv_object;
/* Provide the DSP Internal memory windows that can be accessed from L3 address
* space */
@@ -38,23 +37,14 @@
/* MEM1 is L2 RAM + L2 Cache space */
#define OMAP_DSP_MEM1_BASE 0x5C7F8000
#define OMAP_DSP_MEM1_SIZE 0x18000
-#define OMAP_DSP_GEM1_BASE 0x107F8000
/* MEM2 is L1P RAM/CACHE space */
#define OMAP_DSP_MEM2_BASE 0x5CE00000
#define OMAP_DSP_MEM2_SIZE 0x8000
-#define OMAP_DSP_GEM2_BASE 0x10E00000
/* MEM3 is L1D RAM/CACHE space */
#define OMAP_DSP_MEM3_BASE 0x5CF04000
#define OMAP_DSP_MEM3_SIZE 0x14000
-#define OMAP_DSP_GEM3_BASE 0x10F04000
-
-#define OMAP_IVA2_PRM_BASE 0x48306000
-#define OMAP_IVA2_PRM_SIZE 0x1000
-
-#define OMAP_IVA2_CM_BASE 0x48004000
-#define OMAP_IVA2_CM_SIZE 0x1000
#define OMAP_PER_CM_BASE 0x48005000
#define OMAP_PER_CM_SIZE 0x1000
@@ -65,20 +55,14 @@
#define OMAP_CORE_PRM_BASE 0x48306A00
#define OMAP_CORE_PRM_SIZE 0x1000
-#define OMAP_SYSC_BASE 0x48002000
-#define OMAP_SYSC_SIZE 0x1000
-
#define OMAP_DMMU_BASE 0x5D000000
#define OMAP_DMMU_SIZE 0x1000
-#define OMAP_PRCM_VDD1_DOMAIN 1
-#define OMAP_PRCM_VDD2_DOMAIN 2
-
/* GPP PROCESS CLEANUP Data structures */
/* New structure (member of process context) abstracts NODE resource info */
struct node_res_object {
- void *hnode;
+ void *node;
s32 node_allocated; /* Node status */
s32 heap_allocated; /* Heap status */
s32 streams_allocated; /* Streams status */
@@ -114,21 +98,10 @@ struct dmm_rsv_object {
u32 dsp_reserved_addr;
};
-/* New structure (member of process context) abstracts DMM resource info */
-struct dspheap_res_object {
- s32 heap_allocated; /* DMM status */
- u32 ul_mpu_addr;
- u32 ul_dsp_addr;
- u32 ul_dsp_res_addr;
- u32 heap_size;
- void *hprocessor;
- struct dspheap_res_object *next;
-};
-
/* New structure (member of process context) abstracts stream resource info */
struct strm_res_object {
s32 stream_allocated; /* Stream status */
- void *hstream;
+ void *stream;
u32 num_bufs;
u32 dir;
int id;
@@ -156,7 +129,7 @@ struct process_context {
enum gpp_proc_res_state res_state;
/* Handle to Processor */
- void *hprocessor;
+ void *processor;
/* DSP Node resources */
struct idr *node_id;
@@ -169,9 +142,6 @@ struct process_context {
struct list_head dmm_rsv_list;
spinlock_t dmm_rsv_lock;
- /* DSP Heap resources */
- struct dspheap_res_object *pdspheap_list;
-
/* Stream resources */
struct idr *stream_id;
};
@@ -184,7 +154,7 @@ struct process_context {
* Parameters:
* drv_obj: Location to store created DRV Object handle.
* Returns:
- * 0: Sucess
+ * 0: Success
* -ENOMEM: Failed in Memory allocation
* -EPERM: General Failure
* Requires:
@@ -200,7 +170,7 @@ struct process_context {
* There is one Driver Object for the Driver representing
* the driver itself. It contains the list of device
* Objects and the list of Device Extensions in the system.
- * Also it can hold other neccessary
+ * Also it can hold other necessary
* information in its storage area.
*/
extern int drv_create(struct drv_object **drv_obj);
@@ -210,7 +180,7 @@ extern int drv_create(struct drv_object **drv_obj);
* Purpose:
* destroys the Dev Object list, DrvExt list
* and destroy the DRV object
- * Called upon driver unLoading.or unsuccesful loading of the driver.
+ * Called upon driver unLoading.or unsuccessful loading of the driver.
* Parameters:
* driver_obj: Handle to Driver object .
* Returns:
@@ -425,7 +395,7 @@ void bridge_recover_schedule(void);
/*
* ======== mem_ext_phys_pool_init ========
* Purpose:
- * Uses the physical memory chunk passed for internal consitent memory
+ * Uses the physical memory chunk passed for internal consistent memory
* allocations.
* physical address based on the page frame address.
* Parameters:
diff --git a/drivers/staging/tidspbridge/include/dspbridge/drvdefs.h b/drivers/staging/tidspbridge/include/dspbridge/drvdefs.h
deleted file mode 100644
index 2920917bbc5f..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/drvdefs.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * drvdefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Definition of common struct between dspdefs.h and drv.h.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef DRVDEFS_
-#define DRVDEFS_
-
-/* Bridge Driver Object */
-struct drv_object;
-
-#endif /* DRVDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h b/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
index 8da5bd8ede85..6ff808297c10 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspapi-ioctl.h
@@ -29,22 +29,22 @@ union trapped_args {
/* MGR Module */
struct {
u32 node_id;
- struct dsp_ndbprops __user *pndb_props;
- u32 undb_props_size;
- u32 __user *pu_num_nodes;
+ struct dsp_ndbprops __user *ndb_props;
+ u32 ndb_props_size;
+ u32 __user *num_nodes;
} args_mgr_enumnode_info;
struct {
u32 processor_id;
struct dsp_processorinfo __user *processor_info;
u32 processor_info_size;
- u32 __user *pu_num_procs;
+ u32 __user *num_procs;
} args_mgr_enumproc_info;
struct {
struct dsp_uuid *uuid_obj;
enum dsp_dcdobjtype obj_type;
- char *psz_path_name;
+ char *sz_path_name;
} args_mgr_registerobject;
struct {
@@ -55,8 +55,8 @@ union trapped_args {
struct {
struct dsp_notification __user *__user *anotifications;
u32 count;
- u32 __user *pu_index;
- u32 utimeout;
+ u32 __user *index;
+ u32 timeout;
} args_mgr_wait;
/* PROC Module */
@@ -67,196 +67,188 @@ union trapped_args {
} args_proc_attach;
struct {
- void *hprocessor;
- u32 dw_cmd;
- struct dsp_cbdata __user *pargs;
+ void *processor;
+ u32 cmd;
+ struct dsp_cbdata __user *args;
} args_proc_ctrl;
struct {
- void *hprocessor;
+ void *processor;
} args_proc_detach;
struct {
- void *hprocessor;
+ void *processor;
void *__user *node_tab;
u32 node_tab_size;
- u32 __user *pu_num_nodes;
- u32 __user *pu_allocated;
+ u32 __user *num_nodes;
+ u32 __user *allocated;
} args_proc_enumnode_info;
struct {
- void *hprocessor;
+ void *processor;
u32 resource_type;
struct dsp_resourceinfo *resource_info;
u32 resource_info_size;
} args_proc_enumresources;
struct {
- void *hprocessor;
+ void *processor;
struct dsp_processorstate __user *proc_state_obj;
u32 state_info_size;
} args_proc_getstate;
struct {
- void *hprocessor;
- u8 __user *pbuf;
- u8 __user *psize;
+ void *processor;
+ u8 __user *buf;
+ u8 __user *size;
u32 max_size;
} args_proc_gettrace;
struct {
- void *hprocessor;
+ void *processor;
s32 argc_index;
char __user *__user *user_args;
char *__user *user_envp;
} args_proc_load;
struct {
- void *hprocessor;
+ void *processor;
u32 event_mask;
u32 notify_type;
- struct dsp_notification __user *hnotification;
+ struct dsp_notification __user *notification;
} args_proc_register_notify;
struct {
- void *hprocessor;
- } args_proc_start;
-
- struct {
- void *hprocessor;
- u32 ul_size;
- void *__user *pp_rsv_addr;
+ void *processor;
+ u32 size;
+ void *__user *rsv_addr;
} args_proc_rsvmem;
struct {
- void *hprocessor;
- u32 ul_size;
- void *prsv_addr;
+ void *processor;
+ u32 size;
+ void *rsv_addr;
} args_proc_unrsvmem;
struct {
- void *hprocessor;
- void *pmpu_addr;
- u32 ul_size;
+ void *processor;
+ void *mpu_addr;
+ u32 size;
void *req_addr;
- void *__user *pp_map_addr;
- u32 ul_map_attr;
+ void *__user *map_addr;
+ u32 map_attr;
} args_proc_mapmem;
struct {
- void *hprocessor;
- u32 ul_size;
+ void *processor;
+ u32 size;
void *map_addr;
} args_proc_unmapmem;
struct {
- void *hprocessor;
- void *pmpu_addr;
- u32 ul_size;
+ void *processor;
+ void *mpu_addr;
+ u32 size;
u32 dir;
} args_proc_dma;
struct {
- void *hprocessor;
- void *pmpu_addr;
- u32 ul_size;
- u32 ul_flags;
+ void *processor;
+ void *mpu_addr;
+ u32 size;
+ u32 flags;
} args_proc_flushmemory;
struct {
- void *hprocessor;
- } args_proc_stop;
-
- struct {
- void *hprocessor;
- void *pmpu_addr;
- u32 ul_size;
+ void *processor;
+ void *mpu_addr;
+ u32 size;
} args_proc_invalidatememory;
/* NODE Module */
struct {
- void *hprocessor;
+ void *processor;
struct dsp_uuid __user *node_id_ptr;
- struct dsp_cbdata __user *pargs;
+ struct dsp_cbdata __user *args;
struct dsp_nodeattrin __user *attr_in;
- void *__user *ph_node;
+ void *__user *node;
} args_node_allocate;
struct {
- void *hnode;
- u32 usize;
- struct dsp_bufferattr __user *pattr;
- u8 *__user *pbuffer;
+ void *node;
+ u32 size;
+ struct dsp_bufferattr __user *attr;
+ u8 *__user *buffer;
} args_node_allocmsgbuf;
struct {
- void *hnode;
+ void *node;
s32 prio;
} args_node_changepriority;
struct {
- void *hnode;
+ void *node;
u32 stream_id;
void *other_node;
u32 other_stream;
- struct dsp_strmattr __user *pattrs;
+ struct dsp_strmattr __user *attrs;
struct dsp_cbdata __user *conn_param;
} args_node_connect;
struct {
- void *hnode;
+ void *node;
} args_node_create;
struct {
- void *hnode;
+ void *node;
} args_node_delete;
struct {
- void *hnode;
- struct dsp_bufferattr __user *pattr;
- u8 *pbuffer;
+ void *node;
+ struct dsp_bufferattr __user *attr;
+ u8 *buffer;
} args_node_freemsgbuf;
struct {
- void *hnode;
- struct dsp_nodeattr __user *pattr;
+ void *node;
+ struct dsp_nodeattr __user *attr;
u32 attr_size;
} args_node_getattr;
struct {
- void *hnode;
+ void *node;
struct dsp_msg __user *message;
- u32 utimeout;
+ u32 timeout;
} args_node_getmessage;
struct {
- void *hnode;
+ void *node;
} args_node_pause;
struct {
- void *hnode;
+ void *node;
struct dsp_msg __user *message;
- u32 utimeout;
+ u32 timeout;
} args_node_putmessage;
struct {
- void *hnode;
+ void *node;
u32 event_mask;
u32 notify_type;
- struct dsp_notification __user *hnotification;
+ struct dsp_notification __user *notification;
} args_node_registernotify;
struct {
- void *hnode;
+ void *node;
} args_node_run;
struct {
- void *hnode;
- int __user *pstatus;
+ void *node;
+ int __user *status;
} args_node_terminate;
struct {
- void *hprocessor;
+ void *processor;
struct dsp_uuid __user *node_id_ptr;
struct dsp_ndbprops __user *node_props;
} args_node_getuuidprops;
@@ -264,104 +256,104 @@ union trapped_args {
/* STRM module */
struct {
- void *hstream;
- u32 usize;
+ void *stream;
+ u32 size;
u8 *__user *ap_buffer;
u32 num_bufs;
} args_strm_allocatebuffer;
struct {
- void *hstream;
+ void *stream;
} args_strm_close;
struct {
- void *hstream;
+ void *stream;
u8 *__user *ap_buffer;
u32 num_bufs;
} args_strm_freebuffer;
struct {
- void *hstream;
- void **ph_event;
+ void *stream;
+ void **event;
} args_strm_geteventhandle;
struct {
- void *hstream;
+ void *stream;
struct stream_info __user *stream_info;
u32 stream_info_size;
} args_strm_getinfo;
struct {
- void *hstream;
+ void *stream;
bool flush_flag;
} args_strm_idle;
struct {
- void *hstream;
- u8 *pbuffer;
- u32 dw_bytes;
- u32 dw_buf_size;
- u32 dw_arg;
+ void *stream;
+ u8 *buffer;
+ u32 bytes;
+ u32 buf_size;
+ u32 arg;
} args_strm_issue;
struct {
- void *hnode;
+ void *node;
u32 direction;
u32 index;
struct strm_attr __user *attr_in;
- void *__user *ph_stream;
+ void *__user *stream;
} args_strm_open;
struct {
- void *hstream;
+ void *stream;
u8 *__user *buf_ptr;
u32 __user *bytes;
u32 __user *buf_size_ptr;
- u32 __user *pdw_arg;
+ u32 __user *arg;
} args_strm_reclaim;
struct {
- void *hstream;
+ void *stream;
u32 event_mask;
u32 notify_type;
- struct dsp_notification __user *hnotification;
+ struct dsp_notification __user *notification;
} args_strm_registernotify;
struct {
void *__user *stream_tab;
u32 strm_num;
- u32 __user *pmask;
- u32 utimeout;
+ u32 __user *mask;
+ u32 timeout;
} args_strm_select;
/* CMM Module */
struct {
- struct cmm_object *hcmm_mgr;
- u32 usize;
- struct cmm_attrs *pattrs;
- void **pp_buf_va;
+ struct cmm_object *cmm_mgr;
+ u32 size;
+ struct cmm_attrs *attrs;
+ void **buf_va;
} args_cmm_allocbuf;
struct {
- struct cmm_object *hcmm_mgr;
+ struct cmm_object *cmm_mgr;
void *buf_pa;
- u32 ul_seg_id;
+ u32 seg_id;
} args_cmm_freebuf;
struct {
- void *hprocessor;
- struct cmm_object *__user *ph_cmm_mgr;
+ void *processor;
+ struct cmm_object *__user *cmm_mgr;
} args_cmm_gethandle;
struct {
- struct cmm_object *hcmm_mgr;
+ struct cmm_object *cmm_mgr;
struct cmm_info __user *cmm_info_obj;
} args_cmm_getinfo;
/* UTIL module */
struct {
s32 util_argc;
- char **pp_argv;
+ char **argv;
} args_util_testdll;
};
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspdefs.h b/drivers/staging/tidspbridge/include/dspbridge/dspdefs.h
index 0ae7d1646a1b..ed32bf383132 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspdefs.h
@@ -32,17 +32,11 @@
#include <dspbridge/brddefs.h>
#include <dspbridge/cfgdefs.h>
#include <dspbridge/chnlpriv.h>
-#include <dspbridge/dehdefs.h>
+#include <dspbridge/dspdeh.h>
#include <dspbridge/devdefs.h>
-#include <dspbridge/iodefs.h>
+#include <dspbridge/io.h>
#include <dspbridge/msgdefs.h>
-/*
- * Any IOCTLS at or above this value are reserved for standard Bridge driver
- * interfaces.
- */
-#define BRD_RESERVEDIOCTLBASE 0x8000
-
/* Handle to Bridge driver's private device context. */
struct bridge_dev_context;
@@ -58,7 +52,7 @@ struct bridge_dev_context;
* dev_ctxt: Handle to Bridge driver defined device context.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL
@@ -97,7 +91,7 @@ typedef int(*fxn_brd_setstate) (struct bridge_dev_context
* dsp_addr: DSP address at which to start execution.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL
@@ -148,7 +142,7 @@ typedef int(*fxn_brd_memcopy) (struct bridge_dev_context
* mem_type: Memory space on DSP to which to transfer.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL;
@@ -211,7 +205,7 @@ typedef int(*fxn_brd_memunmap) (struct bridge_dev_context
* dev_ctxt: Handle to Bridge driver defined device context.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL
@@ -254,7 +248,7 @@ typedef int(*fxn_brd_status) (struct bridge_dev_context *dev_ctxt,
* mem_type: Memory space on DSP from which to transfer.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL;
@@ -280,7 +274,7 @@ typedef int(*fxn_brd_read) (struct bridge_dev_context *dev_ctxt,
* mem_type: Memory space on DSP to which to transfer.
* Returns:
* 0: Success.
- * -ETIMEDOUT: Timeout occured waiting for a response from hardware.
+ * -ETIMEDOUT: Timeout occurred waiting for a response from hardware.
* -EPERM: Other, unspecified error.
* Requires:
* dev_ctxt != NULL;
@@ -306,7 +300,7 @@ typedef int(*fxn_brd_write) (struct bridge_dev_context *dev_ctxt,
* mgr_attrts->irq_shared: TRUE if the IRQ is shareable.
* mgr_attrts->word_size: DSP Word size in equivalent PC bytes..
* mgr_attrts->shm_base: Base physical address of shared memory, if any.
- * mgr_attrts->usm_length: Bytes of shared memory block.
+ * mgr_attrts->sm_length: Bytes of shared memory block.
* Returns:
* 0: Success;
* -ENOMEM: Insufficient memory for requested resources.
@@ -607,7 +601,7 @@ typedef int(*fxn_chnl_getmgrinfo) (struct chnl_mgr
* Returns:
* 0: Success;
* -EFAULT: Invalid chnl_obj.
- * -ETIMEDOUT: Timeout occured before channel could be idled.
+ * -ETIMEDOUT: Timeout occurred before channel could be idled.
* Requires:
* Ensures:
*/
@@ -981,51 +975,51 @@ typedef void (*fxn_msg_setqueueid) (struct msg_queue *msg_queue_obj,
struct bridge_drv_interface {
u32 brd_api_major_version; /* Set to BRD_API_MAJOR_VERSION. */
u32 brd_api_minor_version; /* Set to BRD_API_MINOR_VERSION. */
- fxn_dev_create pfn_dev_create; /* Create device context */
- fxn_dev_destroy pfn_dev_destroy; /* Destroy device context */
- fxn_dev_ctrl pfn_dev_cntrl; /* Optional vendor interface */
- fxn_brd_monitor pfn_brd_monitor; /* Load and/or start monitor */
- fxn_brd_start pfn_brd_start; /* Start DSP program. */
- fxn_brd_stop pfn_brd_stop; /* Stop/reset board. */
- fxn_brd_status pfn_brd_status; /* Get current board status. */
- fxn_brd_read pfn_brd_read; /* Read board memory */
- fxn_brd_write pfn_brd_write; /* Write board memory. */
- fxn_brd_setstate pfn_brd_set_state; /* Sets the Board State */
- fxn_brd_memcopy pfn_brd_mem_copy; /* Copies DSP Memory */
- fxn_brd_memwrite pfn_brd_mem_write; /* Write DSP Memory w/o halt */
- fxn_brd_memmap pfn_brd_mem_map; /* Maps MPU mem to DSP mem */
- fxn_brd_memunmap pfn_brd_mem_un_map; /* Unmaps MPU mem to DSP mem */
- fxn_chnl_create pfn_chnl_create; /* Create channel manager. */
- fxn_chnl_destroy pfn_chnl_destroy; /* Destroy channel manager. */
- fxn_chnl_open pfn_chnl_open; /* Create a new channel. */
- fxn_chnl_close pfn_chnl_close; /* Close a channel. */
- fxn_chnl_addioreq pfn_chnl_add_io_req; /* Req I/O on a channel. */
- fxn_chnl_getioc pfn_chnl_get_ioc; /* Wait for I/O completion. */
- fxn_chnl_cancelio pfn_chnl_cancel_io; /* Cancl I/O on a channel. */
- fxn_chnl_flushio pfn_chnl_flush_io; /* Flush I/O. */
- fxn_chnl_getinfo pfn_chnl_get_info; /* Get channel specific info */
+ fxn_dev_create dev_create; /* Create device context */
+ fxn_dev_destroy dev_destroy; /* Destroy device context */
+ fxn_dev_ctrl dev_cntrl; /* Optional vendor interface */
+ fxn_brd_monitor brd_monitor; /* Load and/or start monitor */
+ fxn_brd_start brd_start; /* Start DSP program. */
+ fxn_brd_stop brd_stop; /* Stop/reset board. */
+ fxn_brd_status brd_status; /* Get current board status. */
+ fxn_brd_read brd_read; /* Read board memory */
+ fxn_brd_write brd_write; /* Write board memory. */
+ fxn_brd_setstate brd_set_state; /* Sets the Board State */
+ fxn_brd_memcopy brd_mem_copy; /* Copies DSP Memory */
+ fxn_brd_memwrite brd_mem_write; /* Write DSP Memory w/o halt */
+ fxn_brd_memmap brd_mem_map; /* Maps MPU mem to DSP mem */
+ fxn_brd_memunmap brd_mem_un_map; /* Unmaps MPU mem to DSP mem */
+ fxn_chnl_create chnl_create; /* Create channel manager. */
+ fxn_chnl_destroy chnl_destroy; /* Destroy channel manager. */
+ fxn_chnl_open chnl_open; /* Create a new channel. */
+ fxn_chnl_close chnl_close; /* Close a channel. */
+ fxn_chnl_addioreq chnl_add_io_req; /* Req I/O on a channel. */
+ fxn_chnl_getioc chnl_get_ioc; /* Wait for I/O completion. */
+ fxn_chnl_cancelio chnl_cancel_io; /* Cancl I/O on a channel. */
+ fxn_chnl_flushio chnl_flush_io; /* Flush I/O. */
+ fxn_chnl_getinfo chnl_get_info; /* Get channel specific info */
/* Get channel manager info. */
- fxn_chnl_getmgrinfo pfn_chnl_get_mgr_info;
- fxn_chnl_idle pfn_chnl_idle; /* Idle the channel */
+ fxn_chnl_getmgrinfo chnl_get_mgr_info;
+ fxn_chnl_idle chnl_idle; /* Idle the channel */
/* Register for notif. */
- fxn_chnl_registernotify pfn_chnl_register_notify;
- fxn_io_create pfn_io_create; /* Create IO manager */
- fxn_io_destroy pfn_io_destroy; /* Destroy IO manager */
- fxn_io_onloaded pfn_io_on_loaded; /* Notify of program loaded */
+ fxn_chnl_registernotify chnl_register_notify;
+ fxn_io_create io_create; /* Create IO manager */
+ fxn_io_destroy io_destroy; /* Destroy IO manager */
+ fxn_io_onloaded io_on_loaded; /* Notify of program loaded */
/* Get Processor's current and predicted load */
- fxn_io_getprocload pfn_io_get_proc_load;
- fxn_msg_create pfn_msg_create; /* Create message manager */
+ fxn_io_getprocload io_get_proc_load;
+ fxn_msg_create msg_create; /* Create message manager */
/* Create message queue */
- fxn_msg_createqueue pfn_msg_create_queue;
- fxn_msg_delete pfn_msg_delete; /* Delete message manager */
+ fxn_msg_createqueue msg_create_queue;
+ fxn_msg_delete msg_delete; /* Delete message manager */
/* Delete message queue */
- fxn_msg_deletequeue pfn_msg_delete_queue;
- fxn_msg_get pfn_msg_get; /* Get a message */
- fxn_msg_put pfn_msg_put; /* Send a message */
+ fxn_msg_deletequeue msg_delete_queue;
+ fxn_msg_get msg_get; /* Get a message */
+ fxn_msg_put msg_put; /* Send a message */
/* Register for notif. */
- fxn_msg_registernotify pfn_msg_register_notify;
+ fxn_msg_registernotify msg_register_notify;
/* Set message queue id */
- fxn_msg_setqueueid pfn_msg_set_queue_id;
+ fxn_msg_setqueueid msg_set_queue_id;
};
/*
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspdrv.h b/drivers/staging/tidspbridge/include/dspbridge/dspdrv.h
index 0bb250f95bad..7adf1e705314 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspdrv.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspdrv.h
@@ -20,8 +20,6 @@
#if !defined _DSPDRV_H_
#define _DSPDRV_H_
-#define MAX_DEV 10 /* Max support of 10 devices */
-
/*
* ======== dsp_deinit ========
* Purpose:
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspio.h b/drivers/staging/tidspbridge/include/dspbridge/dspio.h
index 88f5f90fe922..66b64fadf197 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspio.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspio.h
@@ -24,7 +24,8 @@
#define DSPIO_
#include <dspbridge/devdefs.h>
-#include <dspbridge/iodefs.h>
+#include <dspbridge/io.h>
+
extern int bridge_io_create(struct io_mgr **io_man,
struct dev_object *hdev_obj,
@@ -34,7 +35,6 @@ extern int bridge_io_destroy(struct io_mgr *hio_mgr);
extern int bridge_io_on_loaded(struct io_mgr *hio_mgr);
-extern int iva_io_on_loaded(struct io_mgr *hio_mgr);
extern int bridge_io_get_proc_load(struct io_mgr *hio_mgr,
struct dsp_procloadstat *proc_lstat);
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dspioctl.h b/drivers/staging/tidspbridge/include/dspbridge/dspioctl.h
index 41e0594dff34..0c7ec04448f1 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dspioctl.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dspioctl.h
@@ -31,9 +31,6 @@
#define BRDIOCTL_CHNLREAD (BRDIOCTL_RESERVEDBASE + 0x10)
#define BRDIOCTL_CHNLWRITE (BRDIOCTL_RESERVEDBASE + 0x20)
-#define BRDIOCTL_GETINTRCOUNT (BRDIOCTL_RESERVEDBASE + 0x30)
-#define BRDIOCTL_RESETINTRCOUNT (BRDIOCTL_RESERVEDBASE + 0x40)
-#define BRDIOCTL_INTERRUPTDSP (BRDIOCTL_RESERVEDBASE + 0x50)
/* DMMU */
#define BRDIOCTL_SETMMUCONFIG (BRDIOCTL_RESERVEDBASE + 0x60)
/* PWR */
@@ -47,8 +44,6 @@
#define BRDIOCTL_DEEPSLEEP (BRDIOCTL_PWRCONTROL + 0x0)
#define BRDIOCTL_EMERGENCYSLEEP (BRDIOCTL_PWRCONTROL + 0x1)
#define BRDIOCTL_WAKEUP (BRDIOCTL_PWRCONTROL + 0x2)
-#define BRDIOCTL_PWRENABLE (BRDIOCTL_PWRCONTROL + 0x3)
-#define BRDIOCTL_PWRDISABLE (BRDIOCTL_PWRCONTROL + 0x4)
#define BRDIOCTL_CLK_CTRL (BRDIOCTL_PWRCONTROL + 0x7)
/* DSP Initiated Hibernate */
#define BRDIOCTL_PWR_HIBERNATE (BRDIOCTL_PWRCONTROL + 0x8)
@@ -60,11 +55,11 @@
#define BRDIOCTL_NUMOFMMUTLB 32
struct bridge_ioctl_extproc {
- u32 ul_dsp_va; /* DSP virtual address */
- u32 ul_gpp_pa; /* GPP physical address */
+ u32 dsp_va; /* DSP virtual address */
+ u32 gpp_pa; /* GPP physical address */
/* GPP virtual address. __va does not work for ioremapped addresses */
- u32 ul_gpp_va;
- u32 ul_size; /* Size of the mapped memory in bytes */
+ u32 gpp_va;
+ u32 size; /* Size of the mapped memory in bytes */
enum hw_endianism_t endianism;
enum hw_mmu_mixed_size_t mixed_mode;
enum hw_element_size_t elem_size;
diff --git a/drivers/staging/tidspbridge/include/dspbridge/dynamic_loader.h b/drivers/staging/tidspbridge/include/dspbridge/dynamic_loader.h
index 4b109d173b18..052d27ee8b1a 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/dynamic_loader.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/dynamic_loader.h
@@ -46,8 +46,6 @@ struct dynamic_loader_initialize;
* Option flags to modify the behavior of module loading
*/
#define DLOAD_INITBSS 0x1 /* initialize BSS sections to zero */
-#define DLOAD_BIGEND 0x2 /* require big-endian load module */
-#define DLOAD_LITTLE 0x4 /* require little-endian load module */
/*****************************************************************************
* Procedure dynamic_load_module
diff --git a/drivers/staging/tidspbridge/include/dspbridge/gb.h b/drivers/staging/tidspbridge/include/dspbridge/gb.h
deleted file mode 100644
index fda783aa160c..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/gb.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * gb.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Generic bitmap manager.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef GB_
-#define GB_
-
-#define GB_NOBITS (~0)
-#include <dspbridge/host_os.h>
-
-struct gb_t_map;
-
-/*
- * ======== gb_clear ========
- * Clear the bit in position bitn in the bitmap map. Bit positions are
- * zero based.
- */
-
-extern void gb_clear(struct gb_t_map *map, u32 bitn);
-
-/*
- * ======== gb_create ========
- * Create a bit map with len bits. Initially all bits are cleared.
- */
-
-extern struct gb_t_map *gb_create(u32 len);
-
-/*
- * ======== gb_delete ========
- * Delete previously created bit map
- */
-
-extern void gb_delete(struct gb_t_map *map);
-
-/*
- * ======== gb_findandset ========
- * Finds a clear bit, sets it, and returns the position
- */
-
-extern u32 gb_findandset(struct gb_t_map *map);
-
-/*
- * ======== gb_minclear ========
- * gb_minclear returns the minimum clear bit position. If no bit is
- * clear, gb_minclear returns -1.
- */
-extern u32 gb_minclear(struct gb_t_map *map);
-
-/*
- * ======== gb_set ========
- * Set the bit in position bitn in the bitmap map. Bit positions are
- * zero based.
- */
-
-extern void gb_set(struct gb_t_map *map, u32 bitn);
-
-/*
- * ======== gb_test ========
- * Returns TRUE if the bit in position bitn is set in map; otherwise
- * gb_test returns FALSE. Bit positions are zero based.
- */
-
-extern bool gb_test(struct gb_t_map *map, u32 bitn);
-
-#endif /*GB_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/gs.h b/drivers/staging/tidspbridge/include/dspbridge/gs.h
deleted file mode 100644
index f32d8d9af415..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/gs.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * gs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Memory allocation/release wrappers. This module allows clients to
- * avoid OS spacific issues related to memory allocation. It also provides
- * simple diagnostic capabilities to assist in the detection of memory
- * leaks.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef GS_
-#define GS_
-
-/*
- * ======== gs_alloc ========
- * Alloc size bytes of space. Returns pointer to space
- * allocated, otherwise NULL.
- */
-extern void *gs_alloc(u32 size);
-
-/*
- * ======== gs_exit ========
- * Module exit. Do not change to "#define gs_init()"; in
- * some environments this operation must actually do some work!
- */
-extern void gs_exit(void);
-
-/*
- * ======== gs_free ========
- * Free space allocated by gs_alloc() or GS_calloc().
- */
-extern void gs_free(void *ptr);
-
-/*
- * ======== gs_frees ========
- * Free space allocated by gs_alloc() or GS_calloc() and assert that
- * the size of the allocation is size bytes.
- */
-extern void gs_frees(void *ptr, u32 size);
-
-/*
- * ======== gs_init ========
- * Module initialization. Do not change to "#define gs_init()"; in
- * some environments this operation must actually do some work!
- */
-extern void gs_init(void);
-
-#endif /*GS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/host_os.h b/drivers/staging/tidspbridge/include/dspbridge/host_os.h
index 6549898ac636..b1b8acb5d3c3 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/host_os.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/host_os.h
@@ -57,13 +57,4 @@
extern struct platform_device *omap_dspbridge_dev;
extern struct device *bridge;
-#if defined(CONFIG_TIDSPBRIDGE) || defined(CONFIG_TIDSPBRIDGE_MODULE)
-extern void dspbridge_reserve_sdram(void);
-#else
-static inline void dspbridge_reserve_sdram(void)
-{
-}
-#endif
-
-extern unsigned long dspbridge_get_mempool_base(void);
#endif
diff --git a/drivers/staging/tidspbridge/include/dspbridge/io.h b/drivers/staging/tidspbridge/include/dspbridge/io.h
index bc346f9a01c1..500bbd71684d 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/io.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/io.h
@@ -22,7 +22,18 @@
#include <dspbridge/cfgdefs.h>
#include <dspbridge/devdefs.h>
-#include <dspbridge/iodefs.h>
+/* IO Objects: */
+struct io_mgr;
+
+/* IO manager attributes: */
+struct io_attrs {
+ u8 birq; /* Channel's I/O IRQ number. */
+ bool irq_shared; /* TRUE if the IRQ is shareable. */
+ u32 word_size; /* DSP Word size. */
+ u32 shm_base; /* Physical base address of shared memory. */
+ u32 sm_length; /* Size (in bytes) of shared memory. */
+};
+
/*
* ======== io_create ========
@@ -95,20 +106,4 @@ extern void io_exit(void);
*/
extern bool io_init(void);
-/*
- * ======== io_on_loaded ========
- * Purpose:
- * Called when a program is loaded so IO manager can update its
- * internal state.
- * Parameters:
- * hio_mgr: IOmanager object.
- * Returns:
- * 0: Success.
- * -EFAULT: hio_mgr was invalid.
- * Requires:
- * io_init(void) called.
- * Ensures:
- */
-extern int io_on_loaded(struct io_mgr *hio_mgr);
-
#endif /* CHNL_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/io_sm.h b/drivers/staging/tidspbridge/include/dspbridge/io_sm.h
index 8242c70e09dd..a054dad21333 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/io_sm.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/io_sm.h
@@ -23,12 +23,16 @@
#include <dspbridge/_chnl_sm.h>
#include <dspbridge/host_os.h>
-#include <dspbridge/iodefs.h>
+#include <dspbridge/io.h>
+#include <dspbridge/mbx_sh.h> /* shared mailbox codes */
+
+/* Magic code used to determine if DSP signaled exception. */
+#define DEH_BASE MBX_DEH_BASE
+#define DEH_LIMIT MBX_DEH_LIMIT
#define IO_INPUT 0
#define IO_OUTPUT 1
#define IO_SERVICE 2
-#define IO_MAXSERVICE IO_SERVICE
#ifdef CONFIG_TIDSPBRIDGE_DVFS
/* The maximum number of OPPs that are supported */
@@ -116,122 +120,6 @@ extern void io_request_chnl(struct io_mgr *io_manager,
extern void iosm_schedule(struct io_mgr *io_manager);
/*
- * DSP-DMA IO functions
- */
-
-/*
- * ======== io_ddma_init_chnl_desc ========
- * Purpose:
- * Initialize DSP DMA channel descriptor.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * ddma_chnl_id: DDMA channel identifier.
- * num_desc: Number of buffer descriptors(equals # of IOReqs &
- * Chirps)
- * dsp: Dsp address;
- * Returns:
- * Requires:
- * ddma_chnl_id < DDMA_MAXDDMACHNLS
- * num_desc > 0
- * pVa != NULL
- * pDspPa != NULL
- *
- * Ensures:
- */
-extern void io_ddma_init_chnl_desc(struct io_mgr *hio_mgr, u32 ddma_chnl_id,
- u32 num_desc, void *dsp);
-
-/*
- * ======== io_ddma_clear_chnl_desc ========
- * Purpose:
- * Clear DSP DMA channel descriptor.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * ddma_chnl_id: DDMA channel identifier.
- * Returns:
- * Requires:
- * ddma_chnl_id < DDMA_MAXDDMACHNLS
- * Ensures:
- */
-extern void io_ddma_clear_chnl_desc(struct io_mgr *hio_mgr, u32 ddma_chnl_id);
-
-/*
- * ======== io_ddma_request_chnl ========
- * Purpose:
- * Request channel DSP-DMA from the DSP. Sets up SM descriptors and
- * control fields in shared memory.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * pchnl: Ptr to channel object
- * chnl_packet_obj: Ptr to channel i/o request packet.
- * Returns:
- * Requires:
- * pchnl != NULL
- * pchnl->cio_reqs > 0
- * chnl_packet_obj != NULL
- * Ensures:
- */
-extern void io_ddma_request_chnl(struct io_mgr *hio_mgr,
- struct chnl_object *pchnl,
- struct chnl_irp *chnl_packet_obj,
- u16 *mbx_val);
-
-/*
- * Zero-copy IO functions
- */
-
-/*
- * ======== io_ddzc_init_chnl_desc ========
- * Purpose:
- * Initialize ZCPY channel descriptor.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * zid: zero-copy channel identifier.
- * Returns:
- * Requires:
- * ddma_chnl_id < DDMA_MAXZCPYCHNLS
- * hio_mgr != Null
- * Ensures:
- */
-extern void io_ddzc_init_chnl_desc(struct io_mgr *hio_mgr, u32 zid);
-
-/*
- * ======== io_ddzc_clear_chnl_desc ========
- * Purpose:
- * Clear DSP ZC channel descriptor.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * ch_id: ZC channel identifier.
- * Returns:
- * Requires:
- * hio_mgr is valid
- * ch_id < DDMA_MAXZCPYCHNLS
- * Ensures:
- */
-extern void io_ddzc_clear_chnl_desc(struct io_mgr *hio_mgr, u32 ch_id);
-
-/*
- * ======== io_ddzc_request_chnl ========
- * Purpose:
- * Request zero-copy channel transfer. Sets up SM descriptors and
- * control fields in shared memory.
- * Parameters:
- * hio_mgr: Handle to a I/O manager.
- * pchnl: Ptr to channel object
- * chnl_packet_obj: Ptr to channel i/o request packet.
- * Returns:
- * Requires:
- * pchnl != NULL
- * pchnl->cio_reqs > 0
- * chnl_packet_obj != NULL
- * Ensures:
- */
-extern void io_ddzc_request_chnl(struct io_mgr *hio_mgr,
- struct chnl_object *pchnl,
- struct chnl_irp *chnl_packet_obj,
- u16 *mbx_val);
-
-/*
* ======== io_sh_msetting ========
* Purpose:
* Sets the shared memory setting
@@ -254,25 +142,6 @@ extern int io_sh_msetting(struct io_mgr *hio_mgr, u8 desc, void *pargs);
/* Maximum channel bufsize that can be used. */
extern u32 io_buf_size(struct io_mgr *hio_mgr);
-extern u32 io_read_value(struct bridge_dev_context *dev_ctxt, u32 dsp_addr);
-
-extern void io_write_value(struct bridge_dev_context *dev_ctxt,
- u32 dsp_addr, u32 value);
-
-extern u32 io_read_value_long(struct bridge_dev_context *dev_ctxt,
- u32 dsp_addr);
-
-extern void io_write_value_long(struct bridge_dev_context *dev_ctxt,
- u32 dsp_addr, u32 value);
-
-extern void io_or_set_value(struct bridge_dev_context *dev_ctxt,
- u32 dsp_addr, u32 value);
-
-extern void io_and_set_value(struct bridge_dev_context *dev_ctxt,
- u32 dsp_addr, u32 value);
-
-extern void io_sm_init(void);
-
#ifdef CONFIG_TIDSPBRIDGE_BACKTRACE
/*
* ========print_dsp_trace_buffer ========
diff --git a/drivers/staging/tidspbridge/include/dspbridge/iodefs.h b/drivers/staging/tidspbridge/include/dspbridge/iodefs.h
deleted file mode 100644
index 8bd10a04200a..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/iodefs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * iodefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * System-wide channel objects and constants.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef IODEFS_
-#define IODEFS_
-
-#define IO_MAXIRQ 0xff /* Arbitrarily large number. */
-
-/* IO Objects: */
-struct io_mgr;
-
-/* IO manager attributes: */
-struct io_attrs {
- u8 birq; /* Channel's I/O IRQ number. */
- bool irq_shared; /* TRUE if the IRQ is shareable. */
- u32 word_size; /* DSP Word size. */
- u32 shm_base; /* Physical base address of shared memory. */
- u32 usm_length; /* Size (in bytes) of shared memory. */
-};
-
-#endif /* IODEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/ldr.h b/drivers/staging/tidspbridge/include/dspbridge/ldr.h
deleted file mode 100644
index 6a0269cd07ef..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/ldr.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * ldr.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Provide module loading services and symbol export services.
- *
- * Notes:
- * This service is meant to be used by modules of the DSP/BIOS Bridge
- * driver.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef LDR_
-#define LDR_
-
-/* Loader objects: */
-struct ldr_module;
-
-#endif /* LDR_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/list.h b/drivers/staging/tidspbridge/include/dspbridge/list.h
deleted file mode 100644
index 6837b614073a..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/list.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * list.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Declarations of list management control structures and definitions
- * of inline list management functions.
- *
- * Copyright (C) 2008 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef LIST_
-#define LIST_
-
-#include <dspbridge/host_os.h>
-#include <linux/list.h>
-
-#define LST_IS_EMPTY(l) list_empty(&(l)->head)
-
-struct lst_list {
- struct list_head head;
-};
-
-/*
- * ======== lst_first ========
- * Purpose:
- * Returns a pointer to the first element of the list, or NULL if the list
- * is empty.
- * Parameters:
- * lst: Pointer to list control structure.
- * Returns:
- * Pointer to first list element, or NULL.
- * Requires:
- * - LST initialized.
- * - lst != NULL.
- * Ensures:
- */
-static inline struct list_head *lst_first(struct lst_list *lst)
-{
- if (lst && !list_empty(&lst->head))
- return lst->head.next;
- return NULL;
-}
-
-/*
- * ======== lst_get_head ========
- * Purpose:
- * Pops the head off the list and returns a pointer to it.
- * Details:
- * If the list is empty, returns NULL.
- * Else, removes the element at the head of the list, making the next
- * element the head of the list.
- * The head is removed by making the tail element of the list point its
- * "next" pointer at the next element after the head, and by making the
- * "prev" pointer of the next element after the head point at the tail
- * element. So the next element after the head becomes the new head of
- * the list.
- * Parameters:
- * lst: Pointer to list control structure of list whose head
- * element is to be removed
- * Returns:
- * Pointer to element that was at the head of the list (success)
- * NULL No elements in list
- * Requires:
- * - LST initialized.
- * - lst != NULL.
- * Ensures:
- * Notes:
- * Because the tail of the list points forward (its "next" pointer) to
- * the head of the list, and the head of the list points backward (its
- * "prev" pointer) to the tail of the list, this list is circular.
- */
-static inline struct list_head *lst_get_head(struct lst_list *lst)
-{
- struct list_head *elem_list;
-
- if (!lst || list_empty(&lst->head))
- return NULL;
-
- elem_list = lst->head.next;
- lst->head.next = elem_list->next;
- elem_list->next->prev = &lst->head;
-
- return elem_list;
-}
-
-/*
- * ======== lst_init_elem ========
- * Purpose:
- * Initializes a list element to default (cleared) values
- * Details:
- * Parameters:
- * elem_list: Pointer to list element to be reset
- * Returns:
- * Requires:
- * LST initialized.
- * Ensures:
- * Notes:
- * This function must not be called to "reset" an element in the middle
- * of a list chain -- that would break the chain.
- *
- */
-static inline void lst_init_elem(struct list_head *elem_list)
-{
- if (elem_list) {
- elem_list->next = NULL;
- elem_list->prev = NULL;
- }
-}
-
-/*
- * ======== lst_insert_before ========
- * Purpose:
- * Insert the element before the existing element.
- * Parameters:
- * lst: Pointer to list control structure.
- * elem_list: Pointer to element in list to insert.
- * elem_existing: Pointer to existing list element.
- * Returns:
- * Requires:
- * - LST initialized.
- * - lst != NULL.
- * - elem_list != NULL.
- * - elem_existing != NULL.
- * Ensures:
- */
-static inline void lst_insert_before(struct lst_list *lst,
- struct list_head *elem_list,
- struct list_head *elem_existing)
-{
- if (lst && elem_list && elem_existing)
- list_add_tail(elem_list, elem_existing);
-}
-
-/*
- * ======== lst_next ========
- * Purpose:
- * Returns a pointer to the next element of the list, or NULL if the next
- * element is the head of the list or the list is empty.
- * Parameters:
- * lst: Pointer to list control structure.
- * cur_elem: Pointer to element in list to remove.
- * Returns:
- * Pointer to list element, or NULL.
- * Requires:
- * - LST initialized.
- * - lst != NULL.
- * - cur_elem != NULL.
- * Ensures:
- */
-static inline struct list_head *lst_next(struct lst_list *lst,
- struct list_head *cur_elem)
-{
- if (lst && !list_empty(&lst->head) && cur_elem &&
- (cur_elem->next != &lst->head))
- return cur_elem->next;
- return NULL;
-}
-
-/*
- * ======== lst_put_tail ========
- * Purpose:
- * Adds the specified element to the tail of the list
- * Details:
- * Sets new element's "prev" pointer to the address previously held by
- * the head element's prev pointer. This is the previous tail member of
- * the list.
- * Sets the new head's prev pointer to the address of the element.
- * Sets next pointer of the previous tail member of the list to point to
- * the new element (rather than the head, which it had been pointing at).
- * Sets new element's next pointer to the address of the head element.
- * Sets head's prev pointer to the address of the new element.
- * Parameters:
- * lst: Pointer to list control structure to which *elem_list will be
- * added
- * elem_list: Pointer to list element to be added
- * Returns:
- * Void
- * Requires:
- * *elem_list and *lst must both exist.
- * LST initialized.
- * Ensures:
- * Notes:
- * Because the tail is always "just before" the head of the list (the
- * tail's "next" pointer points at the head of the list, and the head's
- * "prev" pointer points at the tail of the list), the list is circular.
- */
-static inline void lst_put_tail(struct lst_list *lst,
- struct list_head *elem_list)
-{
- if (lst && elem_list)
- list_add_tail(elem_list, &lst->head);
-}
-
-/*
- * ======== lst_remove_elem ========
- * Purpose:
- * Removes (unlinks) the given element from the list, if the list is not
- * empty. Does not free the list element.
- * Parameters:
- * lst: Pointer to list control structure.
- * cur_elem: Pointer to element in list to remove.
- * Returns:
- * Requires:
- * - LST initialized.
- * - lst != NULL.
- * - cur_elem != NULL.
- * Ensures:
- */
-static inline void lst_remove_elem(struct lst_list *lst,
- struct list_head *cur_elem)
-{
- if (lst && !list_empty(&lst->head) && cur_elem)
- list_del_init(cur_elem);
-}
-
-#endif /* LIST_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/mbx_sh.h b/drivers/staging/tidspbridge/include/dspbridge/mbx_sh.h
index 5d165cd932f0..7424c888d637 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/mbx_sh.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/mbx_sh.h
@@ -110,13 +110,7 @@
#ifndef _MBX_SH_H
#define _MBX_SH_H
-#define MBX_CLASS_MSK 0xFC00 /* Class bits are 10 thru 15 */
-#define MBX_VALUE_MSK 0x03FF /* Value is 0 thru 9 */
-
-#define MBX_DEH_CLASS 0x0000 /* DEH owns Mbx INTR */
-#define MBX_DDMA_CLASS 0x0400 /* DSP-DMA link drvr chnls owns INTR */
#define MBX_PCPY_CLASS 0x0800 /* PROC-COPY " */
-#define MBX_ZCPY_CLASS 0x1000 /* ZERO-COPY " */
#define MBX_PM_CLASS 0x2000 /* Power Management */
#define MBX_DBG_CLASS 0x4000 /* For debugging purpose */
@@ -128,55 +122,21 @@
#define MBX_DEH_USERS_BASE 0x100 /* 256 */
#define MBX_DEH_LIMIT 0x3FF /* 1023 */
#define MBX_DEH_RESET 0x101 /* DSP RESET (DEH) */
-#define MBX_DEH_EMMU 0X103 /*DSP MMU FAULT RECOVERY */
/*
* Link driver command/status codes.
*/
-/* DSP-DMA */
-#define MBX_DDMA_NUMCHNLBITS 5 /* # chnl Id: # bits available */
-#define MBX_DDMA_CHNLSHIFT 0 /* # of bits to shift */
-#define MBX_DDMA_CHNLMSK 0x01F /* bits 0 thru 4 */
-
-#define MBX_DDMA_NUMBUFBITS 5 /* buffer index: # of bits avail */
-#define MBX_DDMA_BUFSHIFT (MBX_DDMA_NUMCHNLBITS + MBX_DDMA_CHNLSHIFT)
-#define MBX_DDMA_BUFMSK 0x3E0 /* bits 5 thru 9 */
-
-/* Zero-Copy */
-#define MBX_ZCPY_NUMCHNLBITS 5 /* # chnl Id: # bits available */
-#define MBX_ZCPY_CHNLSHIFT 0 /* # of bits to shift */
-#define MBX_ZCPY_CHNLMSK 0x01F /* bits 0 thru 4 */
/* Power Management Commands */
#define MBX_PM_DSPIDLE (MBX_PM_CLASS + 0x0)
#define MBX_PM_DSPWAKEUP (MBX_PM_CLASS + 0x1)
#define MBX_PM_EMERGENCYSLEEP (MBX_PM_CLASS + 0x2)
-#define MBX_PM_SLEEPUNTILRESTART (MBX_PM_CLASS + 0x3)
-#define MBX_PM_DSPGLOBALIDLE_OFF (MBX_PM_CLASS + 0x4)
-#define MBX_PM_DSPGLOBALIDLE_ON (MBX_PM_CLASS + 0x5)
#define MBX_PM_SETPOINT_PRENOTIFY (MBX_PM_CLASS + 0x6)
#define MBX_PM_SETPOINT_POSTNOTIFY (MBX_PM_CLASS + 0x7)
-#define MBX_PM_DSPRETN (MBX_PM_CLASS + 0x8)
#define MBX_PM_DSPRETENTION (MBX_PM_CLASS + 0x8)
#define MBX_PM_DSPHIBERNATE (MBX_PM_CLASS + 0x9)
#define MBX_PM_HIBERNATE_EN (MBX_PM_CLASS + 0xA)
#define MBX_PM_OPP_REQ (MBX_PM_CLASS + 0xB)
-#define MBX_PM_OPP_CHG (MBX_PM_CLASS + 0xC)
-
-#define MBX_PM_TYPE_MASK 0x0300
-#define MBX_PM_TYPE_PWR_CHNG 0x0100
-#define MBX_PM_TYPE_OPP_PRECHNG 0x0200
-#define MBX_PM_TYPE_OPP_POSTCHNG 0x0300
-#define MBX_PM_TYPE_OPP_MASK 0x0300
-#define MBX_PM_OPP_PRECHNG (MBX_PM_CLASS | MBX_PM_TYPE_OPP_PRECHNG)
-/* DSP to MPU */
-#define MBX_PM_OPP_CHNG(OPP) (MBX_PM_CLASS | MBX_PM_TYPE_OPP_PRECHNG | (OPP))
-#define MBX_PM_RET (MBX_PM_CLASS | MBX_PM_TYPE_PWR_CHNG | 0x0006)
-#define MBX_PM_HIB (MBX_PM_CLASS | MBX_PM_TYPE_PWR_CHNG | 0x0002)
-#define MBX_PM_OPP1 0
-#define MBX_PM_OPP2 1
-#define MBX_PM_OPP3 2
-#define MBX_PM_OPP4 3
/* Bridge Debug Commands */
#define MBX_DBG_SYSPRINTF (MBX_DBG_CLASS + 0x0)
diff --git a/drivers/staging/tidspbridge/include/dspbridge/mgr.h b/drivers/staging/tidspbridge/include/dspbridge/mgr.h
index e506c4d49472..47b0318430e1 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/mgr.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/mgr.h
@@ -176,7 +176,7 @@ extern void mgr_exit(void);
* mgr_handle: Handle to the Manager Object
* dcd_handle: Ptr to receive the DCD Handle.
* Returns:
- * 0: Sucess
+ * 0: Success
* -EPERM: Failure to get the Handle
* Requires:
* MGR is initialized.
@@ -195,7 +195,7 @@ extern int mgr_get_dcd_handle(struct mgr_object
* call. Initializes the DCD.
* Parameters:
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* TRUE: A requirement for the other public MGR functions.
diff --git a/drivers/staging/tidspbridge/include/dspbridge/mgrpriv.h b/drivers/staging/tidspbridge/include/dspbridge/mgrpriv.h
index bca4e103c7f6..3a4e337c040d 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/mgrpriv.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/mgrpriv.h
@@ -28,8 +28,8 @@
struct mgr_object;
struct mgr_tlbentry {
- u32 ul_dsp_virt; /* DSP virtual address */
- u32 ul_gpp_phys; /* GPP physical address */
+ u32 dsp_virt; /* DSP virtual address */
+ u32 gpp_phys; /* GPP physical address */
};
/*
diff --git a/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h b/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h
index c85d3da3fe25..ee3a85f08fc3 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h
@@ -82,10 +82,10 @@ typedef u32(*nldr_writefxn) (void *priv_ref,
* Attributes passed to nldr_create function.
*/
struct nldr_attrs {
- nldr_ovlyfxn pfn_ovly;
- nldr_writefxn pfn_write;
- u16 us_dsp_word_size;
- u16 us_dsp_mau_size;
+ nldr_ovlyfxn ovly;
+ nldr_writefxn write;
+ u16 dsp_word_size;
+ u16 dsp_mau_size;
};
/*
@@ -280,14 +280,14 @@ typedef int(*nldr_unloadfxn) (struct nldr_nodeobject *nldr_node_obj,
* ======== node_ldr_fxns ========
*/
struct node_ldr_fxns {
- nldr_allocatefxn pfn_allocate;
- nldr_createfxn pfn_create;
- nldr_deletefxn pfn_delete;
- nldr_exitfxn pfn_exit;
- nldr_getfxnaddrfxn pfn_get_fxn_addr;
- nldr_initfxn pfn_init;
- nldr_loadfxn pfn_load;
- nldr_unloadfxn pfn_unload;
+ nldr_allocatefxn allocate;
+ nldr_createfxn create;
+ nldr_deletefxn delete;
+ nldr_exitfxn exit;
+ nldr_getfxnaddrfxn get_fxn_addr;
+ nldr_initfxn init;
+ nldr_loadfxn load;
+ nldr_unloadfxn unload;
};
#endif /* NLDRDEFS_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/node.h b/drivers/staging/tidspbridge/include/dspbridge/node.h
index 49ed5c1128e5..16371d818e3d 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/node.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/node.h
@@ -22,7 +22,7 @@
#include <dspbridge/procpriv.h>
#include <dspbridge/nodedefs.h>
-#include <dspbridge/dispdefs.h>
+#include <dspbridge/disp.h>
#include <dspbridge/nldrdefs.h>
#include <dspbridge/drv.h>
@@ -44,7 +44,7 @@
* -ESPIPE: iAlg functions not found for a DAIS node.
* -EDOM: attr_in != NULL and attr_in->prio out of
* range.
- * -EPERM: A failure occured, unable to allocate node.
+ * -EPERM: A failure occurred, unable to allocate node.
* -EBADR: Proccessor is not in the running state.
* Requires:
* node_init(void) called.
@@ -113,28 +113,10 @@ extern int node_alloc_msg_buf(struct node_object *hnode,
extern int node_change_priority(struct node_object *hnode, s32 prio);
/*
- * ======== node_close_orphans ========
- * Purpose:
- * Delete all nodes whose owning processor is being destroyed.
- * Parameters:
- * hnode_mgr: Node manager object.
- * proc: Handle to processor object being destroyed.
- * Returns:
- * 0: Success.
- * -EPERM: Unable to delete all nodes belonging to proc.
- * Requires:
- * Valid hnode_mgr.
- * proc != NULL.
- * Ensures:
- */
-extern int node_close_orphans(struct node_mgr *hnode_mgr,
- struct proc_object *proc);
-
-/*
* ======== node_connect ========
* Purpose:
* Connect two nodes on the DSP, or a node on the DSP to the GPP. In the
- * case that the connnection is being made between a node on the DSP and
+ * case that the connection is being made between a node on the DSP and
* the GPP, one of the node handles (either node1 or node2) must be
* the constant NODE_HGPPNODE.
* Parameters:
diff --git a/drivers/staging/tidspbridge/include/dspbridge/nodepriv.h b/drivers/staging/tidspbridge/include/dspbridge/nodepriv.h
index 16b0233fc5d5..9c1e06758c89 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/nodepriv.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/nodepriv.h
@@ -43,7 +43,7 @@ struct node_strmdef {
u32 buf_size; /* Size of buffers for SIO stream */
u32 num_bufs; /* max # of buffers in SIO stream at once */
u32 seg_id; /* Memory segment id to allocate buffers */
- u32 utimeout; /* Timeout for blocking SIO calls */
+ u32 timeout; /* Timeout for blocking SIO calls */
u32 buf_alignment; /* Buffer alignment */
char *sz_device; /* Device name for stream */
};
@@ -55,14 +55,14 @@ struct node_taskargs {
u32 stack_size;
u32 sys_stack_size;
u32 stack_seg;
- u32 udsp_heap_res_addr; /* DSP virtual heap address */
- u32 udsp_heap_addr; /* DSP virtual heap address */
+ u32 dsp_heap_res_addr; /* DSP virtual heap address */
+ u32 dsp_heap_addr; /* DSP virtual heap address */
u32 heap_size; /* Heap size */
- u32 ugpp_heap_addr; /* GPP virtual heap address */
+ u32 gpp_heap_addr; /* GPP virtual heap address */
u32 profile_id; /* Profile ID */
u32 num_inputs;
u32 num_outputs;
- u32 ul_dais_arg; /* Address of iAlg object */
+ u32 dais_arg; /* Address of iAlg object */
struct node_strmdef *strm_in_def;
struct node_strmdef *strm_out_def;
};
diff --git a/drivers/staging/tidspbridge/include/dspbridge/proc.h b/drivers/staging/tidspbridge/include/dspbridge/proc.h
index 5e09fd165d9d..f00dffd51989 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/proc.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/proc.h
@@ -89,7 +89,7 @@ extern int proc_auto_start(struct cfg_devnode *dev_node_obj,
* Returns:
* 0 : SUCCESS
* -EFAULT : Invalid processor handle.
- * -ETIME: A Timeout Occured before the Control information
+ * -ETIME: A Timeout Occurred before the Control information
* could be sent.
* -EPERM : General Failure.
* Requires:
@@ -169,7 +169,7 @@ extern int proc_enum_nodes(void *hprocessor,
* 0 : Success.
* -EFAULT : Invalid processor handle.
* -EBADR: The processor is not in the PROC_RUNNING state.
- * -ETIME: A timeout occured before the DSP responded to the
+ * -ETIME: A timeout occurred before the DSP responded to the
* querry.
* -EPERM : Unable to get Resource Information
* Requires:
@@ -229,7 +229,7 @@ extern int proc_get_dev_object(void *hprocessor,
* call.
* Parameters:
* Returns:
- * TRUE if initialized; FALSE if error occured.
+ * TRUE if initialized; FALSE if error occurred.
* Requires:
* Ensures:
* TRUE: A requirement for the other public PROC functions.
diff --git a/drivers/staging/tidspbridge/include/dspbridge/pwr.h b/drivers/staging/tidspbridge/include/dspbridge/pwr.h
index a6dc783904ef..0fb066488da9 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/pwr.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/pwr.h
@@ -18,7 +18,13 @@
#define PWR_
#include <dspbridge/dbdefs.h>
-#include <dspbridge/pwr_sh.h>
+#include <dspbridge/mbx_sh.h>
+
+/* valid sleep command codes that can be sent by GPP via mailbox: */
+#define PWR_DEEPSLEEP MBX_PM_DSPIDLE
+#define PWR_EMERGENCYDEEPSLEEP MBX_PM_EMERGENCYSLEEP
+#define PWR_WAKEUP MBX_PM_DSPWAKEUP
+
/*
* ======== pwr_sleep_dsp ========
@@ -40,7 +46,7 @@
* 0: Success.
* 0: Success, but the DSP was already asleep.
* -EINVAL: The specified sleep_code is not supported.
- * -ETIME: A timeout occured while waiting for DSP sleep
+ * -ETIME: A timeout occurred while waiting for DSP sleep
* confirmation.
* -EPERM: General failure, unable to send sleep command to
* the DSP.
@@ -61,7 +67,7 @@ extern int pwr_sleep_dsp(const u32 sleep_code, const u32 timeout);
* Returns:
* 0: Success.
* 0: Success, but the DSP was already awake.
- * -ETIME: A timeout occured while waiting for wake
+ * -ETIME: A timeout occurred while waiting for wake
* confirmation.
* -EPERM: General failure, unable to send wake command to
* the DSP.
@@ -79,7 +85,7 @@ extern int pwr_wake_dsp(const u32 timeout);
* Returns:
* 0: Success.
* 0: Success, but the DSP was already awake.
- * -ETIME: A timeout occured while waiting for wake
+ * -ETIME: A timeout occurred while waiting for wake
* confirmation.
* -EPERM: General failure, unable to send wake command to
* the DSP.
@@ -97,7 +103,7 @@ extern int pwr_pm_pre_scale(u16 voltage_domain, u32 level);
* Returns:
* 0: Success.
* 0: Success, but the DSP was already awake.
- * -ETIME: A timeout occured while waiting for wake
+ * -ETIME: A timeout occurred while waiting for wake
* confirmation.
* -EPERM: General failure, unable to send wake command to
* the DSP.
diff --git a/drivers/staging/tidspbridge/include/dspbridge/pwr_sh.h b/drivers/staging/tidspbridge/include/dspbridge/pwr_sh.h
deleted file mode 100644
index 1b4a090abe78..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/pwr_sh.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * pwr_sh.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Power Manager shared definitions (used on both GPP and DSP sides).
- *
- * Copyright (C) 2008 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef PWR_SH_
-#define PWR_SH_
-
-#include <dspbridge/mbx_sh.h>
-
-/* valid sleep command codes that can be sent by GPP via mailbox: */
-#define PWR_DEEPSLEEP MBX_PM_DSPIDLE
-#define PWR_EMERGENCYDEEPSLEEP MBX_PM_EMERGENCYSLEEP
-#define PWR_SLEEPUNTILRESTART MBX_PM_SLEEPUNTILRESTART
-#define PWR_WAKEUP MBX_PM_DSPWAKEUP
-#define PWR_AUTOENABLE MBX_PM_PWRENABLE
-#define PWR_AUTODISABLE MBX_PM_PWRDISABLE
-#define PWR_RETENTION MBX_PM_DSPRETN
-
-#endif /* PWR_SH_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/resourcecleanup.h b/drivers/staging/tidspbridge/include/dspbridge/resourcecleanup.h
index dfaf0c6c06f1..8c9c902a0432 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/resourcecleanup.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/resourcecleanup.h
@@ -17,23 +17,12 @@
#include <dspbridge/nodepriv.h>
#include <dspbridge/drv.h>
-extern int drv_get_proc_ctxt_list(struct process_context **pctxt,
- struct drv_object *hdrv_obj);
-
-extern int drv_insert_proc_context(struct drv_object *driver_obj,
- void *process_ctxt);
-
extern int drv_remove_all_dmm_res_elements(void *process_ctxt);
extern int drv_remove_all_node_res_elements(void *process_ctxt);
-extern int drv_proc_set_pid(void *ctxt, s32 process);
-
extern int drv_remove_all_resources(void *process_ctxt);
-extern int drv_remove_proc_context(struct drv_object *driver_obj,
- void *pr_ctxt);
-
extern int drv_insert_node_res_element(void *hnode, void *node_resource,
void *process_ctxt);
diff --git a/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h b/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h
index 7bc5574342aa..ba7f47845673 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/rms_sh.h
@@ -22,27 +22,18 @@
#include <dspbridge/rmstypes.h>
-/* Node Types: */
-#define RMS_TASK 1 /* Task node */
-#define RMS_DAIS 2 /* xDAIS socket node */
-#define RMS_MSG 3 /* Message node */
-
/* Memory Types: */
#define RMS_CODE 0 /* Program space */
#define RMS_DATA 1 /* Data space */
-#define RMS_IO 2 /* I/O space */
/* RM Server Command and Response Buffer Sizes: */
#define RMS_COMMANDBUFSIZE 256 /* Size of command buffer */
-#define RMS_RESPONSEBUFSIZE 16 /* Size of response buffer */
/* Pre-Defined Command/Response Codes: */
#define RMS_EXIT 0x80000000 /* GPP->Node: shutdown */
#define RMS_EXITACK 0x40000000 /* Node->GPP: ack shutdown */
#define RMS_BUFDESC 0x20000000 /* Arg1 SM buf, Arg2 SM size */
#define RMS_KILLTASK 0x10000000 /* GPP->Node: Kill Task */
-#define RMS_USER 0x0 /* Start of user-defined msg codes */
-#define RMS_MAXUSERCODES 0xfff /* Maximum user defined C/R Codes */
/* RM Server RPC Command Structure: */
struct rms_command {
diff --git a/drivers/staging/tidspbridge/include/dspbridge/strm.h b/drivers/staging/tidspbridge/include/dspbridge/strm.h
index 3e4671e7f91b..613fe53dd239 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/strm.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/strm.h
@@ -142,25 +142,6 @@ extern int strm_free_buffer(struct strm_res_object *strmres,
struct process_context *pr_ctxt);
/*
- * ======== strm_get_event_handle ========
- * Purpose:
- * Get stream's user event handle. This function is used when closing
- * a stream, so the event can be closed.
- * Parameter:
- * stream_obj: Stream handle returned from strm_open().
- * ph_event: Location to store event handle on output.
- * Returns:
- * 0: Success.
- * -EFAULT: Invalid stream_obj.
- * Requires:
- * strm_init(void) called.
- * ph_event != NULL.
- * Ensures:
- */
-extern int strm_get_event_handle(struct strm_object *stream_obj,
- void **ph_event);
-
-/*
* ======== strm_get_info ========
* Purpose:
* Get information about a stream. User's dsp_streaminfo is contained
@@ -276,27 +257,6 @@ extern int strm_open(struct node_object *hnode, u32 dir,
struct process_context *pr_ctxt);
/*
- * ======== strm_prepare_buffer ========
- * Purpose:
- * Prepare a data buffer not allocated by DSPStream_AllocateBuffers()
- * for use with a stream.
- * Parameter:
- * stream_obj: Stream handle returned from strm_open().
- * usize: Size (GPP bytes) of the buffer.
- * pbuffer: Buffer address.
- * Returns:
- * 0: Success.
- * -EFAULT: Invalid stream_obj.
- * -EPERM: Failure occurred, unable to prepare buffer.
- * Requires:
- * strm_init(void) called.
- * pbuffer != NULL.
- * Ensures:
- */
-extern int strm_prepare_buffer(struct strm_object *stream_obj,
- u32 usize, u8 *pbuffer);
-
-/*
* ======== strm_reclaim ========
* Purpose:
* Request a buffer back from a stream.
@@ -379,26 +339,4 @@ extern int strm_register_notify(struct strm_object *stream_obj,
extern int strm_select(struct strm_object **strm_tab,
u32 strms, u32 *pmask, u32 utimeout);
-/*
- * ======== strm_unprepare_buffer ========
- * Purpose:
- * Unprepare a data buffer that was previously prepared for a stream
- * with DSPStream_PrepareBuffer(), and that will no longer be used with
- * the stream.
- * Parameter:
- * stream_obj: Stream handle returned from strm_open().
- * usize: Size (GPP bytes) of the buffer.
- * pbuffer: Buffer address.
- * Returns:
- * 0: Success.
- * -EFAULT: Invalid stream_obj.
- * -EPERM: Failure occurred, unable to unprepare buffer.
- * Requires:
- * strm_init(void) called.
- * pbuffer != NULL.
- * Ensures:
- */
-extern int strm_unprepare_buffer(struct strm_object *stream_obj,
- u32 usize, u8 *pbuffer);
-
#endif /* STRM_ */
diff --git a/drivers/staging/tidspbridge/include/dspbridge/strmdefs.h b/drivers/staging/tidspbridge/include/dspbridge/strmdefs.h
index b363f794de33..4f90e6ba69ef 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/strmdefs.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/strmdefs.h
@@ -19,18 +19,16 @@
#ifndef STRMDEFS_
#define STRMDEFS_
-#define STRM_MAXEVTNAMELEN 32
-
struct strm_mgr;
struct strm_object;
struct strm_attr {
void *user_event;
- char *pstr_event_name;
+ char *str_event_name;
void *virt_base; /* Process virtual base address of
* mapped SM */
- u32 ul_virt_size; /* Size of virtual space in bytes */
+ u32 virt_size; /* Size of virtual space in bytes */
struct dsp_streamattrin *stream_attr_in;
};
diff --git a/drivers/staging/tidspbridge/include/dspbridge/sync.h b/drivers/staging/tidspbridge/include/dspbridge/sync.h
index e2651e7b1c42..b1e75eb8847c 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/sync.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/sync.h
@@ -20,6 +20,7 @@
#define _SYNC_H
#include <dspbridge/dbdefs.h>
+#include <dspbridge/host_os.h>
/* Special timeout value indicating an infinite wait: */
@@ -80,13 +81,22 @@ void sync_set_event(struct sync_object *event);
* This functios will wait until @event is set or until timeout. In case of
* success the function will return 0 and
* in case of timeout the function will return -ETIME
+ * in case of signal the function will return -ERESTARTSYS
*/
static inline int sync_wait_on_event(struct sync_object *event,
unsigned timeout)
{
- return wait_for_completion_timeout(&event->comp,
- msecs_to_jiffies(timeout)) ? 0 : -ETIME;
+ int res;
+
+ res = wait_for_completion_interruptible_timeout(&event->comp,
+ msecs_to_jiffies(timeout));
+ if (!res)
+ res = -ETIME;
+ else if (res > 0)
+ res = 0;
+
+ return res;
}
/**
diff --git a/drivers/staging/tidspbridge/include/dspbridge/utildefs.h b/drivers/staging/tidspbridge/include/dspbridge/utildefs.h
deleted file mode 100644
index 8fe5414824ce..000000000000
--- a/drivers/staging/tidspbridge/include/dspbridge/utildefs.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * utildefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Global UTIL constants and types, shared between DSP API and DSPSYS.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef UTILDEFS_
-#define UTILDEFS_
-
-/* constants taken from configmg.h */
-#define UTIL_MAXMEMREGS 9
-#define UTIL_MAXIOPORTS 20
-#define UTIL_MAXIRQS 7
-#define UTIL_MAXDMACHNLS 7
-
-/* misc. constants */
-#define UTIL_MAXARGVS 10
-
-/* Platform specific important info */
-struct util_sysinfo {
- /* Granularity of page protection; usually 1k or 4k */
- u32 dw_page_size;
- u32 dw_allocation_granularity; /* VM granularity, usually 64K */
- u32 dw_number_of_processors; /* Used as sanity check */
-};
-
-#endif /* UTILDEFS_ */