TwiceAsNice  2019-02-18
Classes | Macros | Typedefs | Functions | Variables
gsc_main.h File Reference
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/page.h>
#include <asm/types.h>
#include <asm/uaccess.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <linux/version.h>
#include <linux/wait.h>
#include "gsc_kernel_2_2.h"
#include "gsc_kernel_2_4.h"
#include "gsc_kernel_2_6.h"
#include "gsc_common.h"
Include dependency graph for gsc_main.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  gsc_sem_t
 
struct  gsc_bar_t
 
struct  gsc_dev_id_t
 
struct  gsc_dma_ch_t
 
struct  gsc_dma_t
 
struct  gsc_irq_t
 
struct  gsc_global_t
 
struct  gsc_ioctl_t
 
struct  gsc_vpd_data_t
 
struct  _gsc_wait_node_t
 

Macros

#define GSC_DRIVER_VERSION   DEV_VERSION "." GSC_COMMON_VERSION
 
#define GSC_COMMON_VERSION   "32"
 
#define ARRAY_ELEMENTS(a)   (sizeof((a))/sizeof((a)[0]))
 
#define MS_TO_JIFFIES(m)   (((m) + ((1000 / HZ) - 1)) / (1000 / HZ))
 
#define JIFFIES_TO_MS(j)   ((((j) * 1000) + (HZ / 2)) / HZ)
 
#define _1K   (1024L)
 
#define _5K   (_1K * 5)
 
#define _30K   (_1K * 30)
 
#define _32K   (_1K * 32)
 
#define _64K   (_1K * 64)
 
#define _220K   (_1K * 220L)
 
#define _256K   (_1K * 256L)
 
#define _512K   (_1K * 512L)
 
#define _1100K   (_1K * 1100L)
 
#define _1M   (_1K * _1K)
 
#define _8M   (_1M * 8L)
 
#define _8MHZ   ( 8000000L)
 
#define _9_6MHZ   ( 9600000L)
 
#define _16MHZ   (16000000L)
 
#define _19_2MHZ   (19200000L)
 
#define _38_4MHZ   (38400000L)
 
#define D0   0x00000001
 
#define D1   0x00000002
 
#define D2   0x00000004
 
#define D3   0x00000008
 
#define D4   0x00000010
 
#define D5   0x00000020
 
#define D6   0x00000040
 
#define D7   0x00000080
 
#define D8   0x00000100
 
#define D9   0x00000200
 
#define D10   0x00000400
 
#define D11   0x00000800
 
#define D12   0x00001000
 
#define D13   0x00002000
 
#define D14   0x00004000
 
#define D15   0x00008000
 
#define D16   0x00010000
 
#define D17   0x00020000
 
#define D18   0x00040000
 
#define D19   0x00080000
 
#define D20   0x00100000
 
#define D21   0x00200000
 
#define D22   0x00400000
 
#define D23   0x00800000
 
#define D24   0x01000000
 
#define D25   0x02000000
 
#define D26   0x04000000
 
#define D27   0x08000000
 
#define D28   0x10000000
 
#define D29   0x20000000
 
#define D30   0x40000000
 
#define D31   0x80000000
 
#define GSC_VADDR(d, o)   (VADDR_T) (((u8*) (d)->gsc.vaddr) + (o))
 
#define PLX_VADDR(d, o)   (VADDR_T) (((u8*) (d)->plx.vaddr) + (o))
 
#define GSC_DMA_CSR_DISABLE   GSC_FIELD_ENCODE(0,0,0)
 
#define GSC_DMA_CSR_ENABLE   GSC_FIELD_ENCODE(1,0,0)
 
#define GSC_DMA_CSR_START   GSC_FIELD_ENCODE(1,1,1)
 
#define GSC_DMA_CSR_ABORT   GSC_FIELD_ENCODE(1,2,2)
 
#define GSC_DMA_CSR_CLEAR   GSC_FIELD_ENCODE(1,3,3)
 
#define GSC_DMA_CSR_DONE   GSC_FIELD_ENCODE(1,4,4)
 
#define GSC_DMA_CAP_DMA_READ   0x01
 
#define GSC_DMA_CAP_DMA_WRITE   0x02
 
#define GSC_DMA_CAP_DMDMA_READ   0x04
 
#define GSC_DMA_CAP_DMDMA_WRITE   0x08
 
#define GSC_DMA_SEL_STATIC   0x10
 
#define GSC_DMA_SEL_DYNAMIC   0x20
 
#define GSC_DMA_MODE_SIZE_8_BITS   GSC_FIELD_ENCODE(0, 1, 0)
 
#define GSC_DMA_MODE_SIZE_16_BITS   GSC_FIELD_ENCODE(1, 1, 0)
 
