TwiceAsNice  2019-02-18
Classes | Macros | Functions | Variables
main.h File Reference
#include <asm/types.h>
#include <linux/ioctl.h>
#include <linux/types.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/page.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 "kernel_2_2.h"
#include "kernel_2_4.h"
#include "kernel_2_6.h"
#include "gsc_driver.h"
#include "dev_version.h"
Include dependency graph for main.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  dev_bar_t
 
struct  dev_bars_t
 
struct  dev_irq_t
 
struct  dev_mem_t
 
struct  dev_pid_t
 
struct  dev_dpr_t
 
struct  dev_dma_t
 
struct  dev_data_t
 
struct  dev_global_t
 

Macros

#define BYTES_TO_PAGE_BYTES(b)   ROUND_UP_BOUNDARY((b), PAGE_SIZE)
 
#define MAX_DEVICES   32
 
#define ROUND_TO_PAGE_BOUNDARY(p)   ROUND_UP_BOUNDARY((u32)(p), PAGE_SIZE)
 
#define ROUND_UP_BOUNDARY(by, bl)   ((((by) + (bl) - 1) / (bl)) * (bl))
 
#define INTCSR_PCI_INT_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)
 
#define INTCSR_DMA_0_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,21,21)
 
#define INTCSR_DMA_0_IRQ_ENABLE   GSC_FIELD_ENCODE(1,18,18)
 
#define INTCSR_DMA_1_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,22,22)
 
#define INTCSR_DMA_1_IRQ_ENABLE   GSC_FIELD_ENCODE(1,19,19)
 
#define INTCSR_LOCAL_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,15,15)
 
#define INTCSR_LOCAL_IRQ_ENABLE   GSC_FIELD_ENCODE(1,11,11)
 
#define INTCSR_LOCAL_IRQ_OUTPUT_ENABLE   GSC_FIELD_ENCODE(1,16,16)
 
#define INTCSR_PCI_DOORBELL_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,13,13)
 
#define INTCSR_PCI_DOORBELL_IRQ_ENABLE   GSC_FIELD_ENCODE(1, 9, 9)
 
#define INTCSR_PCI_ABORT_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,14,14)
 
#define INTCSR_PCI_ABORT_IRQ_ENABLE   GSC_FIELD_ENCODE(1,10,10)
 
#define INTCSR_BIST_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,23,23)
 
#define DMA_CSR_ENABLE   GSC_FIELD_ENCODE(1,0,0)
 
#define DMA_CSR_START   GSC_FIELD_ENCODE(1,1,1)
 
#define DMA_CSR_ABORT   GSC_FIELD_ENCODE(1,2,2)
 
#define DMA_CSR_CLEAR   GSC_FIELD_ENCODE(1,3,3)
 
#define DMA_CSR_DONE   GSC_FIELD_ENCODE(1,4,4)
 
#define DMA_DPR_DESC_LOC_PCI   GSC_FIELD_ENCODE(1,0,0)
 
#define DMA_DPR_END_OF_CHAIN   GSC_FIELD_ENCODE(1,1,1)
 
#define DMA_DPR_TERMINAL_COUNT_IRQ   GSC_FIELD_ENCODE(1,2,2)
 
#define DMA_DPR_HOST_TO_BOARD   GSC_FIELD_ENCODE(0,3,3)
 
#define DMA_DPR_BOARD_TO_HOST   GSC_FIELD_ENCODE(1,3,3)
 
#define DMA_MODE_SIZE_8_BITS   GSC_FIELD_ENCODE(0, 1, 0)
 
#define DMA_MODE_SIZE_16_BITS   GSC_FIELD_ENCODE(1, 1, 0)
 
#define DMA_MODE_SIZE_32_BITS   GSC_FIELD_ENCODE(2, 1, 0)
 
#define DMA_MODE_READY_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 6, 6)
 
#define DMA_MODE_BTERM_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 7, 7)
 
#define DMA_MODE_LOCAL_BURST_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)
 
#define DMA_MODE_CHAINING   GSC_FIELD_ENCODE(1, 9, 9)
 
#define DMA_MODE_DONE_INTERRUPT_ENABLE   GSC_FIELD_ENCODE(1,10,10)
 
