Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
speakup_decpc.c File Reference
#include <linux/jiffies.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/kthread.h>
#include "spk_priv.h"
#include "speakup.h"

Go to the source code of this file.

Macros

#define MODULE_init   0x0dec /* module in boot code */
 
#define MODULE_self_test   0x8800 /* module in self-test */
 
#define MODULE_reset   0xffff /* reinit the whole module */
 
#define MODE_mask   0xf000 /* mode bits in high nibble */
 
#define MODE_null   0x0000
 
#define MODE_test   0x2000 /* in testing mode */
 
#define MODE_status   0x8000
 
#define STAT_int   0x0001 /* running in interrupt mode */
 
#define STAT_tr_char   0x0002 /* character data to transmit */
 
#define STAT_rr_char   0x0004 /* ready to receive char data */
 
#define STAT_cmd_ready   0x0008 /* ready to accept commands */
 
#define STAT_dma_ready   0x0010 /* dma command ready */
 
#define STAT_digitized   0x0020 /* spc in digitized mode */
 
#define STAT_new_index   0x0040 /* new last index ready */
 
#define STAT_new_status   0x0080 /* new status posted */
 
#define STAT_dma_state   0x0100 /* dma state toggle */
 
#define STAT_index_valid   0x0200 /* indexs are valid */
 
#define STAT_flushing   0x0400 /* flush in progress */
 
#define STAT_self_test   0x0800 /* module in self test */
 
#define MODE_ready   0xc000 /* module ready for next phase */
 
#define READY_boot   0x0000
 
#define READY_kernel   0x0001
 
#define MODE_error   0xf000
 
#define CMD_mask   0xf000 /* mask for command nibble */
 
#define CMD_null   0x0000 /* post status */
 
#define CMD_control   0x1000 /* hard control command */
 
#define CTRL_mask   0x0F00 /* mask off control nibble */
 
#define CTRL_data   0x00FF /* mask to get data byte */
 
#define CTRL_null   0x0000 /* null control */
 
#define CTRL_vol_up   0x0100 /* increase volume */
 
#define CTRL_vol_down   0x0200 /* decrease volume */
 
#define CTRL_vol_set   0x0300 /* set volume */
 
#define CTRL_pause   0x0400 /* pause spc */
 
#define CTRL_resume   0x0500 /* resume spc clock */
 
#define CTRL_resume_spc   0x0001 /* resume spc soft pause */
 
#define CTRL_flush   0x0600 /* flush all buffers */
 
#define CTRL_int_enable   0x0700 /* enable status change ints */
 
#define CTRL_buff_free   0x0800 /* buffer remain count */
 
#define CTRL_buff_used   0x0900 /* buffer in use */
 
#define CTRL_speech   0x0a00 /* immediate speech change */
 
#define CTRL_SP_voice   0x0001 /* voice change */
 
#define CTRL_SP_rate   0x0002 /* rate change */
 
#define CTRL_SP_comma   0x0003 /* comma pause change */
 
#define CTRL_SP_period   0x0004 /* period pause change */
 
#define CTRL_SP_rate_delta   0x0005 /* delta rate change */
 
#define CTRL_SP_get_param   0x0006 /* return the desired parameter */
 
#define CTRL_last_index   0x0b00 /* get last index spoken */
 
#define CTRL_io_priority   0x0c00 /* change i/o priority */
 
#define CTRL_free_mem   0x0d00 /* get free paragraphs on module */
 
#define CTRL_get_lang
 
#define CMD_test   0x2000 /* self-test request */
 
#define TEST_mask   0x0F00 /* isolate test field */
 
#define TEST_null   0x0000 /* no test requested */
 
#define TEST_isa_int   0x0100 /* assert isa irq */
 
#define TEST_echo   0x0200 /* make data in == data out */
 
#define TEST_seg   0x0300 /* set peek/poke segment */
 
#define TEST_off   0x0400 /* set peek/poke offset */
 
#define TEST_peek   0x0500 /* data out == *peek */
 
#define TEST_poke   0x0600 /* *peek == data in */
 
#define TEST_sub_code   0x00FF /* user defined test sub codes */
 
#define CMD_id   0x3000 /* return software id */
 
#define ID_null   0x0000 /* null id */
 
#define ID_kernel   0x0100 /* kernel code executing */
 
#define ID_boot   0x0200 /* boot code executing */
 
#define CMD_dma   0x4000 /* force a dma start */
 
