card.h (2065B)
1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. 4 * All rights reserved. 5 * 6 * Purpose: Provide functions to setup NIC operation mode 7 * 8 * Author: Tevin Chen 9 * 10 * Date: May 21, 1996 11 * 12 */ 13 14#ifndef __CARD_H__ 15#define __CARD_H__ 16 17#include <linux/types.h> 18#include <linux/nl80211.h> 19 20/* 21 * Loopback mode 22 * 23 * LOBYTE is MAC LB mode, HIBYTE is MII LB mode 24 */ 25#define CARD_LB_NONE MAKEWORD(MAC_LB_NONE, 0) 26/* PHY must ISO, avoid MAC loopback packet go out */ 27#define CARD_LB_MAC MAKEWORD(MAC_LB_INTERNAL, 0) 28#define CARD_LB_PHY MAKEWORD(MAC_LB_EXT, 0) 29 30#define DEFAULT_MSDU_LIFETIME 512 /* ms */ 31#define DEFAULT_MSDU_LIFETIME_RES_64us 8000 /* 64us */ 32 33#define DEFAULT_MGN_LIFETIME 8 /* ms */ 34#define DEFAULT_MGN_LIFETIME_RES_64us 125 /* 64us */ 35 36#define CB_MAX_CHANNEL_24G 14 37#define CB_MAX_CHANNEL_5G 42 38#define CB_MAX_CHANNEL (CB_MAX_CHANNEL_24G + CB_MAX_CHANNEL_5G) 39 40struct vnt_private; 41 42void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type); 43void CARDvUpdateBasicTopRate(struct vnt_private *priv); 44bool CARDbIsOFDMinBasicRate(struct vnt_private *priv); 45void CARDvSetFirstNextTBTT(struct vnt_private *priv, 46 unsigned short wBeaconInterval); 47void CARDvUpdateNextTBTT(struct vnt_private *priv, u64 qwTSF, 48 unsigned short wBeaconInterval); 49u64 vt6655_get_current_tsf(struct vnt_private *priv); 50u64 CARDqGetNextTBTT(u64 qwTSF, unsigned short wBeaconInterval); 51u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2); 52unsigned char CARDbyGetPktType(struct vnt_private *priv); 53void CARDvSafeResetTx(struct vnt_private *priv); 54void CARDvSafeResetRx(struct vnt_private *priv); 55void CARDbRadioPowerOff(struct vnt_private *priv); 56bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type); 57bool CARDbUpdateTSF(struct vnt_private *priv, unsigned char byRxRate, 58 u64 qwBSSTimestamp); 59bool CARDbSetBeaconPeriod(struct vnt_private *priv, 60 unsigned short wBeaconInterval); 61 62#endif /* __CARD_H__ */