#define DMA_MODE_LOCAL_ADDRESS_MODE   GSC_FIELD_ENCODE(1,11,11)
 
#define DMA_MODE_DEMAND_MODE   GSC_FIELD_ENCODE(1,12,12)
 
#define DMA_MODE_WRITE_INVALIDATE_MODE   GSC_FIELD_ENCODE(1,13,13)
 
#define DMA_MODE_EOT_ENABLE   GSC_FIELD_ENCODE(1,14,14)
 
#define DMA_MODE_STOP_TRANSFER_MODE   GSC_FIELD_ENCODE(1,15,15)
 
#define DMA_MODE_CHANNEL_INT_SELECT   GSC_FIELD_ENCODE(1,17,17)
 
#define DMA_MARBR_PRIORITY_MASK   GSC_FIELD_ENCODE(3,20,19)
 
#define DMA_MARBR_PRIORITY_ROTATE   GSC_FIELD_ENCODE(0,20,19)
 
#define DMA_MARBR_PRIORITY_DMA0   GSC_FIELD_ENCODE(1,20,19)
 
#define DMA_MARBR_PRIORITY_DMA1   GSC_FIELD_ENCODE(2,20,19)
 
#define GSC_PLX_L2PDBELL   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x64)
 
#define GSC_PLX_INTCSR   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x68)
 
#define GSC_PLX_DMAMODE0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x80)
 
#define GSC_PLX_DMAPADR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x84)
 
#define GSC_PLX_DMALADR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x88)
 
#define GSC_PLX_DMASIZ0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x8C)
 
#define GSC_PLX_DMADPR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x90)
 
#define GSC_PLX_DMAMODE1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x94)
 
#define GSC_PLX_DMAPADR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x98)
 
#define GSC_PLX_DMALADR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x9C)
 
#define GSC_PLX_DMASIZ1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xA0)
 
#define GSC_PLX_DMADPR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xA4)
 
#define GSC_PLX_DMACSR0   GSC_REG_ENCODE(GSC_REG_PLX, 1, 0xA8)
 
#define GSC_PLX_DMACSR1   GSC_REG_ENCODE(GSC_REG_PLX, 1, 0xA9)
 
#define GSC_PLX_DMAARB   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xAC)
 
#define GSC_PLX_DMATHR   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xB0)
 

Functions

int bar_info_get_ioctl (dev_data_t *dev, gsc_drv_bar_t *bar)
 
dev_bar_tbar_mmap_locate (dev_data_t *dev, u32 offset, u32 size, int *index)
 
void bar_read_all (struct pci_dev *pci, dev_bars_t *bars)
 
int bar_regions_check (dev_bars_t *bars)
 
void bar_regions_release (dev_bars_t *bars)
 
int bar_regions_request (dev_data_t *dev)
 
int close (struct inode *inode, struct file *filp)
 
int close_dev (dev_data_t *dev)
 
dev_data_tdev_locate (struct inode *inode)
 
int dev_os_id_device (struct pci_dev *pci)
 
void dma_channel_init (dev_data_t *dev, dev_dma_t *dma, int index)
 
void dma_channel_reset (dev_dma_t *dma)
 
int dma_abort (dev_dma_t *dma)
 
int dma_abort_ioctl (dev_data_t *dev, gsc_drv_dma_t *dma)
 
int dma_close_ioctl (dev_data_t *dev, gsc_drv_dma_t *dma)
 
int dma_open_ioctl (dev_data_t *dev, gsc_drv_dma_t *dma)
 
void dma_sgl_user_mem_init (dev_dma_t *dma)
 
int dma_sgl_user_mem_map (dev_dma_t *dma, gsc_drv_dma_t *xfer)
 
void dma_sgl_user_mem_reset (dev_dma_t *dma)
 
void dma_sgl_user_mem_unmap (dev_dma_t *dma)
 
int dma_status_ioctl (dev_data_t *dev, gsc_drv_dma_t *dma)
 
int dma_transfer_ioctl (dev_data_t *dev, gsc_drv_dma_t *xfer)
 
int ioctl_init (void)
 
void irq_release (dev_data_t *dev)
 
int irq_request (dev_data_t *dev)
 
