Author: adrian
Date: Tue May  3 03:24:27 2016
New Revision: 298952
URL: https://svnweb.freebsd.org/changeset/base/298952

Log:
  [bwn] migrate bwn_dummy_transmission() back to main, as it'll be used by 
other PHYs.
  
  The Linux b43 driver uses this in other PHYs besides the g PHY.

Modified:
  head/sys/dev/bwn/if_bwn.c
  head/sys/dev/bwn/if_bwn_misc.h
  head/sys/dev/bwn/if_bwn_phy_g.c

Modified: head/sys/dev/bwn/if_bwn.c
==============================================================================
--- head/sys/dev/bwn/if_bwn.c   Tue May  3 01:17:40 2016        (r298951)
+++ head/sys/dev/bwn/if_bwn.c   Tue May  3 03:24:27 2016        (r298952)
@@ -3514,6 +3514,72 @@ bwn_dma_ring_addr(void *arg, bus_dma_seg
 }
 
 void
+bwn_dummy_transmission(struct bwn_mac *mac, int ofdm, int paon)
+{
+       struct bwn_phy *phy = &mac->mac_phy;
+       struct bwn_softc *sc = mac->mac_sc;
+       unsigned int i, max_loop;
+       uint16_t value;
+       uint32_t buffer[5] = {
+               0x00000000, 0x00d40000, 0x00000000, 0x01000000, 0x00000000
+       };
+
+       if (ofdm) {
+               max_loop = 0x1e;
+               buffer[0] = 0x000201cc;
+       } else {
+               max_loop = 0xfa;
+               buffer[0] = 0x000b846e;
+       }
+
+       BWN_ASSERT_LOCKED(mac->mac_sc);
+
+       for (i = 0; i < 5; i++)
+               bwn_ram_write(mac, i * 4, buffer[i]);
+
+       BWN_WRITE_2(mac, 0x0568, 0x0000);
+       BWN_WRITE_2(mac, 0x07c0,
+           (siba_get_revid(sc->sc_dev) < 11) ? 0x0000 : 0x0100);
+       value = ((phy->type == BWN_PHYTYPE_A) ? 0x41 : 0x40);
+       BWN_WRITE_2(mac, 0x050c, value);
+       if (phy->type == BWN_PHYTYPE_LP)
+               BWN_WRITE_2(mac, 0x0514, 0x1a02);
+       BWN_WRITE_2(mac, 0x0508, 0x0000);
+       BWN_WRITE_2(mac, 0x050a, 0x0000);
+       BWN_WRITE_2(mac, 0x054c, 0x0000);
+       BWN_WRITE_2(mac, 0x056a, 0x0014);
+       BWN_WRITE_2(mac, 0x0568, 0x0826);
+       BWN_WRITE_2(mac, 0x0500, 0x0000);
+       if (phy->type == BWN_PHYTYPE_LP)
+               BWN_WRITE_2(mac, 0x0502, 0x0050);
+       else
+               BWN_WRITE_2(mac, 0x0502, 0x0030);
+
+       if (phy->rf_ver == 0x2050 && phy->rf_rev <= 0x5)
+               BWN_RF_WRITE(mac, 0x0051, 0x0017);
+       for (i = 0x00; i < max_loop; i++) {
+               value = BWN_READ_2(mac, 0x050e);
+               if (value & 0x0080)
+                       break;
+               DELAY(10);
+       }
+       for (i = 0x00; i < 0x0a; i++) {
+               value = BWN_READ_2(mac, 0x050e);
+               if (value & 0x0400)
+                       break;
+               DELAY(10);
+       }
+       for (i = 0x00; i < 0x19; i++) {
+               value = BWN_READ_2(mac, 0x0690);
+               if (!(value & 0x0100))
+                       break;
+               DELAY(10);
+       }
+       if (phy->rf_ver == 0x2050 && phy->rf_rev <= 0x5)
+               BWN_RF_WRITE(mac, 0x0051, 0x0037);
+}
+
+void
 bwn_ram_write(struct bwn_mac *mac, uint16_t offset, uint32_t val)
 {
        uint32_t macctl;

Modified: head/sys/dev/bwn/if_bwn_misc.h
==============================================================================
--- head/sys/dev/bwn/if_bwn_misc.h      Tue May  3 01:17:40 2016        
(r298951)
+++ head/sys/dev/bwn/if_bwn_misc.h      Tue May  3 03:24:27 2016        
(r298952)
@@ -43,6 +43,8 @@ struct bwn_mac;
 extern uint64_t        bwn_hf_read(struct bwn_mac *);
 extern void    bwn_hf_write(struct bwn_mac *, uint64_t);
 
+extern void    bwn_dummy_transmission(struct bwn_mac *mac, int ofdm, int paon);
+
 extern void    bwn_ram_write(struct bwn_mac *, uint16_t, uint32_t);
 
 extern void    bwn_mac_suspend(struct bwn_mac *);

Modified: head/sys/dev/bwn/if_bwn_phy_g.c
==============================================================================
--- head/sys/dev/bwn/if_bwn_phy_g.c     Tue May  3 01:17:40 2016        
(r298951)
+++ head/sys/dev/bwn/if_bwn_phy_g.c     Tue May  3 03:24:27 2016        
(r298952)
@@ -103,7 +103,6 @@ static void bwn_spu_workaround(struct bw
 static void    bwn_wa_init(struct bwn_mac *);
 static void    bwn_ofdmtab_write_2(struct bwn_mac *, uint16_t, uint16_t,
                    uint16_t);
-static void    bwn_dummy_transmission(struct bwn_mac *, int, int);
 static void    bwn_ofdmtab_write_4(struct bwn_mac *, uint16_t, uint16_t,
                    uint32_t);
 static void    bwn_gtab_write(struct bwn_mac *, uint16_t, uint16_t,
@@ -1893,72 +1892,6 @@ bwn_gtab_write(struct bwn_mac *mac, uint
 }
 
 static void
-bwn_dummy_transmission(struct bwn_mac *mac, int ofdm, int paon)
-{
-       struct bwn_phy *phy = &mac->mac_phy;
-       struct bwn_softc *sc = mac->mac_sc;
-       unsigned int i, max_loop;
-       uint16_t value;
-       uint32_t buffer[5] = {
-               0x00000000, 0x00d40000, 0x00000000, 0x01000000, 0x00000000
-       };
-
-       if (ofdm) {
-               max_loop = 0x1e;
-               buffer[0] = 0x000201cc;
-       } else {
-               max_loop = 0xfa;
-               buffer[0] = 0x000b846e;
-       }
-
-       BWN_ASSERT_LOCKED(mac->mac_sc);
-
-       for (i = 0; i < 5; i++)
-               bwn_ram_write(mac, i * 4, buffer[i]);
-
-       BWN_WRITE_2(mac, 0x0568, 0x0000);
-       BWN_WRITE_2(mac, 0x07c0,
-           (siba_get_revid(sc->sc_dev) < 11) ? 0x0000 : 0x0100);
-       value = ((phy->type == BWN_PHYTYPE_A) ? 0x41 : 0x40);
-       BWN_WRITE_2(mac, 0x050c, value);
-       if (phy->type == BWN_PHYTYPE_LP)
-               BWN_WRITE_2(mac, 0x0514, 0x1a02);
-       BWN_WRITE_2(mac, 0x0508, 0x0000);
-       BWN_WRITE_2(mac, 0x050a, 0x0000);
-       BWN_WRITE_2(mac, 0x054c, 0x0000);
-       BWN_WRITE_2(mac, 0x056a, 0x0014);
-       BWN_WRITE_2(mac, 0x0568, 0x0826);
-       BWN_WRITE_2(mac, 0x0500, 0x0000);
-       if (phy->type == BWN_PHYTYPE_LP)
-               BWN_WRITE_2(mac, 0x0502, 0x0050);
-       else
-               BWN_WRITE_2(mac, 0x0502, 0x0030);
-
-       if (phy->rf_ver == 0x2050 && phy->rf_rev <= 0x5)
-               BWN_RF_WRITE(mac, 0x0051, 0x0017);
-       for (i = 0x00; i < max_loop; i++) {
-               value = BWN_READ_2(mac, 0x050e);
-               if (value & 0x0080)
-                       break;
-               DELAY(10);
-       }
-       for (i = 0x00; i < 0x0a; i++) {
-               value = BWN_READ_2(mac, 0x050e);
-               if (value & 0x0400)
-                       break;
-               DELAY(10);
-       }
-       for (i = 0x00; i < 0x19; i++) {
-               value = BWN_READ_2(mac, 0x0690);
-               if (!(value & 0x0100))
-                       break;
-               DELAY(10);
-       }
-       if (phy->rf_ver == 0x2050 && phy->rf_rev <= 0x5)
-               BWN_RF_WRITE(mac, 0x0051, 0x0037);
-}
-
-static void
 bwn_lo_write(struct bwn_mac *mac, struct bwn_loctl *ctl)
 {
        uint16_t value;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to