#define GSC_DMA_MODE_SIZE_32_BITS   GSC_FIELD_ENCODE(2, 1, 0)
 
#define GSC_DMA_MODE_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 6, 6)
 
#define GSC_DMA_MODE_BURSTING_LOCAL   GSC_FIELD_ENCODE(1, 8, 8)
 
#define GSC_DMA_MODE_INTERRUPT_WHEN_DONE   GSC_FIELD_ENCODE(1,10,10)
 
#define GSC_DMA_MODE_LOCAL_ADRESS_CONSTANT   GSC_FIELD_ENCODE(1,11,11)
 
#define GSC_DMA_MODE_BLOCK_DMA   GSC_FIELD_ENCODE(0,12,12)
 
#define GSC_DMA_MODE_DM_DMA   GSC_FIELD_ENCODE(1,12,12)
 
#define GSC_DMA_MODE_PCI_INTERRUPT_ENABLE   GSC_FIELD_ENCODE(1,17,17)
 
#define GSC_DMA_DPR_END_OF_CHAIN   GSC_FIELD_ENCODE(1,1,1)
 
#define GSC_DMA_DPR_TERMINAL_COUNT_IRQ   GSC_FIELD_ENCODE(1,2,2)
 
#define GSC_DMA_DPR_HOST_TO_BOARD   GSC_FIELD_ENCODE(0,3,3)
 
#define GSC_DMA_DPR_BOARD_TO_HOST   GSC_FIELD_ENCODE(1,3,3)
 
#define GSC_INTCSR_MAILBOX_INT_ENABLE   GSC_FIELD_ENCODE(1, 3, 3)
 
#define GSC_INTCSR_PCI_INT_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)
 
#define GSC_INTCSR_PCI_DOOR_INT_ENABLE   GSC_FIELD_ENCODE(1, 9, 9)
 
#define GSC_INTCSR_ABORT_INT_ENABLE   GSC_FIELD_ENCODE(1,10,10)
 
#define GSC_INTCSR_LOCAL_INT_ENABLE   GSC_FIELD_ENCODE(1,11,11)
 
#define GSC_INTCSR_PCI_DOOR_INT_ACTIVE   GSC_FIELD_ENCODE(1,13,13)
 
#define GSC_INTCSR_ABORT_INT_ACTIVE   GSC_FIELD_ENCODE(1,14,14)
 
#define GSC_INTCSR_LOCAL_INT_ACTIVE   GSC_FIELD_ENCODE(1,15,15)
 
#define GSC_INTCSR_LOC_DOOR_INT_ENABLE   GSC_FIELD_ENCODE(1,17,17)
 
#define GSC_INTCSR_DMA_0_INT_ENABLE   GSC_FIELD_ENCODE(1,18,18)
 
#define GSC_INTCSR_DMA_1_INT_ENABLE   GSC_FIELD_ENCODE(1,19,19)
 
#define GSC_INTCSR_LOC_DOOR_INT_ACTIVE   GSC_FIELD_ENCODE(1,20,20)
 
#define GSC_INTCSR_DMA_0_INT_ACTIVE   GSC_FIELD_ENCODE(1,21,21)
 
#define GSC_INTCSR_DMA_1_INT_ACTIVE   GSC_FIELD_ENCODE(1,22,22)
 
#define GSC_INTCSR_BIST_INT_ACTIVE   GSC_FIELD_ENCODE(1,23,23)
 
#define GSC_INTCSR_MAILBOX_INT_ACTIVE   GSC_FIELD_ENCODE(0xF,31,28)
 
#define GSC_IOCTL_32BIT_ERROR   (-1)
 
#define GSC_IOCTL_32BIT_NONE   0
 
#define GSC_IOCTL_32BIT_NATIVE   1
 
#define GSC_IOCTL_32BIT_TRANSLATE   2
 
#define GSC_IOCTL_32BIT_COMPAT   3
 
#define GSC_IOCTL_32BIT_DISABLED   4
 
#define S32_MAX   (+2147483647L)
 
#define GSC_PLX_EEPROM_ACCESS(p)   0
 
#define dev_check_id   FAIL FAIL __LINE__ __FILE__
 

Typedefs

typedef struct _dev_data_t dev_data_t
 
typedef struct _dev_io_t dev_io_t
 
typedef int(* gsc_ioctl_service_t) (dev_data_t *dev, void *arg)
 
typedef struct _gsc_wait_node_t gsc_wait_node_t
 

Functions

int gsc_bar_create (struct pci_dev *pci, int index, gsc_bar_t *bar, int mem, int io)
 
void gsc_bar_destroy (gsc_bar_t *bar)
 
