rtl818x: add comments to explain few not obvious HW configs.
authorandrea merello <andrea.merello@gmail.com>
Tue, 18 Feb 2014 01:10:44 +0000 (02:10 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Feb 2014 19:08:28 +0000 (14:08 -0500)
Certain HW options (TX packet retry count, CW configuration and
TX power configuration) can be specified in both the TX packet
descriptor and also into HW "global" registers.

The HW is thus configured to honour the global register or the
TX descriptor field depending by the case.

This patch adds few comments that hopefully clarify in which cases
the driver uses one method and in which cases it uses the other.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtl818x/rtl8180/dev.c

index a9af83ef24adc85de7d17274596566f404b4734d..1f2462e9252821ce21c394cae1417c1513207788 100644 (file)
@@ -627,11 +627,23 @@ static int rtl8180_start(struct ieee80211_hw *dev)
 
        if (priv->r8185) {
                reg = rtl818x_ioread8(priv, &priv->map->CW_CONF);
+
+               /* CW is not on per-packet basis.
+                * in rtl8185 the CW_VALUE reg is used.
+                */
                reg &= ~RTL818X_CW_CONF_PERPACKET_CW;
+               /* retry limit IS on per-packet basis.
+                * the short and long retry limit in TX_CONF
+                * reg are ignored
+                */
                reg |= RTL818X_CW_CONF_PERPACKET_RETRY;
                rtl818x_iowrite8(priv, &priv->map->CW_CONF, reg);
 
                reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
+               /* TX antenna and TX gain are not on per-packet basis.
+                * TX Antenna is selected by ANTSEL reg (RX in BB regs).
+                * TX gain is selected with CCK_TX_AGC and OFDM_TX_AGC regs
+                */
                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_GAIN;
                reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL;
                reg |=  RTL818X_TX_AGC_CTL_FEEDBACK_ANT;