AlcapDAQ
1
|
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/ioctl.h>
#include <linux/mm.h>
#include <linux/poll.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/ioport.h>
#include <linux/errno.h>
#include <linux/dma-mapping.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/segment.h>
#include "vmedrv.h"
#include "vmedrv_params.h"
#include "vmedrv_conf.h"
Go to the source code of this file.
Data Structures | |
struct | interrupt_client_t |
struct | local_interrupt_client_t |
struct | bit3_config_t |
struct | dev_prop_t |
Macros | |
#define | TRACE_CONFIG 1 |
#define | DEBUG_CONFIG(x) x |
#define | DEBUG_PIO(x) |
#define | DEBUG_MAP(x) |
#define | DEBUG_INT(x) |
#define | DEBUG_DMA(x) |
Functions | |
MODULE_LICENSE ("GPL") | |
MODULE_AUTHOR ("Enomoto Sanshiro") | |
MODULE_DESCRIPTION ("VME Driver for SBS (Bit3) 617/618/620 Bus Bridge") | |
static int | vmedrv_open (struct inode *inode, struct file *filep) |
static int | vmedrv_release (struct inode *inode, struct file *filep) |
static ssize_t | vmedrv_read (struct file *filep, char *buf, size_t count, loff_t *f_pos) |
static ssize_t | vmedrv_write (struct file *filep, const char *buf, size_t count, loff_t *f_pos) |
static loff_t | vmedrv_lseek (struct file *filep, loff_t offset, int whence) |
static long | vmedrv_unlocked_ioctl (struct file *filep, unsigned int cmd, unsigned long arg) |
static int | vmedrv_mmap (struct file *filep, struct vm_area_struct *vma) |
static unsigned int | vmedrv_poll (struct file *filep, poll_table *table) |
static irqreturn_t | vmedrv_interrupt (int irq, void *dev_id) |
static int | vmedrv_pci_probe (struct pci_dev *dev, const struct pci_device_id *id) |
static void | vmedrv_pci_remove (struct pci_dev *dev) |
static int | initialize (void) |
static int | set_access_mode (struct dev_prop_t *dev_prop, int mode) |
static int | set_transfer_method (struct dev_prop_t *dev_prop, int method) |
static int | probe (struct dev_prop_t *dev_prop, __user vmedrv_word_access_t *word_access) |
static int | pio_read (struct dev_prop_t *dev_prop, char *buf, unsigned long vme_address, int count) |
static int | pio_write (struct dev_prop_t *dev_prop, const char *buf, unsigned long vme_address, int count) |
static int | prepare_pio (struct dev_prop_t *dev_prop) |
static int | allocate_windows (int number_of_windows) |
static void | free_windows (int window_index, int number_of_windows) |
static void * | map_windows (unsigned vme_address, unsigned window_index, unsigned number_of_windows, unsigned flags) |
static int | enable_normal_interrupt (void) |
static int | disable_normal_interrupt (void) |
static int | enable_error_interrupt (void) |
static int | disable_error_interrupt (void) |
static void | save_interrupt_flags (void) |
static void | restore_interrupt_flags (void) |
static int | acknowledge_error_interrupt (unsigned local_status) |
static int | acknowledge_pt_interrupt (unsigned local_status) |
static int | acknowledge_dma_interrupt (unsigned dma_status) |
static int | acknowledge_pr_interrupt (unsigned remote_status) |
static int | acknowledge_vme_interrupt (unsigned interrupt_status) |
static int | register_interrupt_notification (struct dev_prop_t *dev_prop, struct task_struct *task, int irq, int vector, int signal_id) |
static int | unregister_interrupt_notification (struct dev_prop_t *dev_prop, struct task_struct *task, int irq, int vector) |
static int | wait_for_interrupt_notification (struct task_struct *task, int irq, int vector, int timeout) |
static int | check_interrupt_notification (int irq, int vector) |
static int | clear_interrupt_notification (int irq, int vector) |
static int | set_interrupt_autodisable (int irq, int vector) |
static int | set_vector_mask (int irq, int vector, int vector_mask) |
static int | reset_adapter (void) |
static int | dma_read (struct dev_prop_t *dev_prop, char *buf, unsigned long vme_adress, int count) |
static int | dma_write (struct dev_prop_t *dev_prop, const char *buf, unsigned long vme_adress, int count) |
static int | prepare_dma (struct dev_prop_t *dev_prop) |
static int | start_dma (struct dev_prop_t *dev_prop, unsigned long pci_address, unsigned long vme_address, unsigned long size, int direction) |
static void * | allocate_dma_buffer (unsigned long size) |
static void | release_dma_buffer (void) |
static unsigned | map_dma_windows (unsigned pci_address, unsigned size, unsigned dma_flags) |
static int | initiate_dma (struct dev_prop_t *dev_prop, unsigned mapped_pci_address, unsigned vme_address, unsigned size, int direction) |
static int | release_dma (void) |
static int __init | vmedrv_initialize_module (void) |
static void __exit | vmedrv_cleanup_module (void) |
module_init (vmedrv_initialize_module) | |
module_exit (vmedrv_cleanup_module) | |
Variables | |
static struct file_operations | vmedrv_fops |
static struct pci_driver | vmedrv_pci_driver |
static wait_queue_head_t | vmedrv_dmadone_wait_queue |
static wait_queue_head_t | vmedrv_vmebusirq_wait_queue |
static int | is_dma_running |
static int | module_open_count |
static int | bit3_card_count = 0 |
static int | error_interrupt_count |
static int | local_status_on_error |
static dev_t | dev |
static struct cdev | cdev |
static struct bit3_config_t | bit3 |
#define DEBUG_CONFIG | ( | x) | x |
Definition at line 10 of file vmedrv.c.
Referenced by initialize(), and set_transfer_method().
#define DEBUG_DMA | ( | x) |
Definition at line 36 of file vmedrv.c.
Referenced by acknowledge_dma_interrupt(), allocate_dma_buffer(), initiate_dma(), map_dma_windows(), release_dma(), release_dma_buffer(), and start_dma().
#define DEBUG_INT | ( | x) |
Definition at line 30 of file vmedrv.c.
Referenced by acknowledge_dma_interrupt(), acknowledge_pr_interrupt(), acknowledge_pt_interrupt(), acknowledge_vme_interrupt(), disable_normal_interrupt(), enable_normal_interrupt(), register_interrupt_notification(), restore_interrupt_flags(), save_interrupt_flags(), unregister_interrupt_notification(), and vmedrv_interrupt().
#define DEBUG_MAP | ( | x) |
Definition at line 24 of file vmedrv.c.
Referenced by vmedrv_mmap().
#define DEBUG_PIO | ( | x) |
Definition at line 18 of file vmedrv.c.
Referenced by prepare_pio().
|
static |
Definition at line 1468 of file vmedrv.c.
References bit3, DEBUG_DMA, DEBUG_INT, iowrite8, is_dma_running, bit3_config_t::mapped_node_io_base, regDMA_COMMAND, and vmedrv_dmadone_wait_queue.
Referenced by vmedrv_interrupt().
|
static |
Definition at line 1428 of file vmedrv.c.
References bit3, error_interrupt_count, ioread8, iowrite8, lcCLEAR_STATUS, local_status_on_error, lsINTERFACE_PARITY_ERROR, lsINTERFACE_TIMEOUT, lsREMOTE_BUS_ERROR, lsREMOTE_BUS_POWER_OFF, bit3_config_t::mapped_node_io_base, regLOCAL_COMMAND, regREMOTE_STATUS, and vmedrv_name.
Referenced by vmedrv_interrupt().
|
static |
Definition at line 1484 of file vmedrv.c.
References bit3, DEBUG_INT, iowrite8, bit3_config_t::mapped_node_io_base, rcCLEAR_PT_INTERRUPT, and regREMOTE_COMMAND_1.
Referenced by vmedrv_interrupt().
|
static |
Definition at line 1458 of file vmedrv.c.
References bit3, DEBUG_INT, iowrite8, lcCLEAR_PR_INTERRUPT, bit3_config_t::mapped_node_io_base, and regLOCAL_COMMAND.
Referenced by vmedrv_interrupt().
|
static |
Definition at line 1497 of file vmedrv.c.
References interrupt_client_t::autodisable_flag, bit3, DEBUG_INT, disable_normal_interrupt(), bit3_config_t::interrupt_client_list, interrupt_client_t::interrupt_count, ioread16, iowrite8, irq, bit3_config_t::mapped_node_io_base, interrupt_client_t::next, regIACK_READ, regREMOTE_COMMAND_1, interrupt_client_t::signal_id, interrupt_client_t::task, interrupt_client_t::vector, interrupt_client_t::vector_mask, vmedrv_vmebusirq_wait_queue, and vmeNUMBER_OF_IRQ_LINES.
Referenced by vmedrv_interrupt().
|
static |
Definition at line 1926 of file vmedrv.c.
References bit3, bit3_DMA_MAPPING_SIZE, DEBUG_DMA, bit3_config_t::dma_buffer, bit3_config_t::dma_buffer_bus_address, bit3_config_t::dma_buffer_size, bit3_config_t::pci_dev, and size.
Referenced by prepare_dma().
|
static |
Definition at line 1280 of file vmedrv.c.
References bit3, bit3_NUMBER_OF_WINDOWS, i, and bit3_config_t::window_status_table.
Referenced by prepare_pio(), and vmedrv_mmap().
|
static |
Definition at line 1706 of file vmedrv.c.
References bit3, bit3_config_t::interrupt_client_list, interrupt_client_t::interrupt_count, irq, interrupt_client_t::next, and interrupt_client_t::vector.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1724 of file vmedrv.c.
References bit3, bit3_config_t::interrupt_client_list, interrupt_client_t::interrupt_count, irq, interrupt_client_t::next, and interrupt_client_t::vector.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1389 of file vmedrv.c.
References bit3, icERROR_INTERRUPT_ENABLE, bit3_config_t::interrupt_enabling_flags, iowrite8, bit3_config_t::mapped_node_io_base, and regINTERRUPT_CONTROL.
Referenced by vmedrv_release(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 1363 of file vmedrv.c.
References bit3, DEBUG_INT, icNORMAL_INTERRUPT_ENABLE, bit3_config_t::interrupt_enabling_flags, iowrite8, bit3_config_t::mapped_node_io_base, and regINTERRUPT_CONTROL.
Referenced by acknowledge_vme_interrupt(), vmedrv_release(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 1782 of file vmedrv.c.
References bit3, count, bit3_config_t::dma_buffer, bit3_config_t::dma_buffer_mapped_pci_address, bit3_config_t::dma_buffer_size, bit3_config_t::pci_dev, prepare_dma(), size, start_dma(), and tdREAD.
Referenced by vmedrv_read().
|
static |
Definition at line 1821 of file vmedrv.c.
References bit3, count, bit3_config_t::dma_buffer, bit3_config_t::dma_buffer_mapped_pci_address, bit3_config_t::dma_buffer_size, bit3_config_t::pci_dev, prepare_dma(), size, start_dma(), and tdWRITE.
Referenced by vmedrv_write().
|
static |
Definition at line 1377 of file vmedrv.c.
References bit3, icERROR_INTERRUPT_ENABLE, bit3_config_t::interrupt_enabling_flags, iowrite8, bit3_config_t::mapped_node_io_base, and regINTERRUPT_CONTROL.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1349 of file vmedrv.c.
References bit3, DEBUG_INT, icNORMAL_INTERRUPT_ENABLE, bit3_config_t::interrupt_enabling_flags, iowrite8, bit3_config_t::mapped_node_io_base, and regINTERRUPT_CONTROL.
Referenced by initiate_dma(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 1315 of file vmedrv.c.
References bit3, i, and bit3_config_t::window_status_table.
Referenced by vmedrv_release().
|
static |
Definition at line 913 of file vmedrv.c.
References bit3, bit3_DMA_MAPPING_REGISTERS_BASE_OFFSET, bit3_MAPPED_NODE_IO_BASE_INDEX, bit3_MAPPED_NODE_IO_SIZE, bit3_MAPPING_REGISTERS_BASE_INDEX, bit3_MAPPING_REGISTERS_SIZE, bit3_WINDOW_REGION_BASE_INDEX, bit3_WINDOW_REGION_SIZE, DEBUG_CONFIG, bit3_config_t::dma_mapping_registers_base, bit3_config_t::io_node_io_base, ioread8, iowrite8, lcCLEAR_STATUS, lsERROR_BITS, lsINTERFACE_PARITY_ERROR, lsINTERFACE_TIMEOUT, lsLRC_ERROR, lsRECEIVING_PR_INTERRUPT, lsREMOTE_BUS_ERROR, lsREMOTE_BUS_POWER_OFF, bit3_config_t::mapped_node_io_base, bit3_config_t::mapping_registers_base, bit3_config_t::pci_dev, bit3_config_t::physical_window_region_base, regADAPTER_ID, regLOCAL_COMMAND, regLOCAL_STATUS, regREMOTE_STATUS, status, vmedrv_name, and bit3_config_t::window_region_base.
Referenced by vmedrv_open().
|
static |
Definition at line 2013 of file vmedrv.c.
References dev_prop_t::address_modifier, bit3, bit3_DMA_PACKET_SIZE, dev_prop_t::data_width, dcDMA_TRANSFER_DIRECTION_READ, dcDMA_TRANSFER_DIRECTION_WRITE, dcDMA_WORD_LONGWORD_SELECT_LONGWORD, dcDMA_WORD_LONGWORD_SELECT_WORD, dcENABLE_DMA_DONE_INTERRUPT, dcSTART_DMA, DEBUG_DMA, dev_prop_t::dma_address_modifier, dwWORD, enable_normal_interrupt(), iowrite8, is_dma_running, bit3_config_t::mapped_node_io_base, rcBLOCK_MODE_DMA, rcDISABLE_INTERRUPT_PASSING, regADDRESS_MODIFIER, regDMA_COMMAND, regDMA_PACKET_COUNT_0_7, regDMA_PACKET_COUNT_8_15, regDMA_PCI_ADDRESS_16_23, regDMA_PCI_ADDRESS_2_7, regDMA_PCI_ADDRESS_8_15, regDMA_REMAINDER_COUNT, regDMA_REMOTE_REMAINDER_COUNT, regDMA_VME_ADDRESS_0_7, regDMA_VME_ADDRESS_16_23, regDMA_VME_ADDRESS_24_31, regDMA_VME_ADDRESS_8_15, regREMOTE_COMMAND_2, save_interrupt_flags(), tdREAD, tmDMA, and dev_prop_t::transfer_method.
Referenced by start_dma().
|
static |
Definition at line 1965 of file vmedrv.c.
References bit3, bit3_DMA_MAPPING_REGISTER_INDEX_SHIFT, bit3_DMA_MAPPING_REGISTER_WIDTH, bit3_DMA_PAGE_BASE_MASK, bit3_DMA_PAGE_OFFSET_MASK, bit3_DMA_WINDOW_SIZE, DEBUG_DMA, bit3_config_t::dma_mapping_registers_base, i, and iowrite32.
Referenced by prepare_dma().
|
static |
Definition at line 1324 of file vmedrv.c.
References bit3, bit3_MAPPING_REGISTER_WIDTH, bit3_PAGE_BASE_MASK, bit3_PAGE_OFFSET_MASK, bit3_WINDOW_SIZE, i, iowrite32, bit3_config_t::mapping_registers_base, and bit3_config_t::window_region_base.
Referenced by pio_read(), pio_write(), and vmedrv_mmap().
MODULE_AUTHOR | ( | "Enomoto Sanshiro" | ) |
MODULE_DESCRIPTION | ( | "VME Driver for SBS (Bit3) 617/618/620 Bus Bridge" | ) |
module_exit | ( | vmedrv_cleanup_module | ) |
module_init | ( | vmedrv_initialize_module | ) |
MODULE_LICENSE | ( | "GPL" | ) |
|
static |
Definition at line 1096 of file vmedrv.c.
References bit3, bit3_PAGE_OFFSET_MASK, bit3_WINDOW_SIZE, count, dev_prop_t::data_width, dwLONG, dwWORD, ioread16, ioread32, ioread8, iowrite8, lcCLEAR_STATUS, lsERROR_BITS, lsINTERFACE_TIMEOUT, map_windows(), bit3_config_t::mapped_node_io_base, dev_prop_t::mapping_flags, dev_prop_t::number_of_pio_windows, dev_prop_t::pio_buffer, PIO_BUFFER_SIZE, dev_prop_t::pio_window_index, prepare_pio(), regLOCAL_COMMAND, regLOCAL_STATUS, size, status, and vmedrv_name.
Referenced by probe(), and vmedrv_read().
|
static |
Definition at line 1171 of file vmedrv.c.
References bit3, bit3_PAGE_OFFSET_MASK, bit3_WINDOW_SIZE, count, dev_prop_t::data_width, dwLONG, dwWORD, ioread8, iowrite16, iowrite32, iowrite8, lcCLEAR_STATUS, lsERROR_BITS, lsINTERFACE_TIMEOUT, map_windows(), bit3_config_t::mapped_node_io_base, dev_prop_t::mapping_flags, dev_prop_t::number_of_pio_windows, dev_prop_t::pio_buffer, PIO_BUFFER_SIZE, dev_prop_t::pio_window_index, prepare_pio(), regLOCAL_COMMAND, regLOCAL_STATUS, size, status, and vmedrv_name.
Referenced by vmedrv_write().
|
static |
Definition at line 1857 of file vmedrv.c.
References allocate_dma_buffer(), bit3, bit3_config_t::dma_buffer_bus_address, bit3_config_t::dma_buffer_mapped_pci_address, DMA_BUFFER_SIZE, bit3_config_t::dma_buffer_size, map_dma_windows(), and vmedrv_name.
Referenced by dma_read(), and dma_write().
|
static |
Definition at line 1250 of file vmedrv.c.
References allocate_windows(), DEBUG_PIO, dev_prop_t::number_of_pio_windows, dev_prop_t::pio_buffer, PIO_BUFFER_SIZE, dev_prop_t::pio_window_index, PIO_WINDOW_PAGES, and vmedrv_name.
Referenced by pio_read(), and pio_write().
|
static |
Definition at line 1075 of file vmedrv.c.
References pio_read().
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1551 of file vmedrv.c.
References interrupt_client_t::autodisable_flag, bit3, DEBUG_INT, local_interrupt_client_t::interrupt_client, bit3_config_t::interrupt_client_list, interrupt_client_t::interrupt_count, interrupt_client_t::irq, irq, dev_prop_t::local_interrupt_client, interrupt_client_t::next, local_interrupt_client_t::next, interrupt_client_t::signal_id, interrupt_client_t::task, interrupt_client_t::vector, interrupt_client_t::vector_mask, vmedrv_name, and vmeNUMBER_OF_IRQ_LINES.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 2133 of file vmedrv.c.
References bit3, DEBUG_DMA, ioread8, iowrite8, lcCLEAR_STATUS, bit3_config_t::mapped_node_io_base, regLOCAL_COMMAND, regLOCAL_STATUS, regREMOTE_COMMAND_2, restore_interrupt_flags(), and status.
Referenced by start_dma().
|
static |
Definition at line 1952 of file vmedrv.c.
References bit3, DEBUG_DMA, bit3_config_t::dma_buffer, bit3_config_t::dma_buffer_bus_address, bit3_config_t::dma_buffer_size, and bit3_config_t::pci_dev.
Referenced by vmedrv_cleanup_module().
|
static |
Definition at line 1771 of file vmedrv.c.
References bit3, iowrite8, bit3_config_t::mapped_node_io_base, rcRESET_ADAPTER, and regREMOTE_COMMAND_1.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1411 of file vmedrv.c.
References bit3, DEBUG_INT, bit3_config_t::interrupt_enabling_flags, iowrite8, bit3_config_t::mapped_node_io_base, regINTERRUPT_CONTROL, and bit3_config_t::saved_interrupt_flags.
Referenced by release_dma().
|
static |
Definition at line 1401 of file vmedrv.c.
References bit3, DEBUG_INT, bit3_config_t::interrupt_enabling_flags, and bit3_config_t::saved_interrupt_flags.
Referenced by initiate_dma().
|
static |
Definition at line 1008 of file vmedrv.c.
References vmedrv_config_t::address_modifier, dev_prop_t::address_modifier, bit3_AM_SHIFT, bit3_BYTESWAP_SHIFT, bit3_DMA_BYTESWAP_MASK, bit3_DMA_BYTESWAP_SHIFT, bit3_FUNCTION_SHIFT, vmedrv_config_t::byte_swapping, dev_prop_t::byte_swapping, vmedrv_config_t::data_width, dev_prop_t::data_width, vmedrv_config_t::dma_address_modifier, dev_prop_t::dma_address_modifier, dev_prop_t::dma_mapping_flags, vmedrv_config_t::function_code, dev_prop_t::function_code, dev_prop_t::mapping_flags, vmedrv_config_table, and vmedrv_NUMBER_OF_ACCESS_MODES.
Referenced by vmedrv_open(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 1740 of file vmedrv.c.
References interrupt_client_t::autodisable_flag, bit3, bit3_config_t::interrupt_client_list, irq, interrupt_client_t::next, and interrupt_client_t::vector.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1040 of file vmedrv.c.
References dev_prop_t::address_modifier, amINVALID, bit3, DEBUG_CONFIG, dev_prop_t::dma_address_modifier, bit3_config_t::is_dma_available, tmDMA, tmNBDMA, tmPIO, dev_prop_t::transfer_method, VMEDRV_DMA, VMEDRV_NBDMA, and VMEDRV_PIO.
Referenced by vmedrv_open(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 1756 of file vmedrv.c.
References bit3, bit3_config_t::interrupt_client_list, irq, interrupt_client_t::next, interrupt_client_t::vector, and interrupt_client_t::vector_mask.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 1876 of file vmedrv.c.
References bit3, DEBUG_DMA, error_interrupt_count, initiate_dma(), iowrite8, is_dma_running, local_status_on_error, lsERROR_BITS, bit3_config_t::mapped_node_io_base, regDMA_COMMAND, release_dma(), status, timeout, vmedrv_dmadone_wait_queue, and vmedrv_name.
Referenced by dma_read(), and dma_write().
|
static |
Definition at line 1592 of file vmedrv.c.
References bit3, DEBUG_INT, local_interrupt_client_t::interrupt_client, bit3_config_t::interrupt_client_list, interrupt_client_t::irq, dev_prop_t::local_interrupt_client, interrupt_client_t::next, local_interrupt_client_t::next, interrupt_client_t::task, interrupt_client_t::vector, and vmeNUMBER_OF_IRQ_LINES.
Referenced by vmedrv_release(), and vmedrv_unlocked_ioctl().
|
static |
Definition at line 334 of file vmedrv.c.
References cdev, dev, release_dma_buffer(), vmedrv_name, vmedrv_NUMBER_OF_MINOR_IDS, and vmedrv_pci_driver.
|
static |
Definition at line 251 of file vmedrv.c.
References bit3, bit3_IO_NODE_IO_BASE_INDEX, cdev, dev, bit3_config_t::dma_buffer_size, bit3_config_t::dma_mapping_registers_base, error_interrupt_count, bit3_config_t::interrupt_enabling_flags, bit3_config_t::io_node_io_base, bit3_config_t::irq, local_status_on_error, bit3_config_t::mapped_node_io_base, bit3_config_t::mapping_registers_base, module_open_count, bit3_config_t::pci_dev, vmedrv_dmadone_wait_queue, vmedrv_fops, vmedrv_major, vmedrv_name, vmedrv_NUMBER_OF_MINOR_IDS, vmedrv_pci_driver, vmedrv_vmebusirq_wait_queue, and bit3_config_t::window_region_base.
|
static |
Definition at line 790 of file vmedrv.c.
References acknowledge_dma_interrupt(), acknowledge_error_interrupt(), acknowledge_pr_interrupt(), acknowledge_pt_interrupt(), acknowledge_vme_interrupt(), bit3, dcDMA_DONE_FLAG, dcENABLE_DMA_DONE_INTERRUPT, DEBUG_INT, icINTERRUPT_ACTIVE, ioread8, bit3_config_t::is_dma_available, lsERROR_BITS, lsRECEIVING_PR_INTERRUPT, bit3_config_t::mapped_node_io_base, module_open_count, regDMA_COMMAND, regINTERRUPT_CONTROL, regINTERRUPT_STATUS, regLOCAL_STATUS, regREMOTE_STATUS, rsRECEIVING_PT_INTERRUPT, status, and vmedrv_name.
Referenced by vmedrv_open().
|
static |
|
static |
Definition at line 711 of file vmedrv.c.
References allocate_windows(), bit3, bit3_PAGE_OFFSET_MASK, bit3_WINDOW_SIZE, DEBUG_MAP, map_windows(), dev_prop_t::mapping_flags, dev_prop_t::mmap_window_index, dev_prop_t::number_of_mmap_windows, bit3_config_t::physical_window_region_base, remap_pfn_range, and size.
|
static |
Definition at line 351 of file vmedrv.c.
References bit3, bit3_IO_NODE_IO_SIZE, bit3_config_t::dev_id, initialize(), bit3_config_t::io_node_io_base, bit3_config_t::irq, dev_prop_t::local_interrupt_client, bit3_config_t::mapped_node_io_base, bit3_config_t::mapping_registers_base, minor_to_access_mode, minor_to_transfer_method, module_open_count, dev_prop_t::number_of_mmap_windows, dev_prop_t::number_of_pio_windows, dev_prop_t::pio_buffer, set_access_mode(), set_transfer_method(), vmedrv_interrupt(), vmedrv_name, vmedrv_NUMBER_OF_MINOR_IDS, and bit3_config_t::window_region_base.
|
static |
Definition at line 850 of file vmedrv.c.
References bit3, bit3_card_count, bit3_IO_NODE_IO_BASE_INDEX, bit3_MAPPED_NODE_IO_BASE_INDEX, bit3_MAPPING_REGISTERS_BASE_INDEX, bit3_WINDOW_REGION_BASE_INDEX, di616, bit3_config_t::is_dma_available, bit3_config_t::pci_dev, target_card_number, vmedrv_model_name_table, and vmedrv_name.
|
static |
|
static |
Definition at line 765 of file vmedrv.c.
References local_interrupt_client_t::interrupt_client, interrupt_client_t::interrupt_count, dev_prop_t::local_interrupt_client, local_interrupt_client_t::next, and vmedrv_vmebusirq_wait_queue.
|
static |
Definition at line 482 of file vmedrv.c.
References count, dev_prop_t::data_width, dma_read(), pio_read(), tmDMA, tmNBDMA, tmPIO, and dev_prop_t::transfer_method.
|
static |
Definition at line 439 of file vmedrv.c.
References bit3, bit3_IO_NODE_IO_SIZE, bit3_config_t::dev_id, disable_error_interrupt(), disable_normal_interrupt(), free_windows(), bit3_config_t::io_node_io_base, bit3_config_t::irq, bit3_config_t::mapped_node_io_base, bit3_config_t::mapping_registers_base, dev_prop_t::mmap_window_index, module_open_count, dev_prop_t::number_of_mmap_windows, dev_prop_t::number_of_pio_windows, dev_prop_t::pio_buffer, dev_prop_t::pio_window_index, unregister_interrupt_notification(), and bit3_config_t::window_region_base.
|
static |
Definition at line 606 of file vmedrv.c.
References check_interrupt_notification(), clear_interrupt_notification(), disable_error_interrupt(), disable_normal_interrupt(), enable_error_interrupt(), enable_normal_interrupt(), vmedrv_interrupt_property_t::irq, irq, probe(), register_interrupt_notification(), reset_adapter(), set_access_mode(), set_interrupt_autodisable(), set_transfer_method(), set_vector_mask(), vmedrv_interrupt_property_t::signal_id, vmedrv_interrupt_property_t::timeout, timeout, unregister_interrupt_notification(), value, vmedrv_interrupt_property_t::vector, vmedrv_interrupt_property_t::vector_mask, VMEDRV_IOC_CHECK_INTERRUPT, VMEDRV_IOC_CLEAR_INTERRUPT, VMEDRV_IOC_DISABLE_ERROR_INTERRUPT, VMEDRV_IOC_DISABLE_INTERRUPT, VMEDRV_IOC_ENABLE_ERROR_INTERRUPT, VMEDRV_IOC_ENABLE_INTERRUPT, VMEDRV_IOC_MAGIC, VMEDRV_IOC_PROBE, VMEDRV_IOC_REGISTER_INTERRUPT, VMEDRV_IOC_RESET_ADAPTER, VMEDRV_IOC_SET_ACCESS_MODE, VMEDRV_IOC_SET_INTERRUPT_AUTODISABLE, VMEDRV_IOC_SET_TRANSFER_METHOD, VMEDRV_IOC_SET_VECTOR_MASK, VMEDRV_IOC_UNREGISTER_INTERRUPT, VMEDRV_IOC_WAIT_FOR_INTERRUPT, and wait_for_interrupt_notification().
|
static |
Definition at line 531 of file vmedrv.c.
References count, dev_prop_t::data_width, dma_write(), pio_write(), tmDMA, tmNBDMA, tmPIO, and dev_prop_t::transfer_method.
|
static |
Definition at line 1660 of file vmedrv.c.
References bit3, bit3_config_t::interrupt_client_list, interrupt_client_t::interrupt_count, irq, interrupt_client_t::next, interrupt_client_t::signal_id, interrupt_client_t::task, interrupt_client_t::vector, vmedrv_name, and vmedrv_vmebusirq_wait_queue.
Referenced by vmedrv_unlocked_ioctl().
|
static |
Definition at line 248 of file vmedrv.c.
Referenced by acknowledge_dma_interrupt(), acknowledge_error_interrupt(), acknowledge_pr_interrupt(), acknowledge_pt_interrupt(), acknowledge_vme_interrupt(), allocate_dma_buffer(), allocate_windows(), check_interrupt_notification(), clear_interrupt_notification(), disable_error_interrupt(), disable_normal_interrupt(), dma_read(), dma_write(), enable_error_interrupt(), enable_normal_interrupt(), free_windows(), initialize(), initiate_dma(), map_dma_windows(), map_windows(), pio_read(), pio_write(), prepare_dma(), register_interrupt_notification(), release_dma(), release_dma_buffer(), reset_adapter(), restore_interrupt_flags(), save_interrupt_flags(), set_interrupt_autodisable(), set_transfer_method(), set_vector_mask(), start_dma(), unregister_interrupt_notification(), vmedrv_initialize_module(), vmedrv_interrupt(), vmedrv_mmap(), vmedrv_open(), vmedrv_pci_probe(), vmedrv_pci_remove(), vmedrv_release(), and wait_for_interrupt_notification().
|
static |
Definition at line 241 of file vmedrv.c.
Referenced by vmedrv_pci_probe().
|
static |
Definition at line 246 of file vmedrv.c.
Referenced by vmedrv_cleanup_module(), and vmedrv_initialize_module().
|
static |
Definition at line 245 of file vmedrv.c.
Referenced by probe_v1718(), vmedrv_cleanup_module(), and vmedrv_initialize_module().
|
static |
Definition at line 242 of file vmedrv.c.
Referenced by acknowledge_error_interrupt(), start_dma(), and vmedrv_initialize_module().
|
static |
Definition at line 239 of file vmedrv.c.
Referenced by acknowledge_dma_interrupt(), initiate_dma(), and start_dma().
|
static |
Definition at line 243 of file vmedrv.c.
Referenced by acknowledge_error_interrupt(), start_dma(), and vmedrv_initialize_module().
|
static |
Definition at line 240 of file vmedrv.c.
Referenced by vmedrv_initialize_module(), vmedrv_interrupt(), vmedrv_open(), and vmedrv_release().
|
static |
Definition at line 237 of file vmedrv.c.
Referenced by acknowledge_dma_interrupt(), start_dma(), and vmedrv_initialize_module().
|
static |
Definition at line 215 of file vmedrv.c.
Referenced by vmedrv_initialize_module().
|
static |
Definition at line 231 of file vmedrv.c.
Referenced by vmedrv_cleanup_module(), and vmedrv_initialize_module().
|
static |
Definition at line 238 of file vmedrv.c.
Referenced by acknowledge_vme_interrupt(), vmedrv_initialize_module(), vmedrv_poll(), and wait_for_interrupt_notification().