int irq_disable_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int irq_enable_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int irq_notify_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int irq_status_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int irq_isr_common (int irq, void *dev_id)
 
int irq_wait_cancel_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int irq_wait_ioctl (dev_data_t *dev, gsc_drv_irq_t *irq)
 
int mem_alloc_ioctl (dev_data_t *dev, gsc_drv_mem_t *mem)
 
dev_mem_tmem_dma_locate (dev_pid_t *pid, u32 address)
 
int mem_free_ioctl (dev_data_t *dev, gsc_drv_mem_t *mem)
 
int mem_info_ioctl (dev_data_t *dev, gsc_drv_mem_t *mem)
 
dev_mem_tmem_mmap_locate (dev_pid_t *pid, u32 offset, u32 size, int exact)
 
int mmap (struct file *filp, struct vm_area_struct *vma)
 
void mmap_setup (void)
 
int open (struct inode *inode, struct file *filp)
 
int pid_add (dev_data_t *dev)
 
dev_pid_tpid_locate (dev_data_t *dev)
 
int pid_remove (dev_data_t *dev)
 
int proc_start (void)
 
void proc_stop (void)
 
int reg_mod_ioctl (dev_data_t *dev, gsc_drv_reg_t *reg)
 
int reg_read_ioctl (dev_data_t *dev, gsc_drv_reg_t *reg)
 
VADDR_T reg_vaddr (dev_data_t *dev, unsigned long reg)
 
int reg_write_ioctl (dev_data_t *dev, gsc_drv_reg_t *reg)
 
int ioctl (struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)
 
int mmap_mem_compute_settings (dev_data_t *dev, dev_pid_t *pid, dev_mem_t *mem)
 
void mmap_nopage_common (struct vm_area_struct *vma, unsigned long address, struct page **page)
 
int proc_read (char *page, char **start, off_t offset, int count, int *eof, void *data)
 

Variables

dev_global_t global
 

Macro Definition Documentation

◆ BYTES_TO_PAGE_BYTES

#define BYTES_TO_PAGE_BYTES (   b)    ROUND_UP_BOUNDARY((b), PAGE_SIZE)

◆ DMA_CSR_ABORT

#define DMA_CSR_ABORT   GSC_FIELD_ENCODE(1,2,2)

◆ DMA_CSR_CLEAR

#define DMA_CSR_CLEAR   GSC_FIELD_ENCODE(1,3,3)

◆ DMA_CSR_DONE

#define DMA_CSR_DONE   GSC_FIELD_ENCODE(1,4,4)

◆ DMA_CSR_ENABLE

#define DMA_CSR_ENABLE   GSC_FIELD_ENCODE(1,0,0)

◆ DMA_CSR_START

#define DMA_CSR_START   GSC_FIELD_ENCODE(1,1,1)

◆ DMA_DPR_BOARD_TO_HOST

#define DMA_DPR_BOARD_TO_HOST   GSC_FIELD_ENCODE(1,3,3)

◆ DMA_DPR_DESC_LOC_PCI

#define DMA_DPR_DESC_LOC_PCI   GSC_FIELD_ENCODE(1,0,0)

◆ DMA_DPR_END_OF_CHAIN

#define DMA_DPR_END_OF_CHAIN   GSC_FIELD_ENCODE(1,1,1)

◆ DMA_DPR_HOST_TO_BOARD

#define DMA_DPR_HOST_TO_BOARD   GSC_FIELD_ENCODE(0,3,3)

◆ DMA_DPR_TERMINAL_COUNT_IRQ

#define DMA_DPR_TERMINAL_COUNT_IRQ   GSC_FIELD_ENCODE(1,2,2)

◆ DMA_MARBR_PRIORITY_DMA0

#define DMA_MARBR_PRIORITY_DMA0   GSC_FIELD_ENCODE(1,20,19)

◆ DMA_MARBR_PRIORITY_DMA1

#define DMA_MARBR_PRIORITY_DMA1   GSC_FIELD_ENCODE(2,20,19)

◆ DMA_MARBR_PRIORITY_MASK

#define DMA_MARBR_PRIORITY_MASK   GSC_FIELD_ENCODE(3,20,19)