#define CMD_reset   0x5000 /* reset module status */
 
#define CMD_sync   0x6000 /* kernel sync command */
 
#define CMD_char_in   0x7000 /* single character send */
 
#define CMD_char_out   0x8000 /* single character get */
 
#define CHAR_count_1   0x0100 /* one char in cmd_low */
 
#define CHAR_count_2   0x0200 /* the second in data_low */
 
#define CHAR_count_3   0x0300 /* the third in data_high */
 
#define CMD_spc_mode   0x9000 /* change spc mode */
 
#define CMD_spc_to_text   0x0100 /* set to text mode */
 
#define CMD_spc_to_digit   0x0200 /* set to digital mode */
 
#define CMD_spc_rate   0x0400 /* change spc data rate */
 
#define CMD_error   0xf000 /* severe error */
 
#define DMA_single_in   0x01
 
#define DMA_single_out   0x02
 
#define DMA_buff_in   0x03
 
#define DMA_buff_out   0x04
 
#define DMA_control   0x05
 
#define DT_MEM_ALLOC   0x03
 
#define DT_SET_DIC   0x04
 
#define DT_START_TASK   0x05
 
#define DT_LOAD_MEM   0x06
 
#define DT_READ_MEM   0x07
 
#define DT_DIGITAL_IN   0x08
 
#define DMA_sync   0x06
 
#define DMA_sync_char   0x07
 
#define DRV_VERSION   "2.12"
 
#define PROCSPEECH   0x0b
 
#define SYNTH_IO_EXTENT   8
 

Enumerations

enum  { PRIMARY_DIC = 0, USER_DIC, COMMAND_DIC, ABBREV_DIC }
 

Functions

 module_param_named (start, synth_dec_pc.startup, short, S_IRUGO)
 
 MODULE_PARM_DESC (start,"Start the synthesizer once it is loaded.")
 
 module_init (decpc_init)
 
 module_exit (decpc_exit)
 
 MODULE_AUTHOR ("Kirk Reiser <kirk@braille.uwo.ca>")
 
 MODULE_AUTHOR ("David Borowski")
 
 MODULE_DESCRIPTION ("Speakup support for DECtalk PC synthesizers")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (DRV_VERSION)
 

Macro Definition Documentation

#define CHAR_count_1   0x0100 /* one char in cmd_low */

Definition at line 111 of file speakup_decpc.c.

#define CHAR_count_2   0x0200 /* the second in data_low */

Definition at line 112 of file speakup_decpc.c.

#define CHAR_count_3   0x0300 /* the third in data_high */

Definition at line 113 of file speakup_decpc.c.

#define CMD_char_in   0x7000 /* single character send */

Definition at line 109 of file speakup_decpc.c.

#define CMD_char_out   0x8000 /* single character get */

Definition at line 110 of file speakup_decpc.c.

#define CMD_control   0x1000 /* hard control command */

Definition at line 67 of file speakup_decpc.c.

#define CMD_dma   0x4000 /* force a dma start */

Definition at line 106 of file speakup_decpc.c.

#define CMD_error   0xf000 /* severe error */

Definition at line 118 of file speakup_decpc.c.

#define CMD_id   0x3000 /* return software id */

Definition at line 102 of file speakup_decpc.c.

#define CMD_mask   0xf000 /* mask for command nibble */

Definition at line 65 of file speakup_decpc.c.

#define CMD_null   0x0000 /* post status */

Definition at line 66 of file speakup_decpc.c.

#define CMD_reset   0x5000 /* reset module status */

Definition at line 107 of file speakup_decpc.c.

#define CMD_spc_mode   0x9000 /* change spc mode */

Definition at line 114 of file speakup_decpc.c.

#define CMD_spc_rate   0x0400 /* change spc data rate */

Definition at line 117 of file speakup_decpc.c.

#define CMD_spc_to_digit   0x0200 /* set to digital mode */

Definition at line 116 of file speakup_decpc.c.

#define CMD_spc_to_text   0x0100 /* set to text mode */

Definition at line 115 of file speakup_decpc.c.

#define CMD_sync   0x6000 /* kernel sync command */

Definition at line 108 of file speakup_decpc.c.

#define CMD_test   0x2000 /* self-test request */

Definition at line 92 of file speakup_decpc.c.

#define CTRL_buff_free   0x0800 /* buffer remain count */

Definition at line 79 of file speakup_decpc.c.

