H A D | synclink_gt.c | 121 static struct slgt_info *slgt_device_list; 167 static void hdlcdev_tx_done(struct slgt_info *info); 168 static void hdlcdev_rx(struct slgt_info *info, char *buf, int size); 169 static int hdlcdev_init(struct slgt_info *info); 170 static void hdlcdev_exit(struct slgt_info *info); 239 struct slgt_info { struct 243 struct slgt_info *next_device; /* device list link */ 255 struct slgt_info *port_array[SLGT_MAX_PORTS]; 432 static __u8 rd_reg8(struct slgt_info *info, unsigned int addr); 433 static void wr_reg8(struct slgt_info *info, unsigned int addr, __u8 value); 434 static __u16 rd_reg16(struct slgt_info *info, unsigned int addr); 435 static void wr_reg16(struct slgt_info *info, unsigned int addr, __u16 value); 436 static __u32 rd_reg32(struct slgt_info *info, unsigned int addr); 437 static void wr_reg32(struct slgt_info *info, unsigned int addr, __u32 value); 439 static void msc_set_vcr(struct slgt_info *info); 441 static int startup(struct slgt_info *info); 442 static int block_til_ready(struct tty_struct *tty, struct file * filp,struct slgt_info *info); 443 static void shutdown(struct slgt_info *info); 444 static void program_hw(struct slgt_info *info); 445 static void change_params(struct slgt_info *info); 447 static int register_test(struct slgt_info *info); 448 static int irq_test(struct slgt_info *info); 449 static int loopback_test(struct slgt_info *info); 450 static int adapter_test(struct slgt_info *info); 452 static void reset_adapter(struct slgt_info *info); 453 static void reset_port(struct slgt_info *info); 454 static void async_mode(struct slgt_info *info); 455 static void sync_mode(struct slgt_info *info); 457 static void rx_stop(struct slgt_info *info); 458 static void rx_start(struct slgt_info *info); 459 static void reset_rbufs(struct slgt_info *info); 460 static void free_rbufs(struct slgt_info *info, unsigned int first, unsigned int last); 461 static void rdma_reset(struct slgt_info *info); 462 static bool rx_get_frame(struct slgt_info *info); 463 static bool rx_get_buf(struct slgt_info *info); 465 static void tx_start(struct slgt_info *info); 466 static void tx_stop(struct slgt_info *info); 467 static void tx_set_idle(struct slgt_info *info); 468 static unsigned int free_tbuf_count(struct slgt_info *info); 469 static unsigned int tbuf_bytes(struct slgt_info *info); 470 static void reset_tbufs(struct slgt_info *info); 471 static void tdma_reset(struct slgt_info *info); 472 static bool tx_load(struct slgt_info *info, const char *buf, unsigned int count); 474 static void get_signals(struct slgt_info *info); 475 static void set_signals(struct slgt_info *info); 476 static void enable_loopback(struct slgt_info *info); 477 static void set_rate(struct slgt_info *info, u32 data_rate); 479 static int bh_action(struct slgt_info *info); 481 static void bh_transmit(struct slgt_info *info); 482 static void isr_serial(struct slgt_info *info); 483 static void isr_rdma(struct slgt_info *info); 484 static void isr_txeom(struct slgt_info *info, unsigned short status); 485 static void isr_tdma(struct slgt_info *info); 487 static int alloc_dma_bufs(struct slgt_info *info); 488 static void free_dma_bufs(struct slgt_info *info); 489 static int alloc_desc(struct slgt_info *info); 490 static void free_desc(struct slgt_info *info); 491 static int alloc_bufs(struct slgt_info *info, struct slgt_desc *bufs, int count); 492 static void free_bufs(struct slgt_info *info, struct slgt_desc *bufs, int count); 494 static int alloc_tmp_rbuf(struct slgt_info *info); 495 static void free_tmp_rbuf(struct slgt_info *info); 503 static int get_stats(struct slgt_info *info, struct mgsl_icount __user *user_icount); 504 static int get_params(struct slgt_info *info, MGSL_PARAMS __user *params); 505 static int set_params(struct slgt_info *info, MGSL_PARAMS __user *params); 506 static int get_txidle(struct slgt_info *info, int __user *idle_mode); 507 static int set_txidle(struct slgt_info *info, int idle_mode); 508 static int tx_enable(struct slgt_info *info, int enable); 509 static int tx_abort(struct slgt_info *info); 510 static int rx_enable(struct slgt_info *info, int enable); 511 static int modem_input_wait(struct slgt_info *info,int arg); 512 static int wait_mgsl_event(struct slgt_info *info, int __user *mask_ptr); 517 static int get_interface(struct slgt_info *info, int __user *if_mode); 518 static int set_interface(struct slgt_info *info, int if_mode); 519 static int set_gpio(struct slgt_info *info, struct gpio_desc __user *gpio); 520 static int get_gpio(struct slgt_info *info, struct gpio_desc __user *gpio); 521 static int wait_gpio(struct slgt_info *info, struct gpio_desc __user *gpio); 522 static int get_xsync(struct slgt_info *info, int __user *if_mode); 523 static int set_xsync(struct slgt_info *info, int if_mode); 524 static int get_xctrl(struct slgt_info *info, int __user *if_mode); 525 static int set_xctrl(struct slgt_info *info, int if_mode); 530 static void add_device(struct slgt_info *info); 532 static int claim_resources(struct slgt_info *info); 533 static void release_resources(struct slgt_info *info); 552 static void trace_block(struct slgt_info *info, const char *data, int count, const char *label) trace_block() 579 static void dump_tbufs(struct slgt_info *info) dump_tbufs() 593 static void dump_rbufs(struct slgt_info *info) dump_rbufs() 606 static inline int sanity_check(struct slgt_info *info, char *devname, const char *name) sanity_check() 610 printk("null struct slgt_info for (%s) in %s\n", devname, name); sanity_check() 614 printk("bad magic number struct slgt_info (%s) in %s\n", devname, name); sanity_check() 650 struct slgt_info *info; open() 719 struct slgt_info *info = tty->driver_data; close() 745 struct slgt_info *info = tty->driver_data; hangup() 769 struct slgt_info *info = tty->driver_data; set_termios() 806 static void update_tx_timer(struct slgt_info *info) update_tx_timer() 822 struct slgt_info *info = tty->driver_data; write() 856 struct slgt_info *info = tty->driver_data; put_char() 876 struct slgt_info *info = tty->driver_data; send_xchar() 893 struct slgt_info *info = tty->driver_data; wait_until_sent() 935 struct slgt_info *info = tty->driver_data; write_room() 947 struct slgt_info *info = tty->driver_data; flush_chars() 968 struct slgt_info *info = tty->driver_data; flush_buffer() 987 struct slgt_info *info = tty->driver_data; tx_hold() 1004 struct slgt_info *info = tty->driver_data; tx_release() 1030 struct slgt_info *info = tty->driver_data; ioctl() 1107 struct slgt_info *info = tty->driver_data; get_icount() 1134 static long get_params32(struct slgt_info *info, struct MGSL_PARAMS32 __user *user_params) get_params32() 1158 static long set_params32(struct slgt_info *info, struct MGSL_PARAMS32 __user *new_params) set_params32() 1194 struct slgt_info *info = tty->driver_data; slgt_compat_ioctl() 1244 static inline void line_info(struct seq_file *m, struct slgt_info *info) line_info() 1313 struct slgt_info *info; synclink_gt_proc_show() 1343 struct slgt_info *info = tty->driver_data; chars_in_buffer() 1357 struct slgt_info *info = tty->driver_data; throttle() 1378 struct slgt_info *info = tty->driver_data; unthrottle() 1404 struct slgt_info *info = tty->driver_data; set_break() 1438 struct slgt_info *info = dev_to_port(dev); hdlcdev_attach() 1485 struct slgt_info *info = dev_to_port(dev); hdlcdev_xmit() 1523 struct slgt_info *info = dev_to_port(dev); hdlcdev_open() 1584 struct slgt_info *info = dev_to_port(dev); hdlcdev_close() 1618 struct slgt_info *info = dev_to_port(dev); hdlcdev_ioctl() 1715 struct slgt_info *info = dev_to_port(dev); hdlcdev_tx_timeout() 1736 static void hdlcdev_tx_done(struct slgt_info *info) hdlcdev_tx_done() 1750 static void hdlcdev_rx(struct slgt_info *info, char *buf, int size) hdlcdev_rx() 1790 static int hdlcdev_init(struct slgt_info *info) hdlcdev_init() 1837 static void hdlcdev_exit(struct slgt_info *info) hdlcdev_exit() 1849 static void rx_async(struct slgt_info *info) rx_async() 1919 static int bh_action(struct slgt_info *info) bh_action() 1952 struct slgt_info *info = container_of(work, struct slgt_info, task); bh_handler() 1997 static void bh_transmit(struct slgt_info *info) bh_transmit() 2006 static void dsr_change(struct slgt_info *info, unsigned short status) dsr_change() 2026 static void cts_change(struct slgt_info *info, unsigned short status) cts_change() 2061 static void dcd_change(struct slgt_info *info, unsigned short status) dcd_change() 2098 static void ri_change(struct slgt_info *info, unsigned short status) ri_change() 2118 static void isr_rxdata(struct slgt_info *info) isr_rxdata() 2152 static void isr_serial(struct slgt_info *info) isr_serial() 2209 static void isr_rdma(struct slgt_info *info) isr_rdma() 2235 static void isr_tdma(struct slgt_info *info) isr_tdma() 2266 static bool unsent_tbufs(struct slgt_info *info) unsent_tbufs() 2290 static void isr_txeom(struct slgt_info *info, unsigned short status) isr_txeom() 2340 static void isr_gpio(struct slgt_info *info, unsigned int changed, unsigned int state) isr_gpio() 2365 struct slgt_info *info = dev_id; slgt_interrupt() 2407 struct slgt_info *port = info->port_array[i]; slgt_interrupt() 2425 static int startup(struct slgt_info *info) startup() 2458 static void shutdown(struct slgt_info *info) shutdown() 2500 static void program_hw(struct slgt_info *info) program_hw() 2535 static void change_params(struct slgt_info *info) change_params() 2615 static int get_stats(struct slgt_info *info, struct mgsl_icount __user *user_icount) get_stats() 2627 static int get_params(struct slgt_info *info, MGSL_PARAMS __user *user_params) get_params() 2635 static int set_params(struct slgt_info *info, MGSL_PARAMS __user *new_params) set_params() 2656 static int get_txidle(struct slgt_info *info, int __user *idle_mode) get_txidle() 2664 static int set_txidle(struct slgt_info *info, int idle_mode) set_txidle() 2676 static int tx_enable(struct slgt_info *info, int enable) tx_enable() 2695 static int tx_abort(struct slgt_info *info) tx_abort() 2705 static int rx_enable(struct slgt_info *info, int enable) rx_enable() 2755 static int wait_mgsl_event(struct slgt_info *info, int __user *mask_ptr) wait_mgsl_event() 2869 static int get_interface(struct slgt_info *info, int __user *if_mode) get_interface() 2877 static int set_interface(struct slgt_info *info, int if_mode) set_interface() 2900 static int get_xsync(struct slgt_info *info, int __user *xsync) get_xsync() 2914 static int set_xsync(struct slgt_info *info, int xsync) set_xsync() 2926 static int get_xctrl(struct slgt_info *info, int __user *xctrl) get_xctrl() 2951 static int set_xctrl(struct slgt_info *info, int xctrl) set_xctrl() 2972 static int set_gpio(struct slgt_info *info, struct gpio_desc __user *user_gpio) set_gpio() 3007 static int get_gpio(struct slgt_info *info, struct gpio_desc __user *user_gpio) get_gpio() 3081 static int wait_gpio(struct slgt_info *info, struct gpio_desc __user *user_gpio) wait_gpio() 3132 static int modem_input_wait(struct slgt_info *info,int arg) modem_input_wait() 3187 struct slgt_info *info = tty->driver_data; tiocmget() 3216 struct slgt_info *info = tty->driver_data; tiocmset() 3239 struct slgt_info *info = container_of(port, struct slgt_info, port); carrier_raised() 3250 struct slgt_info *info = container_of(port, struct slgt_info, port); dtr_rts() 3266 struct slgt_info *info) block_til_ready() 3348 static int alloc_tmp_rbuf(struct slgt_info *info) alloc_tmp_rbuf() 3363 static void free_tmp_rbuf(struct slgt_info *info) free_tmp_rbuf() 3374 static int alloc_desc(struct slgt_info *info) alloc_desc() 3420 static void free_desc(struct slgt_info *info) free_desc() 3430 static int alloc_bufs(struct slgt_info *info, struct slgt_desc *bufs, int count) alloc_bufs() 3441 static void free_bufs(struct slgt_info *info, struct slgt_desc *bufs, int count) free_bufs() 3452 static int alloc_dma_bufs(struct slgt_info *info) alloc_dma_bufs() 3468 static void free_dma_bufs(struct slgt_info *info) free_dma_bufs() 3478 static int claim_resources(struct slgt_info *info) claim_resources() 3503 static void release_resources(struct slgt_info *info) release_resources() 3524 static void add_device(struct slgt_info *info) add_device() 3542 struct slgt_info *current_dev = slgt_device_list; add_device() 3587 static struct slgt_info *alloc_dev(int adapter_num, int port_num, struct pci_dev *pdev) alloc_dev() 3589 struct slgt_info *info; alloc_dev() 3591 info = kzalloc(sizeof(struct slgt_info), GFP_KERNEL); alloc_dev() 3633 struct slgt_info *port_array[SLGT_MAX_PORTS]; device_init() 3693 struct slgt_info *info = port_array[i]; device_init() 3744 struct slgt_info *info; slgt_cleanup() 3745 struct slgt_info *tmp; slgt_cleanup() 3861 static __u8 rd_reg8(struct slgt_info *info, unsigned int addr) rd_reg8() 3867 static void wr_reg8(struct slgt_info *info, unsigned int addr, __u8 value) wr_reg8() 3873 static __u16 rd_reg16(struct slgt_info *info, unsigned int addr) rd_reg16() 3879 static void wr_reg16(struct slgt_info *info, unsigned int addr, __u16 value) wr_reg16() 3885 static __u32 rd_reg32(struct slgt_info *info, unsigned int addr) rd_reg32() 3891 static void wr_reg32(struct slgt_info *info, unsigned int addr, __u32 value) wr_reg32() 3897 static void rdma_reset(struct slgt_info *info) rdma_reset() 3910 static void tdma_reset(struct slgt_info *info) tdma_reset() 3928 static void enable_loopback(struct slgt_info *info) enable_loopback() 3955 static void set_rate(struct slgt_info *info, u32 rate) set_rate() 3974 static void rx_stop(struct slgt_info *info) rx_stop() 3994 static void rx_start(struct slgt_info *info) rx_start() 4043 static void tx_start(struct slgt_info *info) tx_start() 4081 static void tx_stop(struct slgt_info *info) tx_stop() 4104 static void reset_port(struct slgt_info *info) reset_port() 4118 static void reset_adapter(struct slgt_info *info) reset_adapter() 4127 static void async_mode(struct slgt_info *info) async_mode() 4268 static void sync_mode(struct slgt_info *info) sync_mode() 4493 static void tx_set_idle(struct slgt_info *info) tx_set_idle() 4535 static void get_signals(struct slgt_info *info) get_signals() 4555 static void msc_set_vcr(struct slgt_info *info) msc_set_vcr() 4597 static void set_signals(struct slgt_info *info) set_signals() 4614 static void free_rbufs(struct slgt_info *info, unsigned int i, unsigned int last) free_rbufs() 4633 static void reset_rbufs(struct slgt_info *info) reset_rbufs() 4645 static bool rx_get_frame(struct slgt_info *info) rx_get_frame() 4782 static bool rx_get_buf(struct slgt_info *info) rx_get_buf() 4808 static void reset_tbufs(struct slgt_info *info) reset_tbufs() 4821 static unsigned int free_tbuf_count(struct slgt_info *info) free_tbuf_count() 4846 static unsigned int tbuf_bytes(struct slgt_info *info) tbuf_bytes() 4896 static bool tx_load(struct slgt_info *info, const char *buf, unsigned int size) tx_load() 4963 static int register_test(struct slgt_info *info) register_test() 4985 static int irq_test(struct slgt_info *info) irq_test() 5027 static int loopback_test_rx(struct slgt_info *info) loopback_test_rx() 5051 static int loopback_test(struct slgt_info *info) loopback_test() 5111 static int adapter_test(struct slgt_info *info) adapter_test() 5131 struct slgt_info *info = (struct slgt_info*)context; tx_timeout() 5155 struct slgt_info *info = (struct slgt_info*)context; rx_timeout()
|