◆ DMA_MARBR_PRIORITY_ROTATE

#define DMA_MARBR_PRIORITY_ROTATE   GSC_FIELD_ENCODE(0,20,19)

◆ DMA_MODE_BTERM_INPUT_ENABLE

#define DMA_MODE_BTERM_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 7, 7)

◆ DMA_MODE_CHAINING

#define DMA_MODE_CHAINING   GSC_FIELD_ENCODE(1, 9, 9)

◆ DMA_MODE_CHANNEL_INT_SELECT

#define DMA_MODE_CHANNEL_INT_SELECT   GSC_FIELD_ENCODE(1,17,17)

◆ DMA_MODE_DEMAND_MODE

#define DMA_MODE_DEMAND_MODE   GSC_FIELD_ENCODE(1,12,12)

◆ DMA_MODE_DONE_INTERRUPT_ENABLE

#define DMA_MODE_DONE_INTERRUPT_ENABLE   GSC_FIELD_ENCODE(1,10,10)

◆ DMA_MODE_EOT_ENABLE

#define DMA_MODE_EOT_ENABLE   GSC_FIELD_ENCODE(1,14,14)

◆ DMA_MODE_LOCAL_ADDRESS_MODE

#define DMA_MODE_LOCAL_ADDRESS_MODE   GSC_FIELD_ENCODE(1,11,11)

◆ DMA_MODE_LOCAL_BURST_ENABLE

#define DMA_MODE_LOCAL_BURST_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)

◆ DMA_MODE_READY_INPUT_ENABLE

#define DMA_MODE_READY_INPUT_ENABLE   GSC_FIELD_ENCODE(1, 6, 6)

◆ DMA_MODE_SIZE_16_BITS

#define DMA_MODE_SIZE_16_BITS   GSC_FIELD_ENCODE(1, 1, 0)

◆ DMA_MODE_SIZE_32_BITS

#define DMA_MODE_SIZE_32_BITS   GSC_FIELD_ENCODE(2, 1, 0)

◆ DMA_MODE_SIZE_8_BITS

#define DMA_MODE_SIZE_8_BITS   GSC_FIELD_ENCODE(0, 1, 0)

◆ DMA_MODE_STOP_TRANSFER_MODE

#define DMA_MODE_STOP_TRANSFER_MODE   GSC_FIELD_ENCODE(1,15,15)

◆ DMA_MODE_WRITE_INVALIDATE_MODE

#define DMA_MODE_WRITE_INVALIDATE_MODE   GSC_FIELD_ENCODE(1,13,13)

◆ GSC_PLX_DMAARB

#define GSC_PLX_DMAARB   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xAC)

◆ GSC_PLX_DMACSR0

#define GSC_PLX_DMACSR0   GSC_REG_ENCODE(GSC_REG_PLX, 1, 0xA8)

◆ GSC_PLX_DMACSR1

#define GSC_PLX_DMACSR1   GSC_REG_ENCODE(GSC_REG_PLX, 1, 0xA9)

◆ GSC_PLX_DMADPR0

#define GSC_PLX_DMADPR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x90)

◆ GSC_PLX_DMADPR1

#define GSC_PLX_DMADPR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xA4)

◆ GSC_PLX_DMALADR0

#define GSC_PLX_DMALADR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x88)

◆ GSC_PLX_DMALADR1

#define GSC_PLX_DMALADR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x9C)

◆ GSC_PLX_DMAMODE0

#define GSC_PLX_DMAMODE0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x80)

◆ GSC_PLX_DMAMODE1

#define GSC_PLX_DMAMODE1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x94)

◆ GSC_PLX_DMAPADR0

#define GSC_PLX_DMAPADR0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x84)

◆ GSC_PLX_DMAPADR1

#define GSC_PLX_DMAPADR1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x98)

◆ GSC_PLX_DMASIZ0

#define GSC_PLX_DMASIZ0   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x8C)

◆ GSC_PLX_DMASIZ1

#define GSC_PLX_DMASIZ1   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xA0)

◆ GSC_PLX_DMATHR

#define GSC_PLX_DMATHR   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0xB0)

◆ GSC_PLX_INTCSR

#define GSC_PLX_INTCSR   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x68)