#define CTRL_buff_used   0x0900 /* buffer in use */

Definition at line 80 of file speakup_decpc.c.

#define CTRL_data   0x00FF /* mask to get data byte */

Definition at line 69 of file speakup_decpc.c.

#define CTRL_flush   0x0600 /* flush all buffers */

Definition at line 77 of file speakup_decpc.c.

#define CTRL_free_mem   0x0d00 /* get free paragraphs on module */

Definition at line 90 of file speakup_decpc.c.

#define CTRL_get_lang
Value:
0x0e00 /* return bit mask of loaded
* languages */

Definition at line 91 of file speakup_decpc.c.

#define CTRL_int_enable   0x0700 /* enable status change ints */

Definition at line 78 of file speakup_decpc.c.

#define CTRL_io_priority   0x0c00 /* change i/o priority */

Definition at line 89 of file speakup_decpc.c.

#define CTRL_last_index   0x0b00 /* get last index spoken */

Definition at line 88 of file speakup_decpc.c.

#define CTRL_mask   0x0F00 /* mask off control nibble */

Definition at line 68 of file speakup_decpc.c.

#define CTRL_null   0x0000 /* null control */

Definition at line 70 of file speakup_decpc.c.

#define CTRL_pause   0x0400 /* pause spc */

Definition at line 74 of file speakup_decpc.c.

#define CTRL_resume   0x0500 /* resume spc clock */

Definition at line 75 of file speakup_decpc.c.

#define CTRL_resume_spc   0x0001 /* resume spc soft pause */

Definition at line 76 of file speakup_decpc.c.

#define CTRL_SP_comma   0x0003 /* comma pause change */

Definition at line 84 of file speakup_decpc.c.

#define CTRL_SP_get_param   0x0006 /* return the desired parameter */

Definition at line 87 of file speakup_decpc.c.

#define CTRL_SP_period   0x0004 /* period pause change */

Definition at line 85 of file speakup_decpc.c.

#define CTRL_SP_rate   0x0002 /* rate change */

Definition at line 83 of file speakup_decpc.c.

#define CTRL_SP_rate_delta   0x0005 /* delta rate change */

Definition at line 86 of file speakup_decpc.c.

#define CTRL_SP_voice   0x0001 /* voice change */

Definition at line 82 of file speakup_decpc.c.

#define CTRL_speech   0x0a00 /* immediate speech change */

Definition at line 81 of file speakup_decpc.c.

#define CTRL_vol_down   0x0200 /* decrease volume */

Definition at line 72 of file speakup_decpc.c.

#define CTRL_vol_set   0x0300 /* set volume */

Definition at line 73 of file speakup_decpc.c.

#define CTRL_vol_up   0x0100 /* increase volume */

Definition at line 71 of file speakup_decpc.c.

#define DMA_buff_in   0x03

Definition at line 124 of file speakup_decpc.c.

#define DMA_buff_out   0x04

Definition at line 125 of file speakup_decpc.c.

#define DMA_control   0x05

Definition at line 126 of file speakup_decpc.c.

#define DMA_single_in   0x01

Definition at line 122 of file speakup_decpc.c.

#define DMA_single_out   0x02

Definition at line 123 of file speakup_decpc.c.

#define DMA_sync   0x06

Definition at line 133 of file speakup_decpc.c.

#define DMA_sync_char   0x07

Definition at line 134 of file speakup_decpc.c.

#define DRV_VERSION   "2.12"

Definition at line 136 of file speakup_decpc.c.

#define DT_DIGITAL_IN   0x08

Definition at line 132 of file speakup_decpc.c.

#define DT_LOAD_MEM   0x06

Definition at line 130 of file speakup_decpc.c.

#define DT_MEM_ALLOC   0x03

Definition at line 127 of file speakup_decpc.c.

#define DT_READ_MEM   0x07

Definition at line 131 of file speakup_decpc.c.

#define DT_SET_DIC   0x04

Definition at line 128 of file speakup_decpc.c.

#define DT_START_TASK   0x05

Definition at line 129 of file speakup_decpc.c.

#define ID_boot   0x0200 /* boot code executing */

Definition at line 105 of file speakup_decpc.c.

#define ID_kernel   0x0100 /* kernel code executing */

Definition at line 104 of file speakup_decpc.c.

#define ID_null   0x0000 /* null id */

Definition at line 103 of file speakup_decpc.c.

#define MODE_error   0xf000

Definition at line 63 of file speakup_decpc.c.

