Linux Audio

Check our new training course

Loading...
v3.1
 
 1/*
 2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 3 * All rights reserved.
 4 *
 5 * This program is free software; you can redistribute it and/or modify
 6 * it under the terms of the GNU General Public License as published by
 7 * the Free Software Foundation; either version 2 of the License, or
 8 * (at your option) any later version.
 9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 *
20 * File: usbpipe.h
21 *
22 * Purpose:
23 *
24 * Author: Warren Hsu
25 *
26 * Date: Mar. 30, 2005
27 *
28 */
29
30#ifndef __USBPIPE_H__
31#define __USBPIPE_H__
32
33#include "ttype.h"
34#include "device.h"
35
36/*---------------------  Export Definitions -------------------------*/
37
38/*---------------------  Export Classes  ----------------------------*/
39
40/*---------------------  Export Variables  --------------------------*/
41
42/*---------------------  Export Functions  --------------------------*/
43
44int PIPEnsControlOut(
45     PSDevice     pDevice,
46     BYTE         byRequest,
47     WORD         wValue,
48     WORD         wIndex,
49     WORD         wLength,
50     PBYTE        pbyBuffer
51    );
52
53int PIPEnsControlOutAsyn(
54     PSDevice     pDevice,
55     BYTE         byRequest,
56     WORD         wValue,
57     WORD         wIndex,
58     WORD         wLength,
59     PBYTE        pbyBuffer
60    );
61
62int PIPEnsControlIn(
63     PSDevice     pDevice,
64     BYTE         byRequest,
65     WORD         wValue,
66     WORD         wIndex,
67     WORD         wLength,
68       PBYTE   pbyBuffer
69    );
70
71int PIPEnsInterruptRead(PSDevice pDevice);
72int PIPEnsBulkInUsbRead(PSDevice pDevice, PRCB pRCB);
73int PIPEnsSendBulkOut(PSDevice pDevice, PUSB_SEND_CONTEXT pContext);
 
 
 
 
 
 
 
 
 
74
75#endif /* __USBPIPE_H__ */
v5.14.15
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2/*
 3 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 4 * All rights reserved.
 5 *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 6 * File: usbpipe.h
 7 *
 8 * Purpose:
 9 *
10 * Author: Warren Hsu
11 *
12 * Date: Mar. 30, 2005
13 *
14 */
15
16#ifndef __USBPIPE_H__
17#define __USBPIPE_H__
18
 
19#include "device.h"
20
21struct vnt_interrupt_data {
22	u8 tsr0;
23	u8 pkt0;
24	u16 time0;
25	u8 tsr1;
26	u8 pkt1;
27	u16 time1;
28	u8 tsr2;
29	u8 pkt2;
30	u16 time2;
31	u8 tsr3;
32	u8 pkt3;
33	u16 time3;
34	__le64 tsf;
35	u8 isr0;
36	u8 isr1;
37	u8 rts_success;
38	u8 rts_fail;
39	u8 ack_fail;
40	u8 fcs_err;
41	u8 sw[2];
42} __packed;
43
44struct vnt_tx_usb_header {
45	u8 type;
46	u8 pkt_no;
47	__le16 tx_byte_count;
48} __packed;
49
50#define VNT_REG_BLOCK_SIZE	64
51
52int vnt_control_out(struct vnt_private *priv, u8 request, u16 value,
53		    u16 index, u16 length, const u8 *buffer);
54int vnt_control_in(struct vnt_private *priv, u8 request, u16 value,
55		   u16 index, u16 length,  u8 *buffer);
56
57int vnt_control_out_u8(struct vnt_private *priv, u8 reg, u8 ref_off, u8 data);
58int vnt_control_in_u8(struct vnt_private *priv, u8 reg, u8 reg_off, u8 *data);
59
60int vnt_control_out_blocks(struct vnt_private *priv,
61			   u16 block, u8 reg, u16 len, const u8 *data);
62
63int vnt_start_interrupt_urb(struct vnt_private *priv);
64int vnt_submit_rx_urb(struct vnt_private *priv, struct vnt_rcb *rcb);
65int vnt_tx_context(struct vnt_private *priv,
66		   struct vnt_usb_send_context *context,
67		   struct sk_buff *skb);
68
69#endif /* __USBPIPE_H__ */