int gsc_close (struct inode *, struct file *)
 
dev_data_tgsc_dev_data_t_locate (struct inode *inode)
 
int gsc_ioctl (struct inode *inode, struct file *fp, unsigned int cmd, unsigned long arg)
 
long gsc_ioctl_compat (struct file *fp, unsigned int cmd, unsigned long arg)
 
long gsc_ioctl_unlocked (struct file *fp, unsigned int cmd, unsigned long arg)
 
int gsc_dma_abort_active_xfer (dev_data_t *dev, dev_io_t *io)
 
void gsc_dma_close (dev_data_t *dev)
 
int gsc_dma_create (dev_data_t *dev, u32 ch0_flags, u32 ch1_flags)
 
void gsc_dma_destroy (dev_data_t *dev)
 
int gsc_dma_open (dev_data_t *dev)
 
ssize_t gsc_dma_perform (dev_data_t *dev, dev_io_t *io, unsigned long jif_end, unsigned int ability, u32 mode, u32 dpr, void *buff, ssize_t samples)
 
int gsc_io_create (dev_data_t *dev, dev_io_t *gsc, size_t size)
 
void gsc_io_destroy (dev_data_t *dev, dev_io_t *gsc)
 
int gsc_ioctl_init (void)
 
void gsc_ioctl_reset (void)
 
int gsc_irq_access_lock (dev_data_t *dev, int isr)
 
void gsc_irq_access_unlock (dev_data_t *dev, int isr)
 
void gsc_irq_close (dev_data_t *dev)
 
int gsc_irq_create (dev_data_t *dev)
 
void gsc_irq_destroy (dev_data_t *dev)
 
void gsc_irq_intcsr_mod (dev_data_t *dev, u32 value, u32 mask)
 
int gsc_irq_isr_common (int irq, void *dev_id)
 
int gsc_irq_local_disable (dev_data_t *dev)
 
int gsc_irq_local_enable (dev_data_t *dev)
 
int gsc_irq_open (dev_data_t *dev)
 
void gsc_module_count_dec (void)
 
int gsc_module_count_inc (void)
 
int gsc_open (struct inode *, struct file *)
 
int gsc_plx_eeprom_access (struct pci_dev *pci)
 
int gsc_proc_read (char *page, char **start, off_t offset, int count, int *eof, void *data)
 
int gsc_proc_start (void)
 
void gsc_proc_stop (void)
 
ssize_t gsc_read (struct file *filp, char *buf, size_t count, loff_t *offp)
 
int gsc_read_abort_active_xfer (dev_data_t *dev)
 
