linux/drivers/staging/vt6655/card.h
<<
>>
Prefs
   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);
  49bool CARDbGetCurrentTSF(struct vnt_private *priv, u64 *pqwCurrTSF);
  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__ */
  63