◆ GSC_PLX_L2PDBELL

#define GSC_PLX_L2PDBELL   GSC_REG_ENCODE(GSC_REG_PLX, 4, 0x64)

◆ INTCSR_BIST_IRQ_ACTIVE

#define INTCSR_BIST_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,23,23)

◆ INTCSR_DMA_0_IRQ_ACTIVE

#define INTCSR_DMA_0_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,21,21)

◆ INTCSR_DMA_0_IRQ_ENABLE

#define INTCSR_DMA_0_IRQ_ENABLE   GSC_FIELD_ENCODE(1,18,18)

◆ INTCSR_DMA_1_IRQ_ACTIVE

#define INTCSR_DMA_1_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,22,22)

◆ INTCSR_DMA_1_IRQ_ENABLE

#define INTCSR_DMA_1_IRQ_ENABLE   GSC_FIELD_ENCODE(1,19,19)

◆ INTCSR_LOCAL_IRQ_ACTIVE

#define INTCSR_LOCAL_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,15,15)

◆ INTCSR_LOCAL_IRQ_ENABLE

#define INTCSR_LOCAL_IRQ_ENABLE   GSC_FIELD_ENCODE(1,11,11)

◆ INTCSR_LOCAL_IRQ_OUTPUT_ENABLE

#define INTCSR_LOCAL_IRQ_OUTPUT_ENABLE   GSC_FIELD_ENCODE(1,16,16)

◆ INTCSR_PCI_ABORT_IRQ_ACTIVE

#define INTCSR_PCI_ABORT_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,14,14)

◆ INTCSR_PCI_ABORT_IRQ_ENABLE

#define INTCSR_PCI_ABORT_IRQ_ENABLE   GSC_FIELD_ENCODE(1,10,10)

◆ INTCSR_PCI_DOORBELL_IRQ_ACTIVE

#define INTCSR_PCI_DOORBELL_IRQ_ACTIVE   GSC_FIELD_ENCODE(1,13,13)

◆ INTCSR_PCI_DOORBELL_IRQ_ENABLE

#define INTCSR_PCI_DOORBELL_IRQ_ENABLE   GSC_FIELD_ENCODE(1, 9, 9)

◆ INTCSR_PCI_INT_ENABLE

#define INTCSR_PCI_INT_ENABLE   GSC_FIELD_ENCODE(1, 8, 8)

◆ MAX_DEVICES

#define MAX_DEVICES   32

◆ ROUND_TO_PAGE_BOUNDARY

#define ROUND_TO_PAGE_BOUNDARY (   p)    ROUND_UP_BOUNDARY((u32)(p), PAGE_SIZE)

◆ ROUND_UP_BOUNDARY

#define ROUND_UP_BOUNDARY (   by,
  bl 
)    ((((by) + (bl) - 1) / (bl)) * (bl))

Function Documentation

◆ bar_info_get_ioctl()

int bar_info_get_ioctl ( dev_data_t dev,
gsc_drv_bar_t bar 
)

◆ bar_mmap_locate()

dev_bar_t* bar_mmap_locate ( dev_data_t dev,
u32  offset,
u32  size,
int *  index 
)

◆ bar_read_all()

void bar_read_all ( struct pci_dev *  pci,
dev_bars_t bars 
)

◆ bar_regions_check()

int bar_regions_check ( dev_bars_t bars)

◆ bar_regions_release()

void bar_regions_release ( dev_bars_t bars)

◆ bar_regions_request()

int bar_regions_request ( dev_data_t dev)

◆ close()

int close ( struct inode *  inode,
struct file *  filp 
)

◆ close_dev()

int close_dev ( dev_data_t dev)

◆ dev_locate()

dev_data_t* dev_locate ( struct inode *  inode)

◆ dev_os_id_device()

int dev_os_id_device ( struct pci_dev *  pci)

◆ dma_abort()

int dma_abort ( dev_dma_t dma)

◆ dma_abort_ioctl()

int dma_abort_ioctl ( dev_data_t dev,
gsc_drv_dma_t dma 
)

◆ dma_channel_init()

void dma_channel_init ( dev_data_t dev,
dev_dma_t dma,
int  index 
)

