Linux Audio

Check our new training course

Loading...
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2/*
 3 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 4 * All rights reserved.
 5 *
 6 * File: desc.h
 7 *
 8 * Purpose:The header file of descriptor
 9 *
10 * Revision History:
11 *
12 * Author: Tevin Chen
13 *
14 * Date: May 21, 1996
15 *
16 */
17
18#ifndef __DESC_H__
19#define __DESC_H__
20
21#include <linux/bits.h>
22#include <linux/types.h>
23#include <linux/mm.h>
24
25/* max transmit or receive buffer size */
26#define CB_MAX_BUF_SIZE     2900U       /* NOTE: must be multiple of 4 */
27
28#define MAX_TOTAL_SIZE_WITH_ALL_HEADERS CB_MAX_BUF_SIZE
29
30#define MAX_INTERRUPT_SIZE              32
31
32#define CB_MAX_RX_DESC      128         /* max # of descriptors */
33#define CB_MIN_RX_DESC      16          /* min # of RX descriptors */
34#define CB_MAX_TX_DESC      128         /* max # of descriptors */
35#define CB_MIN_TX_DESC      16          /* min # of TX descriptors */
36
37/*
38 * bits in the RSR register
39 */
40#define RSR_ADDRBROAD       BIT(7)
41#define RSR_ADDRMULTI       BIT(6)
42#define RSR_ADDRUNI         0x00
43#define RSR_IVLDTYP         BIT(5)	/* invalid packet type */
44#define RSR_IVLDLEN         BIT(4)	/* invalid len (> 2312 byte) */
45#define RSR_BSSIDOK         BIT(3)
46#define RSR_CRCOK           BIT(2)
47#define RSR_BCNSSIDOK       BIT(1)
48#define RSR_ADDROK          BIT(0)
49
50/*
51 * bits in the new RSR register
52 */
53#define NEWRSR_DECRYPTOK    BIT(4)
54#define NEWRSR_CFPIND       BIT(3)
55#define NEWRSR_HWUTSF       BIT(2)
56#define NEWRSR_BCNHITAID    BIT(1)
57#define NEWRSR_BCNHITAID0   BIT(0)
58
59/*
60 * bits in the TSR register
61 */
62#define TSR_RETRYTMO        BIT(3)
63#define TSR_TMO             BIT(2)
64#define TSR_ACKDATA         BIT(1)
65#define TSR_VALID           BIT(0)
66
67#define FIFOCTL_AUTO_FB_1   0x1000
68#define FIFOCTL_AUTO_FB_0   0x0800
69#define FIFOCTL_GRPACK      0x0400
70#define FIFOCTL_11GA        0x0300
71#define FIFOCTL_11GB        0x0200
72#define FIFOCTL_11B         0x0100
73#define FIFOCTL_11A         0x0000
74#define FIFOCTL_RTS         0x0080
75#define FIFOCTL_ISDMA0      0x0040
76#define FIFOCTL_GENINT      0x0020
77#define FIFOCTL_TMOEN       0x0010
78#define FIFOCTL_LRETRY      0x0008
79#define FIFOCTL_CRCDIS      0x0004
80#define FIFOCTL_NEEDACK     0x0002
81#define FIFOCTL_LHEAD       0x0001
82
83/* WMAC definition Frag Control */
84#define FRAGCTL_AES         0x0300
85#define FRAGCTL_TKIP        0x0200
86#define FRAGCTL_LEGACY      0x0100
87#define FRAGCTL_NONENCRYPT  0x0000
88#define FRAGCTL_ENDFRAG     0x0003
89#define FRAGCTL_MIDFRAG     0x0002
90#define FRAGCTL_STAFRAG     0x0001
91#define FRAGCTL_NONFRAG     0x0000
92
93#endif /* __DESC_H__ */