#define MODE_mask   0xf000 /* mode bits in high nibble */

Definition at line 44 of file speakup_decpc.c.

#define MODE_null   0x0000

Definition at line 45 of file speakup_decpc.c.

#define MODE_ready   0xc000 /* module ready for next phase */

Definition at line 60 of file speakup_decpc.c.

#define MODE_status   0x8000

Definition at line 47 of file speakup_decpc.c.

#define MODE_test   0x2000 /* in testing mode */

Definition at line 46 of file speakup_decpc.c.

#define MODULE_init   0x0dec /* module in boot code */

Definition at line 40 of file speakup_decpc.c.

#define MODULE_reset   0xffff /* reinit the whole module */

Definition at line 42 of file speakup_decpc.c.

#define MODULE_self_test   0x8800 /* module in self-test */

Definition at line 41 of file speakup_decpc.c.

#define PROCSPEECH   0x0b

Definition at line 137 of file speakup_decpc.c.

#define READY_boot   0x0000

Definition at line 61 of file speakup_decpc.c.

#define READY_kernel   0x0001

Definition at line 62 of file speakup_decpc.c.

#define STAT_cmd_ready   0x0008 /* ready to accept commands */

Definition at line 51 of file speakup_decpc.c.

#define STAT_digitized   0x0020 /* spc in digitized mode */

Definition at line 53 of file speakup_decpc.c.

#define STAT_dma_ready   0x0010 /* dma command ready */

Definition at line 52 of file speakup_decpc.c.

#define STAT_dma_state   0x0100 /* dma state toggle */

Definition at line 56 of file speakup_decpc.c.

#define STAT_flushing   0x0400 /* flush in progress */

Definition at line 58 of file speakup_decpc.c.

#define STAT_index_valid   0x0200 /* indexs are valid */

Definition at line 57 of file speakup_decpc.c.

#define STAT_int   0x0001 /* running in interrupt mode */

Definition at line 48 of file speakup_decpc.c.

#define STAT_new_index   0x0040 /* new last index ready */

Definition at line 54 of file speakup_decpc.c.

#define STAT_new_status   0x0080 /* new status posted */

Definition at line 55 of file speakup_decpc.c.

#define STAT_rr_char   0x0004 /* ready to receive char data */

Definition at line 50 of file speakup_decpc.c.

#define STAT_self_test   0x0800 /* module in self test */

Definition at line 59 of file speakup_decpc.c.

#define STAT_tr_char   0x0002 /* character data to transmit */

Definition at line 49 of file speakup_decpc.c.

#define SYNTH_IO_EXTENT   8

Definition at line 138 of file speakup_decpc.c.

#define TEST_echo   0x0200 /* make data in == data out */

Definition at line 96 of file speakup_decpc.c.

#define TEST_isa_int   0x0100 /* assert isa irq */

Definition at line 95 of file speakup_decpc.c.

#define TEST_mask   0x0F00 /* isolate test field */

Definition at line 93 of file speakup_decpc.c.

#define TEST_null   0x0000 /* no test requested */

Definition at line 94 of file speakup_decpc.c.

#define TEST_off   0x0400 /* set peek/poke offset */

Definition at line 98 of file speakup_decpc.c.

#define TEST_peek   0x0500 /* data out == *peek */

Definition at line 99 of file speakup_decpc.c.

#define TEST_poke   0x0600 /* *peek == data in */

Definition at line 100 of file speakup_decpc.c.

#define TEST_seg   0x0300 /* set peek/poke segment */

Definition at line 97 of file speakup_decpc.c.

#define TEST_sub_code   0x00FF /* user defined test sub codes */

Definition at line 101 of file speakup_decpc.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
PRIMARY_DIC 
USER_DIC 
COMMAND_DIC 
ABBREV_DIC 

Definition at line 120 of file speakup_decpc.c.

Function Documentation

MODULE_AUTHOR ( "Kirk Reiser <kirk@braille.uwo.ca>"  )
MODULE_AUTHOR ( "David Borowski"  )
MODULE_DESCRIPTION ( "Speakup support for DECtalk PC synthesizers"  )
module_exit ( decpc_exit  )
module_init ( decpc_init  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( start  ,
synth_dec_pc.  startup,
short  ,
S_IRUGO   
)
MODULE_PARM_DESC ( start  ,
"Start the synthesizer once it is loaded."   
)
MODULE_VERSION ( DRV_VERSION  )