◆ dma_channel_reset()

void dma_channel_reset ( dev_dma_t dma)

◆ dma_close_ioctl()

int dma_close_ioctl ( dev_data_t dev,
gsc_drv_dma_t dma 
)

◆ dma_open_ioctl()

int dma_open_ioctl ( dev_data_t dev,
gsc_drv_dma_t dma 
)

◆ dma_sgl_user_mem_init()

void dma_sgl_user_mem_init ( dev_dma_t dma)

◆ dma_sgl_user_mem_map()

int dma_sgl_user_mem_map ( dev_dma_t dma,
gsc_drv_dma_t xfer 
)

◆ dma_sgl_user_mem_reset()

void dma_sgl_user_mem_reset ( dev_dma_t dma)

◆ dma_sgl_user_mem_unmap()

void dma_sgl_user_mem_unmap ( dev_dma_t dma)

◆ dma_status_ioctl()

int dma_status_ioctl ( dev_data_t dev,
gsc_drv_dma_t dma 
)

◆ dma_transfer_ioctl()

int dma_transfer_ioctl ( dev_data_t dev,
gsc_drv_dma_t xfer 
)

◆ ioctl()

int ioctl ( struct inode *  inode,
struct file *  filp,
unsigned int  cmd,
unsigned long  arg 
)

◆ ioctl_init()

int ioctl_init ( void  )

◆ irq_disable_ioctl()

int irq_disable_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ irq_enable_ioctl()

int irq_enable_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ irq_isr_common()

int irq_isr_common ( int  irq,
void *  dev_id 
)

◆ irq_notify_ioctl()

int irq_notify_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ irq_release()

void irq_release ( dev_data_t dev)

◆ irq_request()

int irq_request ( dev_data_t dev)

◆ irq_status_ioctl()

int irq_status_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ irq_wait_cancel_ioctl()

int irq_wait_cancel_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ irq_wait_ioctl()

int irq_wait_ioctl ( dev_data_t dev,
gsc_drv_irq_t irq 
)

◆ mem_alloc_ioctl()

int mem_alloc_ioctl ( dev_data_t dev,
gsc_drv_mem_t mem 
)

◆ mem_dma_locate()

dev_mem_t* mem_dma_locate ( dev_pid_t pid,
u32  address 
)

◆ mem_free_ioctl()

int mem_free_ioctl ( dev_data_t dev,
gsc_drv_mem_t mem 
)

◆ mem_info_ioctl()

int mem_info_ioctl ( dev_data_t dev,
gsc_drv_mem_t mem 
)

◆ mem_mmap_locate()

dev_mem_t* mem_mmap_locate ( dev_pid_t pid,
u32  offset,
u32  size,
int  exact 
)

◆ mmap()

int mmap ( struct file *  filp,
struct vm_area_struct *  vma 
)

◆ mmap_mem_compute_settings()

int mmap_mem_compute_settings ( dev_data_t dev,
dev_pid_t pid,
dev_mem_t mem 
)

◆ mmap_nopage_common()

void mmap_nopage_common ( struct vm_area_struct *  vma,
unsigned long  address,
struct page **  page 
)

◆ mmap_setup()

void mmap_setup ( void  )

◆ open()

int open ( struct inode *  inode,
struct file *  filp 
)

◆ pid_add()

int pid_add ( dev_data_t dev)

◆ pid_locate()

dev_pid_t* pid_locate ( dev_data_t dev)

◆ pid_remove()

int pid_remove ( dev_data_t dev)

◆ proc_read()

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

◆ proc_start()

int proc_start ( void  )

◆ proc_stop()

void proc_stop ( void  )

◆ reg_mod_ioctl()

int reg_mod_ioctl ( dev_data_t dev,
gsc_drv_reg_t reg 
)

◆ reg_read_ioctl()

int reg_read_ioctl ( dev_data_t dev,
gsc_drv_reg_t reg 
)

◆ reg_vaddr()

VADDR_T reg_vaddr ( dev_data_t dev,
unsigned long  reg 
)

◆ reg_write_ioctl()

int reg_write_ioctl ( dev_data_t dev,
gsc_drv_reg_t reg 
)

Variable Documentation

◆ global

dev_global_t global