ssize_t gsc_read_pio_work (dev_data_t *dev, char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_read_pio_work_8_bit (dev_data_t *dev, char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_read_pio_work_16_bit (dev_data_t *dev, char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_read_pio_work_32_bit (dev_data_t *dev, char *buff, ssize_t count, unsigned long jif_end)
 
void gsc_reg_mod (dev_data_t *dev, u32 reg, u32 val, u32 mask)
 
int gsc_reg_mod_ioctl (dev_data_t *dev, gsc_reg_t *arg)
 
u32 gsc_reg_read (dev_data_t *dev, u32 reg)
 
int gsc_reg_read_ioctl (dev_data_t *dev, gsc_reg_t *arg)
 
void gsc_reg_write (dev_data_t *dev, u32 reg, u32 val)
 
int gsc_reg_write_ioctl (dev_data_t *dev, gsc_reg_t *arg)
 
void gsc_sem_create (gsc_sem_t *sem)
 
void gsc_sem_destroy (gsc_sem_t *sem)
 
int gsc_sem_lock (gsc_sem_t *sem)
 
void gsc_sem_unlock (gsc_sem_t *sem)
 
long gsc_time_delta (unsigned long t1, unsigned long t2)
 
int gsc_vpd_read_ioctl (dev_data_t *dev, gsc_vpd_t *vpd)
 
void gsc_wait_close (dev_data_t *dev)
 
int gsc_wait_event (dev_data_t *dev, gsc_wait_t *wait, int(*setup)(dev_data_t *dev, unsigned long arg), unsigned long arg, gsc_sem_t *sem)
 
int gsc_wait_resume_io (dev_data_t *dev, u32 io)
 
int gsc_wait_resume_irq_alt (dev_data_t *dev, u32 alt)
 
int gsc_wait_resume_irq_gsc (dev_data_t *dev, u32 gsc)
 
int gsc_wait_resume_irq_main (dev_data_t *dev, u32 main)
 
int gsc_write_abort_active_xfer (dev_data_t *dev)
 
ssize_t gsc_write (struct file *filp, const char *buf, size_t count, loff_t *offp)
 
ssize_t gsc_write_pio_work (dev_data_t *dev, const char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_write_pio_work_8_bit (dev_data_t *dev, const char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_write_pio_work_16_bit (dev_data_t *dev, const char *buff, ssize_t count, unsigned long jif_end)
 
ssize_t gsc_write_pio_work_32_bit (dev_data_t *dev, const char *buff, ssize_t count, unsigned long jif_end)
 
int dev_close (dev_data_t *dev)
 
int dev_device_create (dev_data_t *ref)
 
void dev_device_destroy (dev_data_t *dev)
 
void dev_irq_isr_local_handler (dev_data_t *dev)
 
int dev_open (dev_data_t *dev)
 
ssize_t dev_read_startup (dev_data_t *dev)
 
int dev_reg_mod_alt (dev_data_t *dev, gsc_reg_t *arg)
 
int dev_reg_read_alt (dev_data_t *dev, gsc_reg_t *arg)
 
int dev_reg_write_alt (dev_data_t *dev, gsc_reg_t *arg)
 
int gsc_wait_cancel_ioctl (dev_data_t *dev, void *arg)
 
int gsc_wait_event_ioctl (dev_data_t *dev, void *arg)
 
int gsc_wait_status_ioctl (dev_data_t *dev, void *arg)
 
int dev_write_startup (dev_data_t *dev)
 

Variables

gsc_global_t gsc_global
 
const gsc_dev_id_t dev_id_list []
 
const gsc_ioctl_t dev_ioctl_list []
 

Macro Definition Documentation

◆ _1100K

#define _1100K   (_1K * 1100L)

◆ _16MHZ

#define _16MHZ   (16000000L)

◆ _19_2MHZ

#define _19_2MHZ   (19200000L)

◆ _1K

#define _1K   (1024L)

◆ _1M

#define _1M   (_1K * _1K)

◆ _220K

#define _220K   (_1K * 220L)

◆ _256K

#define _256K   (_1K * 256L)

◆ _30K

#define _30K   (_1K * 30)

◆ _32K

#define _32K   (_1K * 32)

◆ _38_4MHZ

#define _38_4MHZ   (38400000L)

◆ _512K

#define _512K   (_1K * 512L)

◆ _5K

#define _5K   (_1K * 5)

◆ _64K

#define _64K   (_1K * 64)

◆ _8M

#define _8M   (_1M * 8L)

◆ _8MHZ

#define _8MHZ   ( 8000000L)

◆ _9_6MHZ

#define _9_6MHZ   ( 9600000L)

◆ ARRAY_ELEMENTS

#define ARRAY_ELEMENTS (   a)    (sizeof((a))/sizeof((a)[0]))

◆ D0

#define D0   0x00000001

◆ D1

#define D1   0x00000002

◆ D10

#define D10   0x00000400

◆ D11

#define D11   0x00000800

◆ D12

#define D12   0x00001000

◆ D13

#define D13   0x00002000

◆ D14

#define D14   0x00004000

◆ D15

#define D15   0x00008000

◆ D16

#define D16   0x00010000

◆ D17

#define D17   0x00020000

◆ D18

#define D18   0x00040000

◆ D19

#define D19   0x00080000

◆ D2

#define D2   0x00000004

◆ D20

#define D20   0x00100000

◆ D21

#define D21   0x00200000

◆ D22

#define D22   0x00400000

◆ D23

#define D23   0x00800000

◆ D24

#define D24   0x01000000

◆ D25

#define D25   0x02000000

◆ D26

#define D26   0x04000000

◆ D27

#define D27   0x08000000

◆ D28

#define D28   0x10000000

◆ D29

#define D29   0x20000000

◆ D3

#define D3   0x00000008

◆ D30

#define D30   0x40000000

◆ D31

#define D31   0x80000000

◆ D4

#define D4   0x00000010

◆ D5

#define D5   0x00000020

◆ D6

#define D6   0x00000040

◆ D7

#define D7   0x00000080

◆ D8

#define D8   0x00000100

◆ D9

#define D9   0x00000200

◆ dev_check_id

#define dev_check_id   FAIL FAIL __LINE__ __FILE__

◆ GSC_COMMON_VERSION

#define GSC_COMMON_VERSION   "32"

◆ GSC_DMA_CAP_DMA_READ

#define GSC_DMA_CAP_DMA_READ   0x01

◆ GSC_DMA_CAP_DMA_WRITE

#define GSC_DMA_CAP_DMA_WRITE   0x02

◆ GSC_DMA_CAP_DMDMA_READ

#define GSC_DMA_CAP_DMDMA_READ   0x04

◆ GSC_DMA_CAP_DMDMA_WRITE

#define GSC_DMA_CAP_DMDMA_WRITE   0x08

◆ GSC_DMA_CSR_ABORT

#define GSC_DMA_CSR_ABORT   GSC_FIELD_ENCODE(1,2,2)

◆ GSC_DMA_CSR_CLEAR

#define GSC_DMA_CSR_CLEAR   GSC_FIELD_ENCODE(1,3,3)

◆ GSC_DMA_CSR_DISABLE

#define GSC_DMA_CSR_DISABLE   GSC_FIELD_ENCODE(0,0,0)

◆ GSC_DMA_CSR_DONE

#define GSC_DMA_CSR_DONE   GSC_FIELD_ENCODE(1,4,4)

◆ GSC_DMA_CSR_ENABLE

#define GSC_DMA_CSR_ENABLE   GSC_FIELD_ENCODE(1,0,0)

◆ GSC_DMA_CSR_START

#define GSC_DMA_CSR_START   GSC_FIELD_ENCODE(1,1,1)

◆ GSC_DMA_DPR_BOARD_TO_HOST

#define GSC_DMA_DPR_BOARD_TO_HOST   GSC_FIELD_ENCODE(1,3,3)

◆ GSC_DMA_DPR_END_OF_CHAIN

#define GSC_DMA_DPR_END_OF_CHAIN   GSC_FIELD_ENCODE(1,1,1)

◆ GSC_DMA_DPR_HOST_TO_BOARD

#define GSC_DMA_DPR_HOST_TO_BOARD   GSC_FIELD_ENCODE(0,3,3)

◆ GSC_DMA_DPR_TERMINAL_COUNT_IRQ

#define GSC_DMA_DPR_TERMINAL_COUNT_IRQ   GSC_FIELD_ENCODE(1,2,2)

◆ GSC_DMA_MODE_BLOCK_DMA

#define GSC_DMA_MODE_BLOCK_DMA   GSC_FIELD_ENCODE(0,12,12)

◆ GSC_DMA_MODE_BURSTING_LOCAL

#define GSC_DMA_MODE_BURSTING_LOCAL   GSC_FIELD_ENCODE(1, 8, 8)

◆ GSC_DMA_MODE_DM_DMA

#define GSC_DMA_MODE_DM_DMA   GSC_FIELD_ENCODE(1,12,12)

◆ GSC_DMA_MODE_INPUT_ENABLE

#define GSC_DMA_MODE_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 6, 6)

◆ GSC_DMA_MODE_INTERRUPT_WHEN_DONE

#define GSC_DMA_MODE_INTERRUPT_WHEN_DONE   GSC_FIELD_ENCODE(1,10,10)

◆ GSC_DMA_MODE_LOCAL_ADRESS_CONSTANT

#define GSC_DMA_MODE_LOCAL_ADRESS_CONSTANT   GSC_FIELD_ENCODE(1,11,11)

◆ GSC_DMA_MODE_PCI_INTERRUPT_ENABLE

#define GSC_DMA_MODE_PCI_INTERRUPT_ENABLE   GSC_FIELD_ENCODE(1,17,17)

◆ GSC_DMA_MODE_SIZE_16_BITS

#define GSC_DMA_MODE_SIZE_16_BITS   GSC_FIELD_ENCODE(1, 1, 0)

◆ GSC_DMA_MODE_SIZE_32_BITS

#define GSC_DMA_MODE_SIZE_32_BITS   GSC_FIELD_ENCODE(2, 1, 0)

◆ GSC_DMA_MODE_SIZE_8_BITS

#define GSC_DMA_MODE_SIZE_8_BITS   GSC_FIELD_ENCODE(0, 1, 0)

◆ GSC_DMA_SEL_DYNAMIC

#define GSC_DMA_SEL_DYNAMIC   0x20

◆ GSC_DMA_SEL_STATIC

#define GSC_DMA_SEL_STATIC   0x10

◆ GSC_DRIVER_VERSION

#define GSC_DRIVER_VERSION   DEV_VERSION "." GSC_COMMON_VERSION

◆ GSC_INTCSR_ABORT_INT_ACTIVE

#define GSC_INTCSR_ABORT_INT_ACTIVE   GSC_FIELD_ENCODE(1,14,14)

◆ GSC_INTCSR_ABORT_INT_ENABLE

#define GSC_INTCSR_ABORT_INT_ENABLE   GSC_FIELD_ENCODE(1,10,10)

◆ GSC_INTCSR_BIST_INT_ACTIVE

#define GSC_INTCSR_BIST_INT_ACTIVE   GSC_FIELD_ENCODE(1,23,23)

◆ GSC_INTCSR_DMA_0_INT_ACTIVE

#define GSC_INTCSR_DMA_0_INT_ACTIVE   GSC_FIELD_ENCODE(1,21,21)

◆ GSC_INTCSR_DMA_0_INT_ENABLE

#define GSC_INTCSR_DMA_0_INT_ENABLE   GSC_FIELD_ENCODE(1,18,18)

◆ GSC_INTCSR_DMA_1_INT_ACTIVE

#define GSC_INTCSR_DMA_1_INT_ACTIVE   GSC_FIELD_ENCODE(1,22,22)

◆ GSC_INTCSR_DMA_1_INT_ENABLE

#define GSC_INTCSR_DMA_1_INT_ENABLE   GSC_FIELD_ENCODE(1,19,19)

◆ GSC_INTCSR_LOC_DOOR_INT_ACTIVE

#define GSC_INTCSR_LOC_DOOR_INT_ACTIVE   GSC_FIELD_ENCODE(1,20,20)

◆ GSC_INTCSR_LOC_DOOR_INT_ENABLE

#define GSC_INTCSR_LOC_DOOR_INT_ENABLE   GSC_FIELD_ENCODE(1,17,17)

◆ GSC_INTCSR_LOCAL_INT_ACTIVE

#define GSC_INTCSR_LOCAL_INT_ACTIVE   GSC_FIELD_ENCODE(1,15,15)

◆ GSC_INTCSR_LOCAL_INT_ENABLE

#define GSC_INTCSR_LOCAL_INT_ENABLE   GSC_FIELD_ENCODE(1,11,11)

◆ GSC_INTCSR_MAILBOX_INT_ACTIVE

#define GSC_INTCSR_MAILBOX_INT_ACTIVE   GSC_FIELD_ENCODE(0xF,31,28)

◆ GSC_INTCSR_MAILBOX_INT_ENABLE

#define GSC_INTCSR_MAILBOX_INT_ENABLE   GSC_FIELD_ENCODE(1, 3, 3)

◆ GSC_INTCSR_PCI_DOOR_INT_ACTIVE

#define GSC_INTCSR_PCI_DOOR_INT_ACTIVE   GSC_FIELD_ENCODE(1,13,13)

◆ GSC_INTCSR_PCI_DOOR_INT_ENABLE

#define GSC_INTCSR_PCI_DOOR_INT_ENABLE   GSC_FIELD_ENCODE(1, 9, 9)

◆ GSC_INTCSR_PCI_INT_ENABLE

#define GSC_INTCSR_PCI_INT_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)

◆ GSC_IOCTL_32BIT_COMPAT

#define GSC_IOCTL_32BIT_COMPAT   3

◆ GSC_IOCTL_32BIT_DISABLED

#define GSC_IOCTL_32BIT_DISABLED   4

◆ GSC_IOCTL_32BIT_ERROR

#define GSC_IOCTL_32BIT_ERROR   (-1)

◆ GSC_IOCTL_32BIT_NATIVE

#define GSC_IOCTL_32BIT_NATIVE   1

◆ GSC_IOCTL_32BIT_NONE

#define GSC_IOCTL_32BIT_NONE   0

◆ GSC_IOCTL_32BIT_TRANSLATE

#define GSC_IOCTL_32BIT_TRANSLATE   2

◆ GSC_PLX_EEPROM_ACCESS

#define GSC_PLX_EEPROM_ACCESS (   p)    0

◆ GSC_VADDR

#define GSC_VADDR (   d,
 
)    (VADDR_T) (((u8*) (d)->gsc.vaddr) + (o))

◆ JIFFIES_TO_MS

#define JIFFIES_TO_MS (   j)    ((((j) * 1000) + (HZ / 2)) / HZ)

◆ MS_TO_JIFFIES

#define MS_TO_JIFFIES (   m)    (((m) + ((1000 / HZ) - 1)) / (1000 / HZ))

◆ PLX_VADDR

#define PLX_VADDR (   d,
 
)    (VADDR_T) (((u8*) (d)->plx.vaddr) + (o))

◆ S32_MAX

#define S32_MAX   (+2147483647L)

Typedef Documentation

◆ dev_data_t

typedef struct _dev_data_t dev_data_t

◆ dev_io_t

typedef struct _dev_io_t dev_io_t

◆ gsc_ioctl_service_t

typedef int(* gsc_ioctl_service_t) (dev_data_t *dev, void *arg)

◆ gsc_wait_node_t

Function Documentation

◆ dev_close()

int dev_close ( dev_data_t dev)

◆ dev_device_create()

int dev_device_create ( dev_data_t ref)

◆ dev_device_destroy()

void dev_device_destroy ( dev_data_t dev)

◆ dev_irq_isr_local_handler()

void dev_irq_isr_local_handler ( dev_data_t dev)

◆ dev_open()

int dev_open ( dev_data_t dev)

◆ dev_read_startup()

ssize_t dev_read_startup ( dev_data_t dev)

◆ dev_reg_mod_alt()

int dev_reg_mod_alt ( dev_data_t dev,
gsc_reg_t arg 
)

◆ dev_reg_read_alt()

int dev_reg_read_alt ( dev_data_t dev,
gsc_reg_t arg 
)

◆ dev_reg_write_alt()

int dev_reg_write_alt ( dev_data_t dev,
gsc_reg_t arg 
)

◆ dev_write_startup()

int dev_write_startup ( dev_data_t dev)

◆ gsc_bar_create()

int gsc_bar_create ( struct pci_dev *  pci,
int  index,
gsc_bar_t bar,
int  mem,
int  io 
)

◆ gsc_bar_destroy()

void gsc_bar_destroy ( gsc_bar_t bar)

◆ gsc_close()

int gsc_close ( struct inode *  ,
struct file *   
)

◆ gsc_dev_data_t_locate()

dev_data_t* gsc_dev_data_t_locate ( struct inode *  inode)

◆ gsc_dma_abort_active_xfer()

int gsc_dma_abort_active_xfer ( dev_data_t dev,
dev_io_t io 
)

◆ gsc_dma_close()

void gsc_dma_close ( dev_data_t dev)

◆ gsc_dma_create()

int gsc_dma_create ( dev_data_t dev,
u32  ch0_flags,
u32  ch1_flags 
)

◆ gsc_dma_destroy()

void gsc_dma_destroy ( dev_data_t dev)

◆ gsc_dma_open()

int gsc_dma_open ( dev_data_t dev)

◆ gsc_dma_perform()

ssize_t gsc_dma_perform ( dev_data_t dev,
dev_io_t io,
unsigned long  jif_end,
unsigned int  ability,
u32  mode,
u32  dpr,
void *  buff,
ssize_t  samples 
)

◆ gsc_io_create()

int gsc_io_create ( dev_data_t dev,
dev_io_t gsc,
size_t  size 
)

◆ gsc_io_destroy()

void gsc_io_destroy ( dev_data_t dev,
dev_io_t gsc 
)

◆ gsc_ioctl()

int gsc_ioctl ( struct inode *  inode,
struct file *  fp,
unsigned int  cmd,
unsigned long  arg 
)

◆ gsc_ioctl_compat()

long gsc_ioctl_compat ( struct file *  fp,
unsigned int  cmd,
unsigned long  arg 
)

◆ gsc_ioctl_init()

int gsc_ioctl_init ( void  )

◆ gsc_ioctl_reset()

void gsc_ioctl_reset ( void  )

◆ gsc_ioctl_unlocked()

long gsc_ioctl_unlocked ( struct file *  fp,
unsigned int  cmd,
unsigned long  arg 
)

◆ gsc_irq_access_lock()

int gsc_irq_access_lock ( dev_data_t dev,
int  isr 
)

◆ gsc_irq_access_unlock()

void gsc_irq_access_unlock ( dev_data_t dev,
int  isr 
)

◆ gsc_irq_close()

void gsc_irq_close ( dev_data_t dev)

◆ gsc_irq_create()

int gsc_irq_create ( dev_data_t dev)

◆ gsc_irq_destroy()

void gsc_irq_destroy ( dev_data_t dev)

◆ gsc_irq_intcsr_mod()

void gsc_irq_intcsr_mod ( dev_data_t dev,
u32  value,
u32  mask 
)

◆ gsc_irq_isr_common()

int gsc_irq_isr_common ( int  irq,
void *  dev_id 
)

◆ gsc_irq_local_disable()

int gsc_irq_local_disable ( dev_data_t dev)

◆ gsc_irq_local_enable()

int gsc_irq_local_enable ( dev_data_t dev)

◆ gsc_irq_open()

int gsc_irq_open ( dev_data_t dev)

◆ gsc_module_count_dec()

void gsc_module_count_dec ( void  )

◆ gsc_module_count_inc()

int gsc_module_count_inc ( void  )

◆ gsc_open()

int gsc_open ( struct inode *  ,
struct file *   
)

◆ gsc_plx_eeprom_access()

int gsc_plx_eeprom_access ( struct pci_dev *  pci)

◆ gsc_proc_read()

int gsc_proc_read ( char *  page,
char **  start,
off_t  offset,
int  count,
int *  eof,
void *  data 
)

◆ gsc_proc_start()

int gsc_proc_start ( void  )

◆ gsc_proc_stop()

void gsc_proc_stop ( void  )

◆ gsc_read()

ssize_t gsc_read ( struct file *  filp,
char *  buf,
size_t  count,
loff_t *  offp 
)

◆ gsc_read_abort_active_xfer()

int gsc_read_abort_active_xfer ( dev_data_t dev)

◆ gsc_read_pio_work()

ssize_t gsc_read_pio_work ( dev_data_t dev,
char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_read_pio_work_16_bit()

ssize_t gsc_read_pio_work_16_bit ( dev_data_t dev,
char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_read_pio_work_32_bit()

ssize_t gsc_read_pio_work_32_bit ( dev_data_t dev,
char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_read_pio_work_8_bit()

ssize_t gsc_read_pio_work_8_bit ( dev_data_t dev,
char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_reg_mod()

void gsc_reg_mod ( dev_data_t dev,
u32  reg,
u32  val,
u32  mask 
)

◆ gsc_reg_mod_ioctl()

int gsc_reg_mod_ioctl ( dev_data_t dev,
gsc_reg_t arg 
)

◆ gsc_reg_read()

u32 gsc_reg_read ( dev_data_t dev,
u32  reg 
)

◆ gsc_reg_read_ioctl()

int gsc_reg_read_ioctl ( dev_data_t dev,
gsc_reg_t arg 
)

◆ gsc_reg_write()

void gsc_reg_write ( dev_data_t dev,
u32  reg,
u32  val 
)

◆ gsc_reg_write_ioctl()

int gsc_reg_write_ioctl ( dev_data_t dev,
gsc_reg_t arg 
)

◆ gsc_sem_create()

void gsc_sem_create ( gsc_sem_t sem)

◆ gsc_sem_destroy()

void gsc_sem_destroy ( gsc_sem_t sem)

◆ gsc_sem_lock()

int gsc_sem_lock ( gsc_sem_t sem)

◆ gsc_sem_unlock()

void gsc_sem_unlock ( gsc_sem_t sem)

◆ gsc_time_delta()

long gsc_time_delta ( unsigned long  t1,
unsigned long  t2 
)

◆ gsc_vpd_read_ioctl()

int gsc_vpd_read_ioctl ( dev_data_t dev,
gsc_vpd_t vpd 
)

◆ gsc_wait_cancel_ioctl()

int gsc_wait_cancel_ioctl ( dev_data_t dev,
void *  arg 
)

◆ gsc_wait_close()

void gsc_wait_close ( dev_data_t dev)

◆ gsc_wait_event()

int gsc_wait_event ( dev_data_t dev,
gsc_wait_t wait,
int(*)(dev_data_t *dev, unsigned long arg setup,
unsigned long  arg,
gsc_sem_t sem 
)

◆ gsc_wait_event_ioctl()

int gsc_wait_event_ioctl ( dev_data_t dev,
void *  arg 
)

◆ gsc_wait_resume_io()

int gsc_wait_resume_io ( dev_data_t dev,
u32  io 
)

◆ gsc_wait_resume_irq_alt()

int gsc_wait_resume_irq_alt ( dev_data_t dev,
u32  alt 
)

◆ gsc_wait_resume_irq_gsc()

int gsc_wait_resume_irq_gsc ( dev_data_t dev,
u32  gsc 
)

◆ gsc_wait_resume_irq_main()

int gsc_wait_resume_irq_main ( dev_data_t dev,
u32  main 
)

◆ gsc_wait_status_ioctl()

int gsc_wait_status_ioctl ( dev_data_t dev,
void *  arg 
)

◆ gsc_write()

ssize_t gsc_write ( struct file *  filp,
const char *  buf,
size_t  count,
loff_t *  offp 
)

◆ gsc_write_abort_active_xfer()

int gsc_write_abort_active_xfer ( dev_data_t dev)

◆ gsc_write_pio_work()

ssize_t gsc_write_pio_work ( dev_data_t dev,
const char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_write_pio_work_16_bit()

ssize_t gsc_write_pio_work_16_bit ( dev_data_t dev,
const char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_write_pio_work_32_bit()

ssize_t gsc_write_pio_work_32_bit ( dev_data_t dev,
const char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

◆ gsc_write_pio_work_8_bit()

ssize_t gsc_write_pio_work_8_bit ( dev_data_t dev,
const char *  buff,
ssize_t  count,
unsigned long  jif_end 
)

Variable Documentation

◆ dev_id_list

const gsc_dev_id_t dev_id_list[]

◆ dev_ioctl_list

const gsc_ioctl_t dev_ioctl_list[]

◆ gsc_global

gsc_global_t gsc_global