From 9fe109c153f6ffff4186dc7d0275e2a84df6b1e6 Mon Sep 17 00:00:00 2001 From: Malcolm Priestley Date: Sun, 6 Jul 2014 23:19:48 +0100 Subject: [PATCH] staging: vt6656: vnt_update_ifs vendor changes to uSIFS/uDIFS The latest vendor code makes changes to uSIFS and uDIFS. The orginal codes have been rearranged into a fall through switch statement. These reduce the time that device allows to TX packets and improves throughput. Signed-off-by: Malcolm Priestley Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vt6656/card.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/drivers/staging/vt6656/card.c b/drivers/staging/vt6656/card.c index a5f8df173135..ea06b637a328 100644 --- a/drivers/staging/vt6656/card.c +++ b/drivers/staging/vt6656/card.c @@ -408,6 +408,36 @@ void vnt_update_ifs(struct vnt_private *priv) priv->uCwMax = C_CWMAX; priv->uEIFS = C_EIFS; + switch (priv->byRFType) { + case RF_VT3226D0: + if (priv->byBBType != BB_TYPE_11B) { + priv->uSIFS -= 1; + priv->uDIFS -= 1; + break; + } + case RF_AIROHA7230: + case RF_AL2230: + case RF_AL2230S: + if (priv->byBBType != BB_TYPE_11B) + break; + case RF_RFMD2959: + case RF_VT3226: + case RF_VT3342A0: + priv->uSIFS -= 3; + priv->uDIFS -= 3; + break; + case RF_MAXIM2829: + if (priv->byBBType == BB_TYPE_11A) { + priv->uSIFS -= 5; + priv->uDIFS -= 5; + } else { + priv->uSIFS -= 2; + priv->uDIFS -= 2; + } + + break; + } + data[0] = (u8)priv->uSIFS; data[1] = (u8)priv->uDIFS; data[2] = (u8)priv->uEIFS; -- 2.34.1