68 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/*3 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.4 * All rights reserved.5 *6 * Purpose:7 *8 * Author: Warren Hsu9 *10 * Date: Mar. 30, 200511 *12 */13 14#ifndef __USBPIPE_H__15#define __USBPIPE_H__16 17#include "device.h"18 19struct vnt_interrupt_data {20 u8 tsr0;21 u8 pkt0;22 u16 time0;23 u8 tsr1;24 u8 pkt1;25 u16 time1;26 u8 tsr2;27 u8 pkt2;28 u16 time2;29 u8 tsr3;30 u8 pkt3;31 u16 time3;32 __le64 tsf;33 u8 isr0;34 u8 isr1;35 u8 rts_success;36 u8 rts_fail;37 u8 ack_fail;38 u8 fcs_err;39 u8 sw[2];40} __packed;41 42struct vnt_tx_usb_header {43 u8 type;44 u8 pkt_no;45 __le16 tx_byte_count;46} __packed;47 48#define VNT_REG_BLOCK_SIZE 6449 50int vnt_control_out(struct vnt_private *priv, u8 request, u16 value,51 u16 index, u16 length, const u8 *buffer);52int vnt_control_in(struct vnt_private *priv, u8 request, u16 value,53 u16 index, u16 length, u8 *buffer);54 55int vnt_control_out_u8(struct vnt_private *priv, u8 reg, u8 ref_off, u8 data);56int vnt_control_in_u8(struct vnt_private *priv, u8 reg, u8 reg_off, u8 *data);57 58int vnt_control_out_blocks(struct vnt_private *priv,59 u16 block, u8 reg, u16 len, const u8 *data);60 61int vnt_start_interrupt_urb(struct vnt_private *priv);62int vnt_submit_rx_urb(struct vnt_private *priv, struct vnt_rcb *rcb);63int vnt_tx_context(struct vnt_private *priv,64 struct vnt_usb_send_context *context,65 struct sk_buff *skb);66 67#endif /* __USBPIPE_H__ */68