mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-01 00:23:00 +00:00
staging: vt6655: mac80211 conversion: changes to CARDbSetPhyParameter
CARDbSetPhyParameter appears to use two different strutures to find supported rates. Remove PWLAN_IE_SUPP_RATES and use basic_rates to find rates supported. mac80211 now sets bShortSlotTime, bBarkerPreambleMd and byPreambleType remove these. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e99d357c6f
commit
0614a0e84d
@ -74,15 +74,6 @@
|
|||||||
|
|
||||||
#define WAIT_BEACON_TX_DOWN_TMO 3 /* Times */
|
#define WAIT_BEACON_TX_DOWN_TMO 3 /* Times */
|
||||||
|
|
||||||
/* 1M, 2M, 5M, 11M, 18M, 24M, 36M, 54M */
|
|
||||||
static unsigned char abyDefaultSuppRatesG[] = {WLAN_EID_SUPP_RATES, 8, 0x02, 0x04, 0x0B, 0x16, 0x24, 0x30, 0x48, 0x6C};
|
|
||||||
/* 6M, 9M, 12M, 48M */
|
|
||||||
static unsigned char abyDefaultExtSuppRatesG[] = {WLAN_EID_EXTSUPP_RATES, 4, 0x0C, 0x12, 0x18, 0x60};
|
|
||||||
/* 6M, 9M, 12M, 18M, 24M, 36M, 48M, 54M */
|
|
||||||
static unsigned char abyDefaultSuppRatesA[] = {WLAN_EID_SUPP_RATES, 8, 0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, 0x6C};
|
|
||||||
/* 1M, 2M, 5M, 11M, */
|
|
||||||
static unsigned char abyDefaultSuppRatesB[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16};
|
|
||||||
|
|
||||||
/*--------------------- Static Variables --------------------------*/
|
/*--------------------- Static Variables --------------------------*/
|
||||||
|
|
||||||
static const unsigned short cwRXBCNTSFOff[MAX_RATE] =
|
static const unsigned short cwRXBCNTSFOff[MAX_RATE] =
|
||||||
@ -384,14 +375,10 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
unsigned char bySIFS = 0;
|
unsigned char bySIFS = 0;
|
||||||
unsigned char byDIFS = 0;
|
unsigned char byDIFS = 0;
|
||||||
unsigned char byData;
|
unsigned char byData;
|
||||||
PWLAN_IE_SUPP_RATES pSupportRates = (PWLAN_IE_SUPP_RATES) pvSupportRateIEs;
|
int i;
|
||||||
PWLAN_IE_SUPP_RATES pExtSupportRates = (PWLAN_IE_SUPP_RATES) pvExtSupportRateIEs;
|
|
||||||
|
|
||||||
/* Set SIFS, DIFS, EIFS, SlotTime, CwMin */
|
/* Set SIFS, DIFS, EIFS, SlotTime, CwMin */
|
||||||
if (ePHYType == PHY_TYPE_11A) {
|
if (ePHYType == PHY_TYPE_11A) {
|
||||||
if (pSupportRates == NULL)
|
|
||||||
pSupportRates = (PWLAN_IE_SUPP_RATES) abyDefaultSuppRatesA;
|
|
||||||
|
|
||||||
if (pDevice->byRFType == RF_AIROHA7230) {
|
if (pDevice->byRFType == RF_AIROHA7230) {
|
||||||
/* AL7230 use single PAPE and connect to PAPE_2.4G */
|
/* AL7230 use single PAPE and connect to PAPE_2.4G */
|
||||||
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11G);
|
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11G);
|
||||||
@ -419,9 +406,6 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
byDIFS = C_SIFS_A + 2*C_SLOT_SHORT;
|
byDIFS = C_SIFS_A + 2*C_SLOT_SHORT;
|
||||||
byCWMaxMin = 0xA4;
|
byCWMaxMin = 0xA4;
|
||||||
} else if (ePHYType == PHY_TYPE_11B) {
|
} else if (ePHYType == PHY_TYPE_11B) {
|
||||||
if (pSupportRates == NULL)
|
|
||||||
pSupportRates = (PWLAN_IE_SUPP_RATES) abyDefaultSuppRatesB;
|
|
||||||
|
|
||||||
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11B);
|
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11B);
|
||||||
if (pDevice->byRFType == RF_AIROHA7230) {
|
if (pDevice->byRFType == RF_AIROHA7230) {
|
||||||
pDevice->abyBBVGA[0] = 0x1C;
|
pDevice->abyBBVGA[0] = 0x1C;
|
||||||
@ -445,10 +429,6 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
byDIFS = C_SIFS_BG + 2*C_SLOT_LONG;
|
byDIFS = C_SIFS_BG + 2*C_SLOT_LONG;
|
||||||
byCWMaxMin = 0xA5;
|
byCWMaxMin = 0xA5;
|
||||||
} else { /* PK_TYPE_11GA & PK_TYPE_11GB */
|
} else { /* PK_TYPE_11GA & PK_TYPE_11GB */
|
||||||
if (pSupportRates == NULL) {
|
|
||||||
pSupportRates = (PWLAN_IE_SUPP_RATES) abyDefaultSuppRatesG;
|
|
||||||
pExtSupportRates = (PWLAN_IE_SUPP_RATES) abyDefaultExtSuppRatesG;
|
|
||||||
}
|
|
||||||
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11G);
|
MACvSetBBType(pDevice->PortOffset, BB_TYPE_11G);
|
||||||
if (pDevice->byRFType == RF_AIROHA7230) {
|
if (pDevice->byRFType == RF_AIROHA7230) {
|
||||||
pDevice->abyBBVGA[0] = 0x1C;
|
pDevice->abyBBVGA[0] = 0x1C;
|
||||||
@ -468,32 +448,22 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
}
|
}
|
||||||
BBbWriteEmbedded(pDevice->PortOffset, 0x88, 0x08);
|
BBbWriteEmbedded(pDevice->PortOffset, 0x88, 0x08);
|
||||||
bySIFS = C_SIFS_BG;
|
bySIFS = C_SIFS_BG;
|
||||||
if (VNTWIFIbIsShortSlotTime(wCapInfo)) {
|
|
||||||
|
if (pDevice->bShortSlotTime) {
|
||||||
bySlot = C_SLOT_SHORT;
|
bySlot = C_SLOT_SHORT;
|
||||||
byDIFS = C_SIFS_BG + 2*C_SLOT_SHORT;
|
byDIFS = C_SIFS_BG + 2*C_SLOT_SHORT;
|
||||||
} else {
|
} else {
|
||||||
bySlot = C_SLOT_LONG;
|
bySlot = C_SLOT_LONG;
|
||||||
byDIFS = C_SIFS_BG + 2*C_SLOT_LONG;
|
byDIFS = C_SIFS_BG + 2*C_SLOT_LONG;
|
||||||
}
|
}
|
||||||
if (VNTWIFIbyGetMaxSupportRate(pSupportRates, pExtSupportRates) > RATE_11M)
|
|
||||||
byCWMaxMin = 0xA4;
|
|
||||||
else
|
|
||||||
byCWMaxMin = 0xA5;
|
|
||||||
|
|
||||||
if (pDevice->bProtectMode != VNTWIFIbIsProtectMode(byERPField)) {
|
byCWMaxMin = 0xa4;
|
||||||
pDevice->bProtectMode = VNTWIFIbIsProtectMode(byERPField);
|
|
||||||
if (pDevice->bProtectMode)
|
|
||||||
MACvEnableProtectMD(pDevice->PortOffset);
|
|
||||||
else
|
|
||||||
MACvDisableProtectMD(pDevice->PortOffset);
|
|
||||||
|
|
||||||
}
|
for (i = RATE_54M; i >= RATE_6M; i--) {
|
||||||
if (pDevice->bBarkerPreambleMd != VNTWIFIbIsBarkerMode(byERPField)) {
|
if (pDevice->basic_rates & ((u32)(0x1 << i))) {
|
||||||
pDevice->bBarkerPreambleMd = VNTWIFIbIsBarkerMode(byERPField);
|
byCWMaxMin |= 0x1;
|
||||||
if (pDevice->bBarkerPreambleMd)
|
break;
|
||||||
MACvEnableBarkerPreambleMd(pDevice->PortOffset);
|
}
|
||||||
else
|
|
||||||
MACvDisableBarkerPreambleMd(pDevice->PortOffset);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,10 +496,6 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
if (pDevice->bySlot != bySlot) {
|
if (pDevice->bySlot != bySlot) {
|
||||||
pDevice->bySlot = bySlot;
|
pDevice->bySlot = bySlot;
|
||||||
VNSvOutPortB(pDevice->PortOffset + MAC_REG_SLOT, pDevice->bySlot);
|
VNSvOutPortB(pDevice->PortOffset + MAC_REG_SLOT, pDevice->bySlot);
|
||||||
if (pDevice->bySlot == C_SLOT_SHORT)
|
|
||||||
pDevice->bShortSlotTime = true;
|
|
||||||
else
|
|
||||||
pDevice->bShortSlotTime = false;
|
|
||||||
|
|
||||||
BBvSetShortSlotTime(pDevice);
|
BBvSetShortSlotTime(pDevice);
|
||||||
}
|
}
|
||||||
@ -537,14 +503,9 @@ bool CARDbSetPhyParameter(struct vnt_private *pDevice, CARD_PHY_TYPE ePHYType,
|
|||||||
pDevice->byCWMaxMin = byCWMaxMin;
|
pDevice->byCWMaxMin = byCWMaxMin;
|
||||||
VNSvOutPortB(pDevice->PortOffset + MAC_REG_CWMAXMIN0, pDevice->byCWMaxMin);
|
VNSvOutPortB(pDevice->PortOffset + MAC_REG_CWMAXMIN0, pDevice->byCWMaxMin);
|
||||||
}
|
}
|
||||||
if (VNTWIFIbIsShortPreamble(wCapInfo))
|
|
||||||
pDevice->byPreambleType = pDevice->byShortPreamble;
|
|
||||||
else
|
|
||||||
pDevice->byPreambleType = 0;
|
|
||||||
|
|
||||||
s_vSetRSPINF(pDevice, ePHYType, pSupportRates, pExtSupportRates);
|
s_vSetRSPINF(pDevice, ePHYType, NULL, NULL);
|
||||||
pDevice->eCurrentPHYType = ePHYType;
|
|
||||||
/* set for NDIS OID_802_11SUPPORTED_RATES */
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user